1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-12-04 14:46:46 -05:00
profanity/plugins/cricket-score.py
2013-08-11 13:47:54 +01:00

98 lines
2.5 KiB
Python

import prof
import urllib2
import json
import time
score_url = "http://api.scorescard.com/?type=score&teamone=Australia&teamtwo=England"
#score_url = None
summary = None
# hooks
def prof_init(version, status):
if score_url:
prof.register_timed(get_scores, 60)
prof.register_command("/cricket", 0, 0, "/cricket", "Get latest cricket score.", "Get latest cricket score.", cmd_cricket)
def prof_on_start():
if score_url:
get_scores()
# commands
def cmd_cricket():
global score_url
global summary
new_summary = None
result_json = retrieve_scores_json()
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'])
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 't2SI' in result_json.keys():
prof.cons_show(" " + result_json['t2SI'])
summary = new_summary
prof.cons_show("")
prof.cons_show(" " + summary)
prof.cons_alert()
# local functions
def get_scores():
global score_url
global summary
notify = None
new_summary = None
change = False
result_json = retrieve_scores_json()
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 '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 '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")
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);