[Collab-qa-commits] r2691 - multi-arch

Jakub Wilk jwilk at alioth.debian.org
Sun May 19 19:47:47 UTC 2013


Author: jwilk
Date: 2013-05-19 19:47:47 +0000 (Sun, 19 May 2013)
New Revision: 2691

Modified:
   multi-arch/md5sum-validator
Log:
Pass text (rather than binary) files to TagFile.


Modified: multi-arch/md5sum-validator
===================================================================
--- multi-arch/md5sum-validator	2013-05-19 10:44:17 UTC (rev 2690)
+++ multi-arch/md5sum-validator	2013-05-19 19:47:47 UTC (rev 2691)
@@ -11,6 +11,7 @@
 
 import argparse
 import collections
+import io
 import dbm
 import os
 import re
@@ -55,8 +56,9 @@
             dist=release_dist
         )
         with misc.download(url) as release_tags:
-            for para in apt_pkg.TagFile(release_tags):
-                options.architectures = para['Architectures'].split()
+            with io.TextIOWrapper(release_tags, encoding='UTF-8') as release_tags:
+                for para in apt_pkg.TagFile(release_tags):
+                    options.architectures = para['Architectures'].split()
     for architecture in options.architectures:
         for section in 'main', 'contrib', 'non-free':
             url = '{mirror}/dists/{dist}/{section}/binary-{arch}/Packages.gz'.format(
@@ -66,14 +68,15 @@
                 arch=architecture
             )
             with misc.download(url, pipe='gzip -dc') as package_tags:
-                for pkgdata in apt_pkg.TagFile(package_tags):
-                    if pkgdata.get('Multi-Arch', '') == 'same':
-                        pkgname = pkgdata['Package']
-                        if pkgname not in options.packages:
-                            continue
-                        pkgversion = pkgdata['Version']
-                        url = '{mirror}/{path}'.format(mirror=options.mirror, path=pkgdata['Filename'])
-                        data[pkgname, pkgversion][architecture] = url
+                with io.TextIOWrapper(package_tags, encoding='UTF-8') as package_tags:
+                    for pkgdata in apt_pkg.TagFile(package_tags):
+                        if pkgdata.get('Multi-Arch', '') == 'same':
+                            pkgname = pkgdata['Package']
+                            if pkgname not in options.packages:
+                                continue
+                            pkgversion = pkgdata['Version']
+                            url = '{mirror}/{path}'.format(mirror=options.mirror, path=pkgdata['Filename'])
+                            data[pkgname, pkgversion][architecture] = url
     last = None
     for (pkgname, pkgversion), urls in sorted(data.items()):
         if len(urls) <= 1:




More information about the Collab-qa-commits mailing list