-#!/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:
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..."