[elbe-devel] [PATCH 2/4] cdroms: Add class SrcMananager
Torben Hohn
torben.hohn at linutronix.de
Thu Apr 2 14:28:32 CEST 2020
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.
i am not sure, whether components allow having different versions in
a reprepro repository.
I know, that its possible for "distro"
> +
> + def gen(self):
> + for pkg in self.pkgs:
> + for version in self.pkgs[pkg]:
> + for component in self.pkgs[pkg][version]:
> + yield (pkg, version, component)
> +
> + def add_pkg(self, name, version, component):
> + if name in self.pkgs:
> + if version not in self.pkgs[name]:
> + self.pkgs[name][version] = [component]
> + else:
> + self.pkgs[name][version].append(component)
> + else:
> + self.pkgs[name] = {version: [component]}
>
> def mk_source_cdrom(rfs, arch, codename, init_codename, target,
> cdrom_size=CDROM_SIZE, xml=None):
> --
> 2.25.1
>
>
> _______________________________________________
> elbe-devel mailing list
> elbe-devel at linutronix.de
> https://lists.linutronix.de/mailman/listinfo/elbe-devel
--
Torben Hohn
Linutronix GmbH | Bahnhofstrasse 3 | D-88690 Uhldingen-Mühlhofen
Phone: +49 7556 25 999 18; Fax.: +49 7556 25 999 99
Hinweise zum Datenschutz finden Sie hier (Informations on data privacy
can be found here): https://linutronix.de/kontakt/Datenschutz.php
Linutronix GmbH | Firmensitz (Registered Office): Uhldingen-Mühlhofen |
Registergericht (Registration Court): Amtsgericht Freiburg i.Br., HRB700
806 | Geschäftsführer (Managing Directors): Heinz Egger, Thomas Gleixner
More information about the elbe-devel
mailing list