Skip to content

Commit f94f91c

Browse files
committed
refactored code in try/except blocks - things don't run if they don't need to now!
1 parent 59419a6 commit f94f91c

File tree

1 file changed

+44
-44
lines changed

1 file changed

+44
-44
lines changed

pastebin-mirror/__main__.py

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -58,33 +58,33 @@ def archive_scrape_pastes(last_archive_time, scraper, storage, rate, quiet):
5858
if not storage.has_paste_content('paste_content', x['key'])]
5959
if not quiet:
6060
print("[*] Fetching {} new pastes.".format(len(recent_pastes)), file=sys.stderr)
61+
global session_pastes_count
62+
session_pastes_count += len(recent_pastes)
63+
for paste in recent_pastes:
64+
key = paste['key']
65+
storage.save_paste_reference('paste', key, paste['date'], paste['size'],
66+
paste['expire'], paste['title'], paste['syntax'],
67+
user=paste['user'])
68+
try:
69+
content = scraper.get_paste_content(key)
70+
except RequestException as e:
71+
if not quiet:
72+
print("[!] Error downloading paste {}: {}".format(key, e), file=sys.stderr)
73+
content = None
74+
if content is not None:
75+
storage.save_paste_content('paste_content', key, content)
76+
if not quiet:
77+
print(key, file=sys.stdout)
78+
time.sleep(0.1) # waiting a 1/10th of a second seems to help download clogging
79+
# probably dont want to flood the screen - how often should we display stats?
80+
if not quiet:
81+
print('[*] Total pastes downloaded this session: {}'.format(session_pastes_count), file=sys.stderr)
82+
print('[*] Waiting {} seconds before next paste scrape'.format(rate), file=sys.stderr)
83+
return time.time()
6184
except RequestException as e:
6285
recent_pastes = []
6386
if not quiet:
6487
print("[!] Error downloading recent paste list: {}".format(e), file=sys.stderr)
65-
global session_pastes_count
66-
session_pastes_count += len(recent_pastes)
67-
for paste in recent_pastes:
68-
key = paste['key']
69-
storage.save_paste_reference('paste', key, paste['date'], paste['size'],
70-
paste['expire'], paste['title'], paste['syntax'],
71-
user=paste['user'])
72-
try:
73-
content = scraper.get_paste_content(key)
74-
except RequestException as e:
75-
if not quiet:
76-
print("[!] Error downloading paste {}: {}".format(key, e), file=sys.stderr)
77-
content = None
78-
if content is not None:
79-
storage.save_paste_content('paste_content', key, content)
80-
if not quiet:
81-
print(key, file=sys.stdout)
82-
time.sleep(0.1) # waiting a 1/10th of a second seems to help download clogging
83-
# probably dont want to flood the screen - how often should we display stats?
84-
if not quiet:
85-
print('[*] Total pastes downloaded this session: {}'.format(session_pastes_count), file=sys.stderr)
86-
print('[*] Waiting {} seconds before next paste scrape'.format(rate), file=sys.stderr)
87-
return time.time()
8888
else: return last_archive_time
8989

9090
def archive_trending_pastes(last_archive_time, scraper, storage, quiet):
@@ -95,31 +95,31 @@ def archive_trending_pastes(last_archive_time, scraper, storage, quiet):
9595
if not storage.has_paste_content('trending_paste_content', x['key'])]
9696
if not quiet:
9797
print("[*] Fetching {} new trending pastes.".format(len(trending_pastes)), file=sys.stderr)
98+
global session_trending_count
99+
session_trending_count += len(trending_pastes)
100+
for paste in trending_pastes:
101+
key = paste['key']
102+
storage.save_paste_reference('trending_paste', key, paste['date'], paste['size'],
103+
paste['expire'], paste['title'], paste['syntax'], hits=paste['hits'])
104+
try:
105+
content = scraper.get_paste_content(key)
106+
except RequestException as e:
107+
if not quiet:
108+
print("[!] Error downloading paste {}: {}".format(key, e), file=sys.stderr)
109+
content = None
110+
if content is not None:
111+
storage.save_paste_content('trending_paste_content', key, content)
112+
if not quiet:
113+
print(key, file=sys.stdout)
114+
time.sleep(0.1) # waiting a 1/10th of a second seems to help download clogging
115+
if not quiet:
116+
print('[*] Trending pastes downloaded this session: {}'.format(session_trending_count), file=sys.stderr)
117+
print('[*] Waiting 1 hour before downloading new trending pastes', file=sys.stderr)
118+
return time.time()
98119
except RequestException as e:
99120
trending_pastes = []
100121
if not quiet:
101122
print("[!] Error when downloading trending paste list: {}".format(e), file=sys.stderr)
102-
global session_trending_count
103-
session_trending_count += len(trending_pastes)
104-
for paste in trending_pastes:
105-
key = paste['key']
106-
storage.save_paste_reference('trending_paste', key, paste['date'], paste['size'],
107-
paste['expire'], paste['title'], paste['syntax'], hits=paste['hits'])
108-
try:
109-
content = scraper.get_paste_content(key)
110-
except RequestException as e:
111-
if not quiet:
112-
print("[!] Error downloading paste {}: {}".format(key, e), file=sys.stderr)
113-
content = None
114-
if content is not None:
115-
storage.save_paste_content('trending_paste_content', key, content)
116-
if not quiet:
117-
print(key, file=sys.stdout)
118-
time.sleep(0.1) # waiting a 1/10th of a second seems to help download clogging
119-
if not quiet:
120-
print('[*] Trending pastes downloaded this session: {}'.format(session_trending_count), file=sys.stderr)
121-
print('[*] Waiting 1 hour before downloading new trending pastes', file=sys.stderr)
122-
return time.time()
123123
else: return last_archive_time
124124

125125
def main():

0 commit comments

Comments
 (0)