@@ -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
9090def 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
125125def main ():
0 commit comments