From df8de99945722feeb54e1bdc2069f39645b55a88 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 13 May 2019 08:57:34 +0200 Subject: [PATCH] Even more python3 fixes for pkglistgen --- pkglistgen/group.py | 18 +++++++++--------- pkglistgen/tool.py | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/pkglistgen/group.py b/pkglistgen/group.py index 71e2b608..4d426f42 100644 --- a/pkglistgen/group.py +++ b/pkglistgen/group.py @@ -98,8 +98,8 @@ class Group(object): # do not repeat packages def ignore(self, without): for arch in ['*'] + self.pkglist.filtered_architectures: - s = set(without.solved_packages[arch].keys()) - s |= set(without.solved_packages['*'].keys()) + s = set(without.solved_packages[arch]) + s |= set(without.solved_packages['*']) for p in s: self.solved_packages[arch].pop(p, None) for p in without.not_found.keys(): @@ -215,7 +215,7 @@ class Group(object): if not sel.isempty(): jobs += sel.jobs(solv.Job.SOLVER_LOCK) - for n in solved[arch].keys() + suggested.keys(): + for n in list(solved[arch]) + list(suggested): if n in locked: continue sel = pool.select(str(n), solv.Selection.SELECTION_NAME) jobs += sel.jobs(solv.Job.SOLVER_INSTALL) @@ -232,9 +232,9 @@ class Group(object): # compute common packages across all architectures for arch in self.pkglist.filtered_architectures: if common is None: - common = set(solved[arch].keys()) + common = set(solved[arch]) continue - common &= set(solved[arch].keys()) + common &= set(solved[arch]) if common is None: common = set() @@ -266,7 +266,7 @@ class Group(object): if len(packages & mp): overlap.comment += '\n overlapping between ' + self.name + ' and ' + m.name + '\n' for p in sorted(packages & mp): - for arch in m.solved_packages.keys(): + for arch in list(m.solved_packages): if m.solved_packages[arch].get(p, None): overlap.comment += ' # ' + m.name + '.' + arch + ': ' + m.solved_packages[arch][p] + '\n' if self.solved_packages[arch].get(p, None): @@ -287,12 +287,12 @@ class Group(object): else: src = s.lookup_str(solv.SOLVABLE_SOURCENAME) - if src in self.srcpkgs.keys(): + if src in list(self.srcpkgs): self.develpkgs[s.name] = self.srcpkgs[src] def _filter_already_selected(self, modules, pkgdict): # erase our own - so we don't filter our own - for p in pkgdict.keys(): + for p in list(pkgdict): already_present = False for m in modules: for arch in ['*'] + self.pkglist.filtered_architectures: @@ -359,5 +359,5 @@ class Group(object): def summary(self): ret = set() for arch in ['*'] + self.pkglist.filtered_architectures: - ret |= set(self.solved_packages[arch].keys()) + ret |= set(self.solved_packages[arch]) return ret diff --git a/pkglistgen/tool.py b/pkglistgen/tool.py index 960c420c..eb7988e0 100644 --- a/pkglistgen/tool.py +++ b/pkglistgen/tool.py @@ -365,7 +365,7 @@ class PkgListGen(ToolBase.ToolBase): fh = open(solv_file, 'w') p = subprocess.Popen( ['rpms2solv', '-m', '-', '-0'], stdin=subprocess.PIPE, stdout=fh) - p.communicate('\0'.join(files)) + p.communicate(bytes('\0'.join(files), 'utf-8')) p.wait() fh.close() @@ -497,7 +497,7 @@ class PkgListGen(ToolBase.ToolBase): # the yml parser makes an array out of everything, so # we loop a bit more than what we support for group in self.output: - groupname = group.keys()[0] + groupname = list(group)[0] settings = group[groupname] if not settings: # e.g. unsorted settings = {}