diff options
Diffstat (limited to 'download.py')
-rw-r--r-- | download.py | 20 |
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 |