summaryrefslogtreecommitdiff
path: root/multiarchimport.py
diff options
context:
space:
mode:
authorHelmut Grohne <helmut@subdivi.de>2021-12-31 15:49:14 +0100
committerHelmut Grohne <helmut@subdivi.de>2021-12-31 15:49:14 +0100
commitc57a2009754f9778cc59cdb048cdb5e29496cb5e (patch)
treefe21a8576f6458504530c9a1280389f26225d7b4 /multiarchimport.py
parent1d69436063453f69e33de33697280cef5aba54ee (diff)
downloaddebian-dedup-c57a2009754f9778cc59cdb048cdb5e29496cb5e.tar.gz
multiarchimport.py: use dedup.utils.iterate_packages
Diffstat (limited to 'multiarchimport.py')
-rwxr-xr-xmultiarchimport.py26
1 files changed, 12 insertions, 14 deletions
diff --git a/multiarchimport.py b/multiarchimport.py
index 5eefe4b..af9d1c1 100755
--- a/multiarchimport.py
+++ b/multiarchimport.py
@@ -20,7 +20,7 @@ from debian.debian_support import version_compare
from dedup.debpkg import DebExtractor
from dedup.hashing import hash_file
-from dedup.utils import fetchiter, open_compressed_mirror_url
+from dedup.utils import fetchiter, iterate_packages
def release_architectures(mirror):
with closing(urlopen("%s/dists/testing/Release" % mirror)) as f:
@@ -63,19 +63,17 @@ def gather_pkgmeta(pkg):
def process_list(mirror, architecture):
pkgs = dict()
- url = "%s/dists/sid/main/binary-%s/Packages" % (mirror, architecture)
- with closing(open_compressed_mirror_url(url)) as pkglist:
- for pkg in deb822.Packages.iter_paragraphs(pkglist):
- if pkg["architecture"] != architecture:
- continue # e.g. Arch: all
- try:
- otherver = pkgs[pkg["package"]]["version"]
- except KeyError:
- pass
- else:
- if version_compare(otherver, pkg["version"]) > 0:
- continue
- pkgs[pkg["package"]] = gather_pkgmeta(pkg)
+ for pkg in iterate_packages(mirror, architecture):
+ if pkg["architecture"] != architecture:
+ continue # e.g. Arch: all
+ try:
+ otherver = pkgs[pkg["package"]]["version"]
+ except KeyError:
+ pass
+ else:
+ if version_compare(otherver, pkg["version"]) > 0:
+ continue
+ pkgs[pkg["package"]] = gather_pkgmeta(pkg)
return pkgs
def process_one_list(item):