Rev 14635 | Blame | Compare with Previous | Last modification | View Log | RSS feed
import xml.dom.minidomimport urllib2from dtr.storage.MemCache import MemCachemc = MemCache("127.0.0.1")class CricbuzzParser():def __init__(self, matchId):self.matchId = matchIddef getXml(self):f = urllib2.urlopen("http://synd.cricbuzz.com/j2me/1.0/livematches.xml")doc = xml.dom.minidom.parse(f)node = doc.documentElementmatches = node.getElementsByTagName("match")for match in matches:if self.matchId ==int(match.getAttribute('id')):self.getMatchDetails(match)def getMatchDetails(self,match):matchDesc = match.getAttribute("mchDesc")states = match.getElementsByTagName("state")for state in states:status = state.getAttribute("status")mstate = state.getAttribute('mchState')battingTeam = match.getElementsByTagName("btTm")for battingTeamDesc in battingTeam:battingTeamName = battingTeamDesc.getAttribute('sName')try:battingTeamInn = battingTeam[0].getElementsByTagName("Inngs")for battingTeamInnDesc in battingTeamInn:battingTeamRuns = battingTeamInnDesc.getAttribute('r')battingTeamOvers = battingTeamInnDesc.getAttribute('ovrs')battingTeamWickets = battingTeamInnDesc.getAttribute('wkts')bowlingTeam = match.getElementsByTagName("blgTm")for bowlingTeamDesc in bowlingTeam:bowlingTeam = bowlingTeamDesc.getAttribute('sName')bowlingTeamInn = match.getElementsByTagName("blgTm")for bowlingTeamInnDesc in bowlingTeamInn:print bowlingTeamInnDesc.getAttribute('r')print bowlingTeamInnDesc.getAttribute('ovrs')print bowlingTeamInnDesc.getAttribute('wkts')except:battingTeamRuns = ""battingTeamOvers = ""battingTeamWickets = ""battingTeamName = ""result = {'id':self.matchId,'matchDesc':matchDesc,'status':status,'mstate':mstate,'battingTeamName':battingTeamName,'battingTeamRuns':battingTeamRuns, \'battingTeamOvers':battingTeamOvers,'battingTeamWickets':battingTeamWickets}mc.set('liveScore', result)print resultif __name__ == '__main__':cric = CricbuzzParser(3)matches = cric.getXml()