Finish main script

master
Sven Slootweg 11 years ago
parent 0917f06de7
commit c81ffda575

@ -1,4 +1,4 @@
import re, oursql, requests, sys, json, shlex, argparse import re, oursql, requests, sys, json, shlex, argparse, os
from sources.nzbindex import NzbindexSpider from sources.nzbindex import NzbindexSpider
from sources.binsearch import BinsearchSpider from sources.binsearch import BinsearchSpider
@ -83,8 +83,25 @@ elif mode == "list":
sys.stdout.write("Found %d releases.\n" % len(releases)) sys.stdout.write("Found %d releases.\n" % len(releases))
downloaded = 0
skipped = 0
errors = 0
notfound = 0
for release in releases: for release in releases:
release_name, target_dir = release release_name, target_dir = release
target_path = os.path.join(target_dir, "%s.nzb" % release_name)
if os.path.exists(target_path):
# This NZB was already downloaded.
skipped += 1
continue
try:
os.makedirs(target_dir)
except OSError, e:
# Target directory already exists
pass
try: try:
spider = NzbindexSpider() spider = NzbindexSpider()
@ -95,8 +112,19 @@ for release in releases:
results = spider.find(release_name) results = spider.find(release_name)
except NotFoundException, e: except NotFoundException, e:
sys.stderr.write("Could not find release %s\n" % release_name) sys.stderr.write("Could not find release %s\n" % release_name)
notfound += 1
continue continue
# Process result # Process result
for result in results: result = results[1]
result.show()
try:
result.download(target_path)
except Exception, e:
errors += 1
sys.stderr.write("Downloading NZB for %s failed: %s\n" % (release_name, repr(e)))
sys.stdout.write("Downloaded NZB for %s.\n" % release_name)
downloaded += 1
sys.stdout.write("Finished. %d downloaded, %d skipped, %d errors and %d not found.\n" % (downloaded, skipped, errors, notfound))

@ -21,7 +21,7 @@ class ModifiedSession(requests.Session):
requests.Session.__init__(self, *args, **kwargs) requests.Session.__init__(self, *args, **kwargs)
self.headers['user-agent'] = random.choice(user_agents) self.headers['user-agent'] = random.choice(user_agents)
def download_file(self, request, target): def download_file(request, target):
if request.status_code == 200: if request.status_code == 200:
f = open(target, "wb") f = open(target, "wb")

Loading…
Cancel
Save