diff options
author | Helmut Grohne <helmut@subdivi.de> | 2021-12-31 15:24:01 +0100 |
---|---|---|
committer | Helmut Grohne <helmut@subdivi.de> | 2021-12-31 15:24:01 +0100 |
commit | 5b359b10053cbade539246eec26e86b44793ca40 (patch) | |
tree | 6c0f754afd588c65060983ba5e777e1ddd2c1d62 /autoimport.py | |
parent | 1631e91b116ebf04ba9bd332e12c2f165263088b (diff) | |
download | debian-dedup-5b359b10053cbade539246eec26e86b44793ca40.tar.gz |
dedup.utils: uninline helper function iterate_packages
Diffstat (limited to 'autoimport.py')
-rwxr-xr-x | autoimport.py | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/autoimport.py b/autoimport.py index eb610b4..0f518c6 100755 --- a/autoimport.py +++ b/autoimport.py @@ -4,7 +4,6 @@ packages contained. It has rather strong assumptions on the working directory. """ import argparse -import contextlib import errno import multiprocessing import pathlib @@ -14,26 +13,23 @@ import sys import tempfile import urllib.parse import concurrent.futures -from debian import deb822 from debian.debian_support import version_compare -from dedup.utils import open_compressed_mirror_url +from dedup.utils import iterate_packages from readyaml import readyaml def process_http(pkgs, url, addhash=True): - listurl = url + "/dists/sid/main/binary-amd64/Packages" - with contextlib.closing(open_compressed_mirror_url(listurl)) as pkglist: - for pkg in deb822.Packages.iter_paragraphs(pkglist): - name = pkg["Package"] - if name in pkgs and \ - version_compare(pkgs[name]["version"], pkg["Version"]) > 0: - continue - inst = dict(version=pkg["Version"], - filename="%s/%s" % (url, pkg["Filename"])) - if addhash: - inst["sha256hash"] = pkg["SHA256"] - pkgs[name] = inst + for pkg in iterate_packages(url, "amd64"): + name = pkg["Package"] + if name in pkgs and \ + version_compare(pkgs[name]["version"], pkg["Version"]) > 0: + continue + inst = dict(version=pkg["Version"], + filename="%s/%s" % (url, pkg["Filename"])) + if addhash: + inst["sha256hash"] = pkg["SHA256"] + pkgs[name] = inst def process_file(pkgs, filename): if filename.suffix != ".deb": |