summaryrefslogtreecommitdiffstats
path: root/download.py
diff options
context:
space:
mode:
Diffstat (limited to 'download.py')
-rw-r--r--download.py20
1 files changed, 17 insertions, 3 deletions
diff --git a/download.py b/download.py
index 378d281..3b12cc8 100644
--- a/download.py
+++ b/download.py
@@ -22,7 +22,6 @@
import urllib
import os
import htmlparser
-#import progressbar
import config
def get_savedir():
@@ -31,14 +30,27 @@ def get_savedir():
if not os.path.exists(savedir):
os.makedirs(savedir)
return savedir
+def check_archive(fullpath):
+ conf = config.Configuration()
+ archive = conf.get_archive_location()
+ filename = os.path.basename(fullpath)
+ archfile = os.path.join(archive, filename)
+ #print "Path", archfile, "exists:", os.path.exists(archfile)
+ return os.path.exists(archfile)
class Downloader(object):
def __init__(self, progress_reporter):
self.progress_reporter = progress_reporter
+ self.on_downloaded = None
+
+ def set_on_downloaded(self, on_downloaded):
+ self.on_downloaded = on_downloaded
def get_thread_links(self, baseurl):
myparser = htmlparser.MyParser()
- t = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]
+ t = ["0", "1", "2", "3", "4",
+ "5", "6", "7", "8", "9",
+ "10", "11", "12", "13", "14", "15"]
i = 1
total = len(t)
progress = self.progress_reporter(total)
@@ -109,7 +121,7 @@ class Downloader(object):
for link in t:
progress.show_progress(i)
filename = os.path.join(get_savedir(), os.path.split(link)[1])
- if not os.path.exists(filename):
+ if not check_archive(filename):
tries = 10
while tries > 0:
try:
@@ -121,6 +133,8 @@ class Downloader(object):
failed += 1
else:
downloaded += 1
+ if self.on_downloaded is not None:
+ self.on_downloaded(filename)
else:
skipped += 1
i += 1