X-Git-Url: https://code.delx.au/webdl/blobdiff_plain/8c7d6055c82b3e2b03a30d4b738c83f914a57859..b6ad3911d2593698d5ed405520aa2cc0e6ce2ea0:/autograbber.py diff --git a/autograbber.py b/autograbber.py index c8c86b8..61b0673 100755 --- a/autograbber.py +++ b/autograbber.py @@ -1,13 +1,24 @@ -#!/usr/bin/env python +#!/usr/bin/python2 # vim:ts=4:sts=4:sw=4:noet from common import load_root_node import fnmatch +import os import sys +DOWNLOAD_HISTORY_FILES = [ + ".downloaded_auto.txt", + "downloaded_auto.txt", +] + class DownloadList(object): - def __init__(self, filename): + def __init__(self): self.seen_list = set() + for filename in DOWNLOAD_HISTORY_FILES: + if os.path.isfile(filename): + break + else: + filename = DOWNLOAD_HISTORY_FILES[0] try: self.f = open(filename, "r") for line in self.f: @@ -44,17 +55,24 @@ def match(download_list, node, pattern, count=0): match(download_list, child, pattern, count+1) -def main(): +def main(destdir, patternfile): + os.chdir(destdir) node = load_root_node() - download_list = DownloadList("downloaded_auto.txt") + download_list = DownloadList() - for search in sys.argv[1:]: - search = search.split("/") + for line in open(patternfile): + search = line.strip().split("/") match(download_list, node, search) if __name__ == "__main__": try: - main() + destdir = os.path.abspath(sys.argv[1]) + patternfile = os.path.abspath(sys.argv[2]) + except IndexError: + print >>sys.stderr, "Usage: %s destdir patternfile" % sys.argv[0] + sys.exit(1) + try: + main(destdir, patternfile) except (KeyboardInterrupt, EOFError): print "\nExiting..."