diff options
author | Helmut Grohne <helmut@subdivi.de> | 2016-05-21 17:54:04 +0200 |
---|---|---|
committer | Helmut Grohne <helmut@subdivi.de> | 2016-05-21 17:54:04 +0200 |
commit | 4789c77936a634dc717f61309503f99a44b610ed (patch) | |
tree | 40e621b92ae1682709ce1f814ceddcbcebb727bb | |
parent | 4cdf80c2ba2535f9a4a66d1bde6f7ac1b380e3d2 (diff) | |
download | debian-dedup-4789c77936a634dc717f61309503f99a44b610ed.tar.gz |
move from deprecated optparse to argparse
-rwxr-xr-x | autoimport.py | 30 | ||||
-rwxr-xr-x | importpkg.py | 16 | ||||
-rwxr-xr-x | readyaml.py | 14 | ||||
-rwxr-xr-x | update_sharing.py | 14 | ||||
-rwxr-xr-x | webapp.py | 14 |
5 files changed, 45 insertions, 43 deletions
diff --git a/autoimport.py b/autoimport.py index 0d26fe4..bbe5029 100755 --- a/autoimport.py +++ b/autoimport.py @@ -3,11 +3,11 @@ packages contained. It has rather strong assumptions on the working directory. """ +import argparse import gzip import errno import io import multiprocessing -import optparse import os import sqlite3 import subprocess @@ -86,22 +86,24 @@ def process_pkg(name, pkgdict, outpath): print("preprocessed %s" % name) def main(): - parser = optparse.OptionParser() - parser.add_option("-n", "--new", action="store_true", - help="avoid reimporting same versions") - parser.add_option("-p", "--prune", action="store_true", - help="prune packages old packages") - parser.add_option("-d", "--database", action="store", - default="test.sqlite3", - help="path to the sqlite3 database file") - options, args = parser.parse_args() + parser = argparse.ArgumentParser() + parser.add_argument("-n", "--new", action="store_true", + help="avoid reimporting same versions") + parser.add_argument("-p", "--prune", action="store_true", + help="prune packages old packages") + parser.add_argument("-d", "--database", action="store", + default="test.sqlite3", + help="path to the sqlite3 database file") + parser.add_argument("files", nargs='+', + help="files or directories or repository urls") + args = parser.parse_args() tmpdir = tempfile.mkdtemp(prefix="debian-dedup") - db = sqlite3.connect(options.database) + db = sqlite3.connect(args.database) cur = db.cursor() cur.execute("PRAGMA foreign_keys = ON;") e = concurrent.futures.ThreadPoolExecutor(multiprocessing.cpu_count()) pkgs = {} - for d in args: + for d in args.files: print("processing %s" % d) if d.startswith(("http://", "https://", "ftp://", "file://")): process_http(pkgs, d) @@ -114,7 +116,7 @@ def main(): cur.execute("SELECT name, version FROM package;") knownpkgs = dict((row[0], row[1]) for row in cur.fetchall()) distpkgs = set(pkgs.keys()) - if options.new: + if args.new: for name in distpkgs: if name in knownpkgs and version_compare(pkgs[name]["version"], knownpkgs[name]) <= 0: @@ -142,7 +144,7 @@ def main(): else: os.unlink(inf) - if options.prune: + if args.prune: delpkgs = knownpkgs - distpkgs print("clearing packages %s" % " ".join(delpkgs)) cur.executemany("DELETE FROM package WHERE name = ?;", diff --git a/importpkg.py b/importpkg.py index 933ec80..fedad73 100755 --- a/importpkg.py +++ b/importpkg.py @@ -5,8 +5,8 @@ on multiple machines. The generated yaml contains multiple documents. The first document contains package metadata. Then a document is emitted for each file. And finally a document consisting of the string "commit" is emitted.""" +import argparse import hashlib -import optparse import sys import zlib @@ -72,17 +72,17 @@ class ImportpkgExtractor(DebExtractor): raise ProcessingFinished() def main(): - parser = optparse.OptionParser() - parser.add_option("-H", "--hash", action="store", - help="verify that stdin hash given sha256 hash") - options, args = parser.parse_args() + parser = argparse.ArgumentParser() + parser.add_argument("-H", "--hash", action="store", + help="verify that stdin hash given sha256 hash") + args = parser.parse_args() try: stdin = sys.stdin.buffer except AttributeError: # python2 stdin = sys.stdin dumper = yaml.SafeDumper(sys.stdout) dumper.open() - if options.hash: + if args.hash: stdin = HashedStream(stdin, hashlib.sha256()) try: ImportpkgExtractor(dumper.represent).process(stdin) @@ -90,8 +90,8 @@ def main(): pass else: raise RuntimeError("unexpected termination of extractor") - if options.hash: - stdin.validate(options.hash) + if args.hash: + stdin.validate(args.hash) dumper.represent("commit") dumper.close() diff --git a/readyaml.py b/readyaml.py index 2ef9a3b..b6f7316 100755 --- a/readyaml.py +++ b/readyaml.py @@ -2,7 +2,7 @@ """This tool reads a yaml file as generated by importpkg.py on stdin and updates the database with the contents.""" -import optparse +import argparse import sqlite3 import sys @@ -54,12 +54,12 @@ def readyaml(db, stream): raise ValueError("missing commit block") def main(): - parser = optparse.OptionParser() - parser.add_option("-d", "--database", action="store", - default="test.sqlite3", - help="path to the sqlite3 database file") - options, args = parser.parse_args() - db = sqlite3.connect(options.database) + parser = argparse.ArgumentParser() + parser.add_argument("-d", "--database", action="store", + default="test.sqlite3", + help="path to the sqlite3 database file") + args = parser.parse_args() + db = sqlite3.connect(args.database) readyaml(db, sys.stdin) if __name__ == "__main__": diff --git a/update_sharing.py b/update_sharing.py index ca6890b..ac6c945 100755 --- a/update_sharing.py +++ b/update_sharing.py @@ -1,6 +1,6 @@ #!/usr/bin/python -import optparse +import argparse import sqlite3 from dedup.utils import fetchiter @@ -67,9 +67,9 @@ def main(db): db.commit() if __name__ == "__main__": - parser = optparse.OptionParser() - parser.add_option("-d", "--database", action="store", - default="test.sqlite3", - help="path to the sqlite3 database file") - options, args = parser.parse_args() - main(sqlite3.connect(options.database)) + parser = argparse.ArgumentParser() + parser.add_argument("-d", "--database", action="store", + default="test.sqlite3", + help="path to the sqlite3 database file") + args = parser.parse_args() + main(sqlite3.connect(args.database)) @@ -1,8 +1,8 @@ #!/usr/bin/python +import argparse import contextlib import datetime -import optparse import sqlite3 from wsgiref.simple_server import make_server @@ -256,12 +256,12 @@ class Application(object): return html_response(source_template.render(params)) def main(): - parser = optparse.OptionParser() - parser.add_option("-d", "--database", action="store", - default="test.sqlite3", - help="path to the sqlite3 database file") - options, args = parser.parse_args() - app = Application(sqlite3.connect(options.database)) + parser = argparse.ArgumentParser() + parser.add_argument("-d", "--database", action="store", + default="test.sqlite3", + help="path to the sqlite3 database file") + args = parser.parse_args() + app = Application(sqlite3.connect(args.database)) app = SharedDataMiddleware(app, {"/static": ("dedup", "static")}) make_server("0.0.0.0", 8800, app).serve_forever() |