Implements network error checking in.
This commit is contained in:
parent
6298da5f5b
commit
9a6d60be90
|
@ -1,6 +1,7 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
import requests
|
||||||
|
|
||||||
if(os.environ.get('TRAVIS')!='true'):
|
if(os.environ.get('TRAVIS')!='true'):
|
||||||
import pygtk
|
import pygtk
|
||||||
|
@ -150,30 +151,35 @@ class HackerNewsApp:
|
||||||
i.show()
|
i.show()
|
||||||
|
|
||||||
def refresh(self, widget=None, no_timer=False, chrome_data_directory=None):
|
def refresh(self, widget=None, no_timer=False, chrome_data_directory=None):
|
||||||
|
|
||||||
"""Refreshes the menu """
|
"""Refreshes the menu """
|
||||||
data = list(reversed(HackerNews.getHomePage()[0:20]))
|
try:
|
||||||
|
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):
|
|
||||||
if(chrome_data_directory):
|
if(chrome_data_directory):
|
||||||
item['history'] = searchResults[index]
|
urls = [item['url'] for item in data]
|
||||||
else:
|
searchResults = Chrome.search(urls, chrome_data_directory)
|
||||||
item['history'] = False
|
|
||||||
self.addItem(item)
|
|
||||||
|
|
||||||
#Call every 5 minutes
|
#Remove all the current stories
|
||||||
if not no_timer:
|
for i in self.menu.get_children():
|
||||||
gtk.timeout_add(10 * 60 * 1000, self.refresh, widget, no_timer, chrome_data_directory)
|
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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
parser = argparse.ArgumentParser(description='Hacker News in your System Tray')
|
parser = argparse.ArgumentParser(description='Hacker News in your System Tray')
|
||||||
|
|
Loading…
Reference in New Issue