Added error handling to cricket score plugin

This commit is contained in:
James Booth
2014-06-03 18:48:36 +01:00
parent d3d54f7f11
commit 43e2f44ec1

View File

@@ -2,8 +2,7 @@ import prof
import urllib2
import json
#_score_url = "http://api.scorescard.com/?type=score&teamone=Australia&teamtwo=England"
_score_url = None
_score_url = "http://api.scorescard.com/?type=score&teamone=England&teamtwo=Sri%20Lanka"
_summary = None
def _cmd_cricket():
@@ -12,28 +11,28 @@ def _cmd_cricket():
new_summary = None
result_json = _retrieve_scores_json()
if (result_json):
if 'ms' in result_json.keys():
new_summary = result_json['ms']
if 'ms' in result_json.keys():
new_summary = result_json['ms']
prof.cons_show("")
prof.cons_show("Cricket score:")
if 't1FI' in result_json.keys():
prof.cons_show(" " + result_json['t1FI'])
prof.cons_show("")
prof.cons_show("Cricket score:")
if 't1FI' in result_json.keys():
prof.cons_show(" " + result_json['t1FI'])
if 't2FI' in result_json.keys():
prof.cons_show(" " + result_json['t2FI'])
if 't2FI' in result_json.keys():
prof.cons_show(" " + result_json['t2FI'])
if 't1SI' in result_json.keys():
prof.cons_show(" " + result_json['t1SI'])
if 't1SI' in result_json.keys():
prof.cons_show(" " + result_json['t1SI'])
if 't2SI' in result_json.keys():
prof.cons_show(" " + result_json['t2SI'])
if 't2SI' in result_json.keys():
prof.cons_show(" " + result_json['t2SI'])
_summary = new_summary
prof.cons_show("")
prof.cons_show(" " + _summary)
prof.cons_alert()
_summary = new_summary
prof.cons_show("")
prof.cons_show(" " + _summary)
prof.cons_alert()
def _get_scores():
global _score_url
@@ -43,44 +42,51 @@ def _get_scores():
change = False
result_json = _retrieve_scores_json()
if (result_json):
if 'ms' in result_json.keys():
new_summary = result_json['ms']
if new_summary != _summary:
change = True
if 'ms' in result_json.keys():
new_summary = result_json['ms']
if new_summary != _summary:
change = True
if change:
prof.cons_show("")
prof.cons_show("Cricket score:")
if 't1FI' in result_json.keys():
notify = result_json['t1FI']
prof.cons_show(" " + result_json['t1FI'])
if change:
prof.cons_show("")
prof.cons_show("Cricket score:")
if 't1FI' in result_json.keys():
notify = result_json['t1FI']
prof.cons_show(" " + result_json['t1FI'])
if 't2FI' in result_json.keys():
notify += "\n" + result_json['t2FI']
prof.cons_show(" " + result_json['t2FI'])
if 't2FI' in result_json.keys():
notify += "\n" + result_json['t2FI']
prof.cons_show(" " + result_json['t2FI'])
if 't1SI' in result_json.keys():
notify += "\n" + result_json['t1SI']
prof.cons_show(" " + result_json['t1SI'])
if 't1SI' in result_json.keys():
notify += "\n" + result_json['t1SI']
prof.cons_show(" " + result_json['t1SI'])
if 't2SI' in result_json.keys():
notify += "\n" + result_json['t2SI']
prof.cons_show(" " + result_json['t2SI'])
if 't2SI' in result_json.keys():
notify += "\n" + result_json['t2SI']
prof.cons_show(" " + result_json['t2SI'])
_summary = new_summary
notify += "\n\n" + _summary
prof.cons_show("")
prof.cons_show(" " + _summary)
prof.cons_alert()
prof.notify(notify, 5000, "Cricket score")
_summary = new_summary
notify += "\n\n" + _summary
prof.cons_show("")
prof.cons_show(" " + _summary)
prof.cons_alert()
prof.notify(notify, 5000, "Cricket score")
def _retrieve_scores_json():
req = urllib2.Request(_score_url, None, {'Content-Type': 'application/json'})
f = urllib2.urlopen(req)
response = f.read()
f.close()
return json.loads(response)
try:
f = urllib2.urlopen(req)
except:
prof.log_info("cricket-score.py: Error getting scores.")
return None
else:
response = f.read()
f.close()
return json.loads(response)
def prof_init(version, status):
if _score_url:
prof.register_timed(_get_scores, 60)