diff options
| author | Robert C Jennings <robert.jennings@canonical.com> | 2017-05-31 16:11:16 -0500 |
|---|---|---|
| committer | Robert C Jennings <robert.jennings@canonical.com> | 2017-05-31 16:11:16 -0500 |
| commit | 642f2e1bc68b632e818bf4828e8a306667db92f5 (patch) | |
| tree | 11b6b9bae17a4a76427611e99f5427ae050769af | |
| parent | 2b042d4de67ca3673ad27d9b2f1c3f790756916b (diff) | |
python3 compatibility changes
bzr-revno: 18.2.3
| -rwxr-xr-x | mfdiff | 48 |
1 files changed, 24 insertions, 24 deletions
@@ -27,6 +27,7 @@ from optparse import OptionParser import apt from debian.changelog import Changelog +from six import iteritems, viewkeys try: from apt import VersionCompare as version_compare @@ -124,7 +125,7 @@ def hashmffile(filename): :param str filename: Name of package manifest file :return: List of package versions by name - :rtype: list + :rtype: dict """ ret = {} @@ -184,7 +185,7 @@ def get_cache(cache_d): def render_block(block): "Render a changelog block to something printable (dropping blank lines)" - return('\n'.join([x.encode('ascii', 'replace') + return('\n'.join([x.encode('ascii', 'replace').decode('ascii') for x in block.changes() if x])) @@ -230,7 +231,7 @@ def main(): # fix up kernels so the pkg names match kfixups = {} kmatch = re.compile("linux-image-[0-9]") - for pkg, ver in h_to.iteritems(): + for pkg in h_to: # if this is a linux-image-* binary package do some hacks to make it # look like h_from is the same (format like # linux-image-2.6.32-32-virtual) @@ -238,30 +239,28 @@ def main(): img_type = pkg[pkg.rfind("-") + 1:] if pkg in h_from: continue - for fpkg, fver in h_from.iteritems(): + for fpkg in h_from: if (kmatch.match(fpkg) and fpkg.endswith("-%s" % img_type)): kfixups[pkg] = fpkg - for pkg_to, pkg_from in kfixups.iteritems(): + for pkg_to, pkg_from in iteritems(kfixups): h_from[pkg_to] = h_from[pkg_from] del h_from[pkg_from] # find new packages in mf2 new = {} - for pkg, ver in h_to.iteritems(): - if pkg not in h_from: - new[pkg] = h_to[pkg] + for pkg in viewkeys(h_to) - viewkeys(h_from): + new[pkg] = h_to[pkg] # find packages removed from mf1 removed = {} - for pkg, ver in h_from.iteritems(): - if pkg not in h_to: - removed[pkg] = h_from[pkg] + for pkg in viewkeys(h_from) - viewkeys(h_to): + removed[pkg] = h_from[pkg] # find modified packages changed = [] - for pkg, ver in h_to.iteritems(): - if pkg in h_from and h_from[pkg] != ver: + for pkg in viewkeys(h_from) & viewkeys(h_to): + if h_from[pkg] != h_to[pkg]: changed.append(pkg) print("new: %s" % new) @@ -285,30 +284,29 @@ def main(): b2s_hash = get_bin2src(changed, cache) - for pkg, src in b2s_hash.iteritems(): - if src not in bin2src: - bin2src[src] = [] - bin2src[src].append(pkg) + for pkg in b2s_hash: + bin2src.setdefault(b2s_hash[pkg], []).append(pkg) - for src, binlist in bin2src.iteritems(): + for src in bin2src: if src not in srcs: srcs[src] = {"changelog_file": "", "changeblocks": []} + binary = bin2src[src][0] try: - pkg_name = binlist[0].split(':')[0] + pkg_name = binary.split(':')[0] versions = cache[pkg_name].versions except KeyError as e: raise Exception( "%s not in cache did not have versions info in cache") - binver_to = h_to[binlist[0]] + binver_to = h_to[binary] try: srcver_to = versions[binver_to].source_version except KeyError as e: raise Exception("bin pkg %s from src %s version %s not in " "binver list (%s)" % - (binlist[0], src, binver_to, versions)) + (binary, src, binver_to, versions)) - binver_from = h_from[binlist[0]] + binver_from = h_from[binary] try: srcver_from = versions[binver_from].source_version except KeyError as e: @@ -348,9 +346,11 @@ def main(): except UnknownSourceVersionError as e: errors.append(e) - for src, binlist in bin2src.iteritems(): + for src in bin2src: + binlist = bin2src[src] + binary = binlist[0] print("==== %s: %s => %s ====" % - (src, h_from[binlist[0]], h_to[binlist[0]])) + (src, h_from[binary], h_to[binary])) print("==== %s" % ' '.join(binlist)) print_blocks(srcs[src]["changeblocks"]) |
