Implements network error checking in.
This commit is contained in:
parent
6298da5f5b
commit
9a6d60be90
|
@ -1,6 +1,7 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import os
|
||||
import requests
|
||||
|
||||
if(os.environ.get('TRAVIS')!='true'):
|
||||
import pygtk
|
||||
|
@ -150,29 +151,34 @@ class HackerNewsApp:
|
|||
i.show()
|
||||
|
||||
def refresh(self, widget=None, no_timer=False, chrome_data_directory=None):
|
||||
|
||||
"""Refreshes the menu """
|
||||
data = list(reversed(HackerNews.getHomePage()[0:20]))
|
||||
|
||||
if(chrome_data_directory):
|
||||
urls = [item['url'] for item in data]
|
||||
searchResults = Chrome.search(urls, chrome_data_directory)
|
||||
|
||||
#Remove all the current stories
|
||||
for i in self.menu.get_children():
|
||||
if hasattr(i, 'url'):
|
||||
self.menu.remove(i)
|
||||
|
||||
#Add back all the refreshed news
|
||||
for index, item in enumerate(data):
|
||||
try:
|
||||
data = list(reversed(HackerNews.getHomePage()[0:20]))
|
||||
if(chrome_data_directory):
|
||||
item['history'] = searchResults[index]
|
||||
else:
|
||||
item['history'] = False
|
||||
self.addItem(item)
|
||||
urls = [item['url'] for item in data]
|
||||
searchResults = Chrome.search(urls, chrome_data_directory)
|
||||
|
||||
#Remove all the current stories
|
||||
for i in self.menu.get_children():
|
||||
if hasattr(i, 'url'):
|
||||
self.menu.remove(i)
|
||||
|
||||
#Add back all the refreshed news
|
||||
for index, item in enumerate(data):
|
||||
if(chrome_data_directory):
|
||||
item['history'] = searchResults[index]
|
||||
else:
|
||||
item['history'] = False
|
||||
self.addItem(item)
|
||||
# Catch network errors
|
||||
except requests.exceptions.RequestException as e:
|
||||
print "There was an error in fetching news items"
|
||||
finally:
|
||||
# Call every 10 minutes
|
||||
if not no_timer:
|
||||
gtk.timeout_add(10 * 30 * 1000, self.refresh, widget, no_timer, chrome_data_directory)
|
||||
|
||||
#Call every 5 minutes
|
||||
if not no_timer:
|
||||
gtk.timeout_add(10 * 60 * 1000, self.refresh, widget, no_timer, chrome_data_directory)
|
||||
|
||||
|
||||
def main():
|
||||
|
|
Loading…
Reference in New Issue