remove curl dependency
[~helmut/debian-dedup.git] / importpkg.py
index fedad73..badef15 100755 (executable)
@@ -9,6 +9,10 @@ import argparse
 import hashlib
 import sys
 import zlib
+try:
+    from urllib.request import urlopen
+except ImportError:
+    from urllib import urlopen
 
 import yaml
 
@@ -72,20 +76,22 @@ class ImportpkgExtractor(DebExtractor):
         raise ProcessingFinished()
 
 def main():
-    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
+    parser = argparse.ArgumentParser()
+    parser.add_argument("-H", "--hash", action="store",
+                        help="verify that stdin hash given sha256 hash")
+    parser.add_argument("input", nargs='?', default=stdin, type=urlopen,
+                        help="read from this location instead of stdin")
+    args = parser.parse_args()
     dumper = yaml.SafeDumper(sys.stdout)
     dumper.open()
     if args.hash:
         stdin = HashedStream(stdin, hashlib.sha256())
     try:
-        ImportpkgExtractor(dumper.represent).process(stdin)
+        ImportpkgExtractor(dumper.represent).process(args.input)
     except ProcessingFinished:
         pass
     else: