[elbe-devel] [PATCH 2/4] cdroms: Add class SrcMananager

Olivier Dion dion at linutronix.de
Sun Apr 12 16:45:09 CEST 2020


On Thu, 02 Apr 2020, Torben Hohn <torben.hohn at linutronix.de> wrote:
> On Mon, Mar 23, 2020 at 02:53:54PM -0400, Olivier Dion wrote:
>> The source manager manage a dictionary of package with their version and
>> components.  It also provide a generator for iterating over a set of
>> tuples of the form (pkg, version, component).
>> 
>> Signed-off-by: Olivier Dion <dion at linutronix.de>
>> ---
>>  elbepack/cdroms.py | 22 ++++++++++++++++++++++
>>  1 file changed, 22 insertions(+)
>> 
>> diff --git a/elbepack/cdroms.py b/elbepack/cdroms.py
>> index 669c3c78..827ddf88 100644
>> --- a/elbepack/cdroms.py
>> +++ b/elbepack/cdroms.py
>> @@ -25,6 +25,28 @@ from elbepack.isooptions import get_iso_options
>>  
>>  CDROM_SIZE = 640 * 1000 * 1000
>>  
>> +class SrcManager(object):
>> +
>> +    def __init__(self):
>> +        self.pkgs = {}
>> +
>> +    def __iter__(self):
>> +        return self.gen()
>
> errm... why do you use gen() ?
> just put the code into the body.

Because an iterator has to keeps track of states, e.g. the index.  The
generator however allows to yield results in tuples without having to keep
states.

-- 
Olivier Dion
Linutronix GmbH | Bahnhofstrasse 3 | D-88690 Uhldingen-Mühlhofen



More information about the elbe-devel mailing list