Subversion Repositories SmartDukaan

Rev

Rev 14621 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

import xml.dom.minidom
import urllib2
from dtr.storage.MemCache import MemCache
mc = MemCache("127.0.0.1")

class CricbuzzParser():
    
    def __init__(self):
        pass
       
    def getXml(self,matchId):
        f = urllib2.urlopen("http://synd.cricbuzz.com/j2me/1.0/livematches.xml")
        doc = xml.dom.minidom.parse(f)
        node = doc.documentElement
        matches = node.getElementsByTagName("match")
        for match in matches:
            if 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:
            battingTeam = battingTeamDesc.getAttribute('sName')
            
        battingTeamInn = match.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')
        
        result = {'matchDesc':matchDesc,'status':status,'mstate':mstate,'battingTeam':battingTeam,'battingTeamRuns':battingTeamRuns, \
         'battingTeamOvers':battingTeamOvers,'battingTeamWickets':battingTeamWickets}
        mc.set('liveScore', result)
        
if __name__ == '__main__':
    cric = CricbuzzParser()
    matches = cric.getXml(1)