You are on page 1of 22

Source Code

import json,time,os,sys,requests,urllib2,random

from bs4 import BeautifulSoup

def theme(): #Program Header

os.system(osClearTxt)

header=("""

===============================================================================

CRICKET PYTHON PROJECT (CLASS XII-B)

===============================================================================""")

return header

class Cricket():

firstRunSecond=1

teamDataList=[]

teamList=[]

strikePlayerOne=1

strikePlayerSecond=0

wicketLost=0

totalScore=0

def __init__(self):

global osClearTxt

if os.name == 'nt':

osClearTxt='cls'

else:

osClearTxt='clear'

self.splash()

self.mainMenu() #MainMenu

def splash(self): #Splash Screen

splash1=('''

===============================================================================

CRICKET PYTHON PROJECT (CLASS XII-B)

===============================================================================

> DESCRIPTION

->CRICKET PYTHON PROGRAM

->MAXIMIZE WHILE OPERATING IN CMD


> MADE BY

-> JEEVANT KR. SAH

-> AYUSH AGARWAL

-> SHUBHAM GUPTA

-> YASH TYAGI

> SUBMITTED TO

->MRS. MEETU

PRESS CTRL+C TO START

''')

splash2=('''

===============================================================================

CRICKET

===============================================================================

> DESCRIPTION

->CRICKET PYTHON PROGRAM

->MAXIMIZE WHILE OPERATING IN CMD

> MADE BY

JEEVANT KR. SAH

AYUSH AGARWAL

SHUBHAM GUPTA

YASH TYAGI
> SUBMITTED TO

->MRS. MEETU

PRESS CTRL+C TO START

''')

try :

x=0

while True :

time.sleep(0.5)

x=x+1

os.system(osClearTxt)

if x%2==0:

print splash1

else :

print splash2

except KeyboardInterrupt:

pass

os.system(osClearTxt)

def mainMenu(self):

print theme()

mainmenu=(""" ________________

MAIN MENU :

----------------

(1) QUICK MATCH

(2) TEAM INFORMATION

(3) CRICKET HISTORY

(4) LIVE SCORES

(5) PROGRAM INFO

(6) EXIT PROGRAM

""")

print mainmenu

Cricket.firstRunSecond=1

self.askDialog(1)
def askDialog(self,askType):

try:

askAns=str(raw_input(" ENTER YOUR CHOICE: "))

if askAns=="":

pass

else:

askAns=int(askAns)

except Exception:

askAns="UNKNOWN INPUT"

if askType==1:

if askAns==1:

self.quickMatch()

elif askAns==2:

self.teamInfo()

elif askAns==3:

self.cricketHistory()

elif askAns==4:

self.liveScore()

elif askAns==5:

self.appInfo()

elif askAns==6:

self.quitProgram()

elif askAns=="":

print

print " ENTER A KEYWORD!!!"

time.sleep(1)

self.mainMenu()

else:

print

print " ENTER A VALID KEYWORD!!!"

time.sleep(1)

self.mainMenu()

if askType==2:

if askAns==1:

self.liveScore()

elif askAns==2:

self.mainMenu()

else:

print

print " GOING BACK TO MAIN MENU"

time.sleep(1)
self.mainMenu()

def quickMatch(self):

print theme()

print

print (""" __________________

GAME RULES :

------------------""")

print

print (""" ->MATCH IS OF 5 OVERS.

->NO OPTION SELECTED/UNAVAILABLE OPTION SELECTED LEADS TO WICKET LOSS OR\n\n FREE
SIX/FOUR RUNS.

->WHOLE MATCH SHOULD BE PLAYED TO GET THE RESULTS.

->PLAYERS ORDER IS ALREADY SELECTED.

""")

enterToStart=str(raw_input(" PRESS ENTER TO START THE GAME!!!!!"))

noOfTeams=0

loadingTimeCheck=0

print theme()

print (""" ___________________

QUICK MATCH :

-------------------""")

if len(Cricket.teamList)==0:

teamData=open("teamInfo.dat","r")

Cricket.teamDataList=teamData.readlines()

teamData.close

for teamNumber in range(0,len(Cricket.teamDataList)):

if len(Cricket.teamDataList[teamNumber])==4:

Cricket.teamList.append(Cricket.teamDataList[teamNumber-1][:-3])

for teams in Cricket.teamList:

noOfTeams+=1

if noOfTeams<=9:

print " ("+str(noOfTeams)+")"+teams+"\n"

else:

print " ("+str(noOfTeams)+")"+teams[:-7]+teams[-6:]+"\n"

selectYourTeam=str(raw_input(" SELECT YOUR TEAM(ENTER CODE): "))

print

selectOpponentTeam=str(raw_input(" SELECT OPPONENT TEAM(ENTER CODE): "))

selectYourTeam=selectYourTeam.upper()
selectOpponentTeam=selectOpponentTeam.upper()

if len(selectYourTeam)==2:

selectYourTeam+=" "

if len(selectOpponentTeam)==2:

selectOpponentTeam+=" "

opponentTeamFound=False

yourTeamFound=False

for teamCheck in range(0,len(Cricket.teamDataList)):

try:

if len(selectYourTeam)==3 and selectYourTeam==Cricket.teamDataList[teamCheck][:-1]:

yourTeamIndex=teamCheck

yourTeamFound=True

if len(selectOpponentTeam)==3 and
selectOpponentTeam==Cricket.teamDataList[teamCheck][:-1]:

opponentTeamIndex=teamCheck

opponentTeamFound=True

except Exception:

pass

if opponentTeamFound and yourTeamFound:

self.yourTeamFullName=Cricket.teamDataList[yourTeamIndex-
1][:Cricket.teamDataList[yourTeamIndex-1].find(" ")]

self.opponentTeamFullName=Cricket.teamDataList[opponentTeamIndex-
1][:Cricket.teamDataList[opponentTeamIndex-1].find(" ")]

print

print " YOUR TEAM: "+self.yourTeamFullName

print

print " OPPONENT TEAM: "+self.opponentTeamFullName

else:

print

print " TEAM NOT CHOSEN CORRECTLY, RANDOMALY CHOOSING BOTH TEAM!!!"

print

selectYourTeam=random.choice(Cricket.teamList)

remainingTeamList=Cricket.teamList

remainingTeamList.remove(selectYourTeam)

selectOpponentTeam=random.choice(remainingTeamList)

self.yourTeamFullName=selectYourTeam[:selectYourTeam.find(" ")]

self.opponentTeamFullName=selectOpponentTeam[:selectOpponentTeam.find(" ")]

print " YOUR TEAM: "+self.yourTeamFullName

print

print " OPPONENT TEAM: "+self.opponentTeamFullName

selectYourTeam=selectYourTeam[-3:]

selectOpponentTeam=selectOpponentTeam[-3:]

yourTeamIndex=Cricket.teamDataList.index(selectYourTeam+"\n")
opponentTeamIndex=Cricket.teamDataList.index(selectOpponentTeam+"\n")

time.sleep(1.5)

os.system(osClearTxt)

print theme()

print

print " FETCHING PLAYER'S DATA ",

while loadingTimeCheck!=5:

loadingTimeCheck+=1

animation="\|/-\|/-"

for l in animation:

sys.stdout.write(l)

sys.stdout.flush()

sys.stdout.write('\b')

time.sleep(0.1)

os.system(osClearTxt)

print theme()

versusList=[]

versusHeadingString=self.yourTeamFullName+" v/s "+self.opponentTeamFullName

self.versusHeading=" "*22+"_"*(len(versusHeadingString)+6)+"\n"+"
"*25+versusHeadingString+"\n"+" "*22+"-"*(len(versusHeadingString)+6)

print self.versusHeading

print

for players in range(1,12):

if players==1:

initialSpacing=len(Cricket.teamDataList[yourTeamIndex+players][:Cricket.teamDataList[yourTeamIndex+
players].find(" ")])+20

spacing=20

else:

spacing=initialSpacing-
len(Cricket.teamDataList[yourTeamIndex+players][:Cricket.teamDataList[yourTeamIndex+players].find("
")])

print "
"*10+Cricket.teamDataList[yourTeamIndex+players][:Cricket.teamDataList[yourTeamIndex+players].find(
" ")]+"
"*spacing+Cricket.teamDataList[opponentTeamIndex+players][:Cricket.teamDataList[opponentTeamIndex+p
layers].find(" ")]+"\n"

waitingForEnter=str(raw_input(" PRESS ENTER FOR TOSSING!!!"))

userBatting=self.tossing()

for num in range(5,0,-1):

print theme()

print

print " GAME IS STARTING IN ",num

time.sleep(1)

self.runsScoredByYourTeam=0
self.runsScoredByOpponentTeam=0

self.__wicketLostOfYourTeam=0

self.__wicketLostOfOpponentTeam=0

if userBatting:

self.secondInnings=False

self.battingTeamDict={}

self.battingTeamList=[]

self.overList=["_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_",
"_","_","_","_","_","_","_","_","_"]

self.pseudoBalls=0

self.balls=0

Cricket.strikePlayerOne=1

Cricket.strikePlayerSecond=0

Cricket.wicketLost=0

Cricket.totalScore=0

for players in range(1,12):

self.battingTeamList.append([Cricket.teamDataList[yourTeamIndex+players][:Cricket.teamDataList[your
TeamIndex+players].find(" ")]])

self.battingTeamDict[Cricket.teamDataList[yourTeamIndex+players][:Cricket.teamDataList[yourTeamInde
x+players].find(" ")]]=0

self.realBattingTeamList=self.battingTeamList

self.runsScoredByYourTeam=self.battingOrBowling(self.yourTeamFullName,self.opponentTeamFullName)

if self.runsScoredByYourTeam==10:

self.runsScoredByYourTeam=0

for runs in self.battingTeamDict.values():

self.runsScoredByYourTeam+=runs

for num in range(5,0,-1):

print theme()

print

print " 2nd INNINGS IS STARTING IN ",num

time.sleep(1)

self.secondInnings=True

self.battingTeamDict={}

self.battingTeamList=[]

self.overList=["_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_",
"_","_","_","_","_","_","_","_","_"]

self.pseudoBalls=0

self.balls=0

Cricket.strikePlayerOne=1

Cricket.strikePlayerSecond=0
Cricket.wicketLost=0

Cricket.totalScore=0

for players in range(1,12):

self.battingTeamList.append([Cricket.teamDataList[opponentTeamIndex+players][:Cricket.teamDataList[
opponentTeamIndex+players].find(" ")]])

self.battingTeamDict[Cricket.teamDataList[opponentTeamIndex+players][:Cricket.teamDataList[opponent
TeamIndex+players].find(" ")]]=0

self.realBattingTeamList=self.battingTeamList

self.runsScoredByOpponentTeam=self.battingOrBowling(self.opponentTeamFullName,self.yourTeamFullName
,"bowl",0)

if self.runsScoredByOpponentTeam==10:

self.runsScoredByOpponentTeam=0

for runs in self.battingTeamDict.values():

self.runsScoredByOpponentTeam+=runs

print theme()

print

print self.versusHeading

print

if self.runsScoredByYourTeam>self.runsScoredByOpponentTeam:

print " "+self.yourTeamFullName+" WON BY "+str(self.runsScoredByYourTeam-


self.runsScoredByOpponentTeam)+" Runs."

elif self.runsScoredByYourTeam<self.runsScoredByOpponentTeam:

print " "+self.opponentTeamFullName+" WON BY "+str(11-


self.__wicketLostOfOpponentTeam)+" Wicket."

else:

print " TIE GAME!!!!!"

print

enterToReturn=str(raw_input(" PRESS ENTER TO RETURN TO MAIN MENU!!!!!"))

self.mainMenu()

else:

self.secondInnings=False

self.battingTeamDict={}

self.battingTeamList=[]

self.overList=["_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_",
"_","_","_","_","_","_","_","_","_"]

self.pseudoBalls=0

self.balls=0

Cricket.strikePlayerOne=1

Cricket.strikePlayerSecond=0

Cricket.wicketLost=0

Cricket.totalScore=0
for players in range(1,12):

self.battingTeamList.append([Cricket.teamDataList[opponentTeamIndex+players][:Cricket.teamDataList[
opponentTeamIndex+players].find(" ")]])

self.battingTeamDict[Cricket.teamDataList[opponentTeamIndex+players][:Cricket.teamDataList[opponent
TeamIndex+players].find(" ")]]=0

self.realBattingTeamList=self.battingTeamList

self.runsScoredByOpponentTeam=self.battingOrBowling(self.opponentTeamFullName,self.yourTeamFullName
,"bowl",0)

if self.runsScoredByOpponentTeam==10:

self.runsScoredByOpponentTeam=0

for runs in self.battingTeamDict.values():

self.runsScoredByOpponentTeam+=runs

for num in range(5,0,-1):

print theme()

print

print " 2nd INNINGS IS STARTING IN ",num

time.sleep(1)

self.secondInnings=True

self.battingTeamDict={}

self.battingTeamList=[]

self.overList=["_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_",
"_","_","_","_","_","_","_","_","_"]

self.pseudoBalls=0

self.balls=0

Cricket.strikePlayerOne=1

Cricket.strikePlayerSecond=0

Cricket.wicketLost=0

Cricket.totalScore=0

for players in range(1,12):

self.battingTeamList.append([Cricket.teamDataList[yourTeamIndex+players][:Cricket.teamDataList[your
TeamIndex+players].find(" ")]])

self.battingTeamDict[Cricket.teamDataList[yourTeamIndex+players][:Cricket.teamDataList[yourTeamInde
x+players].find(" ")]]=0

self.realBattingTeamList=self.battingTeamList

self.runsScoredByYourTeam=self.battingOrBowling(self.yourTeamFullName,self.opponentTeamFullName)

if self.runsScoredByYourTeam==10:

self.runsScoredByYourTeam=0

for runs in self.battingTeamDict.values():

self.runsScoredByYourTeam+=runs

print theme()
print

print self.versusHeading

print

if self.runsScoredByOpponentTeam>self.runsScoredByYourTeam:

print " "+self.opponentTeamFullName+" WON BY


"+str(self.runsScoredByOpponentTeam-self.runsScoredByYourTeam)+" Runs."

elif self.runsScoredByOpponentTeam<self.runsScoredByYourTeam:

print " "+self.yourTeamFullName+" WON BY "+str(11-


self.__wicketLostOfYourTeam)+" Wicket."

else:

print " TIE GAME!!!!!"

print

enterToReturn=str(raw_input(" PRESS ENTER TO RETURN TO MAIN MENU!!!!!"))

self.mainMenu()

def battingOrBowling(self,battingTeam,bowlingTeam,innType="bat",run=0):

print theme()

print self.versusHeading

print

if battingTeam==self.yourTeamFullName:

self.__wicketLostOfYourTeam=Cricket.wicketLost

self.runsScoredByYourTeam=Cricket.totalScore

if self.secondInnings:

if self.runsScoredByYourTeam>self.runsScoredByOpponentTeam:

return run

self.scoresAndWicket=" "+self.yourTeamFullName+"*:
"+str(self.runsScoredByYourTeam)+"/"+str(self.__wicketLostOfYourTeam)+"
"*30+self.opponentTeamFullName+":
"+str(self.runsScoredByOpponentTeam)+"/"+str(self.__wicketLostOfOpponentTeam)

else:

self.runsScoredByOpponentTeam=Cricket.totalScore

self.__wicketLostOfOpponentTeam=Cricket.wicketLost

if self.secondInnings:

if self.runsScoredByOpponentTeam>self.runsScoredByYourTeam:

return run

self.scoresAndWicket=" "+self.opponentTeamFullName+"*:
"+str(self.runsScoredByOpponentTeam)+"/"+str(self.__wicketLostOfOpponentTeam)+"
"*30+self.yourTeamFullName+": "+str(self.runsScoredByYourTeam)+"/"+str(self.__wicketLostOfYourTeam)

print self.scoresAndWicket

print

overs=(self.balls)/6+((self.balls%6)*0.1)

print " OVERS: ",overs

print

print " THIS OVER: ",self.overList[:6]

print
a=self.battingTeamList[0][0]

b=self.battingTeamList[1][0]

if run==10:

pass

elif Cricket.strikePlayerOne%2==1:

if run==1 or run==3:

Cricket.strikePlayerOne=0

Cricket.strikePlayerSecond=1

self.battingTeamDict[a]+=run

else:

if run==1 or run==3:

Cricket.strikePlayerOne=1

Cricket.strikePlayerSecond=0

self.battingTeamDict[b]+=run

a=self.battingTeamList[0][0]

b=self.battingTeamList[1][0]

playerOne=a[a.find(")")+1:]+"*"*(Cricket.strikePlayerOne%2)+":
"+str(self.battingTeamDict[a])

playerSecond=b[b.find(")")+1:]+"*"*(Cricket.strikePlayerSecond%2)+":
"+str(self.battingTeamDict[b])

print " "+playerOne

print " "+playerSecond

print

if self.pseudoBalls==6:

self.overList=self.overList[6:]

self.pseudoBalls=0

if Cricket.strikePlayerOne%2==1:

Cricket.strikePlayerOne=0

Cricket.strikePlayerSecond=1

else:

Cricket.strikePlayerOne=1

Cricket.strikePlayerSecond=0

gameData=open("gameData.dat","r")

gameDataList=gameData.readlines()

gameData.close()

possibleDeliveries=gameDataList[20:]

if innType=="bat":

for battingShot in range(8,15):

if battingShot==0:

print " ",

else:

print " ",


print gameDataList[battingShot].upper()

shotTaken=str(raw_input(" ENTER YOUR SHOT NUMBER: "))

print

deliveryThrown=str(random.randint(1,5))

action=deliveryThrown+","+shotTaken

for possibleAction in possibleDeliveries:

if possibleAction[:-5]==action:

runsScored=possibleAction[-2]

noShot=False

break

noShot=True

if noShot:

runsScored="W"

if runsScored!="W":

print " Runs Scored: ",runsScored

else:

print " BATSMAN OUT!!!"

time.sleep(1.5)

self.overList[self.pseudoBalls]=runsScored

self.pseudoBalls+=1

self.balls+=1

if runsScored=="W":

runsScored=10

try:

if Cricket.strikePlayerOne%2==1:

self.battingTeamList[0],self.battingTeamList[Cricket.wicketLost+2]=self.battingTeamList[Cricket.wic
ketLost+2],self.battingTeamList[0]

else:

self.battingTeamList[1],self.battingTeamList[Cricket.wicketLost+2]=self.battingTeamList[Cricket.wic
ketLost+2],self.battingTeamList[1]

Cricket.wicketLost+=1

except Exception:

Cricket.wicketLost=10

if battingTeam==self.yourTeamFullName:

self.__wicketLostOfYourTeam=Cricket.wicketLost

else:

self.__wicketLostOfOpponentTeam=Cricket.wicketLost

else:

Cricket.totalScore+=int(runsScored)

if self.balls==30 or Cricket.wicketLost==10:

if runsScored!="W":
Cricket.totalScore+=int(runsScored)

return int(runsScored)

else:

return 0

if battingTeam==self.yourTeamFullName:

self.runsScoredByYourTeam=Cricket.totalScore

else:

self.runsScoredByOpponentTeam=Cricket.totalScore

else:

return self.battingOrBowling(battingTeam,bowlingTeam,"bat",int(runsScored))

else:

for bowlingShot in range(0,6):

if bowlingShot==0:

print " ",

else:

print " ",

print gameDataList[bowlingShot].upper()

deliveryThrown=str(raw_input(" ENTER YOUR DELIVERY NUMBER: "))

print

shotTaken=str(random.randint(1,7))

action=deliveryThrown+","+shotTaken

for possibleAction in possibleDeliveries:

if possibleAction[:-5]==action:

runsScored=possibleAction[-2]

noShot=False

break

noShot=True

if noShot:

runsScored=random.choice([4,6])

if runsScored!="W":

print " Runs Scored: ",runsScored

else:

print " BATSMAN OUT!!!"

time.sleep(1.5)

self.overList[self.pseudoBalls]=runsScored

self.pseudoBalls+=1

self.balls+=1

if runsScored=="W":

runsScored=10

try:

if Cricket.strikePlayerOne%2==1:
self.battingTeamList[0],self.battingTeamList[Cricket.wicketLost+2]=self.battingTeamList[Cricket.wic
ketLost+2],self.battingTeamList[0]

else:

self.battingTeamList[1],self.battingTeamList[Cricket.wicketLost+2]=self.battingTeamList[Cricket.wic
ketLost+2],self.battingTeamList[1]

Cricket.wicketLost+=1

except Exception:

Cricket.wicketLost=10

if battingTeam==self.yourTeamFullName:

self.__wicketLostOfYourTeam=Cricket.wicketLost

else:

self.__wicketLostOfOpponentTeam=Cricket.wicketLost

else:

Cricket.totalScore+=int(runsScored)

if self.balls==30 or Cricket.wicketLost==10:

if runsScored!="W":

Cricket.totalScore+=int(runsScored)

return int(runsScored)

else:

return 0

if battingTeam==self.yourTeamFullName:

self.runsScoredByYourTeam=Cricket.totalScore

else:

self.runsScoredByOpponentTeam=Cricket.totalScore

else:

return self.battingOrBowling(battingTeam,bowlingTeam,"bowl",int(runsScored))

def tossing(self):

print theme()

print

print (""" _______________

TOSSING :

---------------""")

print

print(""" (1)HEADS

(2)TAILS""")

print

tossingList=["HEADS","TAILS"]

choosingSide=str(raw_input(" ENTER YOUR CHOICE: "))

choosingSide=choosingSide.upper()
if choosingSide in tossingList:

tossingResult=random.choice(tossingList)

if choosingSide==tossingResult:

print

print " YOU HAVE WON THE TOSS"

print

time.sleep(1)

return self.batOrBowl()

else:

compChoosing=random.choice(["BAT","BOWL"])

print

print " COMPUTER HAVE WON THE TOSS"

print

print " COMPUTER HAVE CHOOSEN TO "+compChoosing+" FIRST"

time.sleep(1)

if compChoosing=="BAT":

return False

else:

return True

else:

print

print " ENTER HEADS/TAILS ONLY!!!!"

time.sleep(1)

return self.tossing()

def batOrBowl(self):

print theme()

print

print(""" (1)BATTING - BAT

(2)BOWLING - BOWL""")

print

askingForBatbowl=str(raw_input(" ENTER YOUR CHOICE: "))

askingForBatbowl=askingForBatbowl.upper()

if askingForBatbowl=="BAT":

return True

elif askingForBatbowl=="BOWL":

return False

else:

return self.batOrBowl()

def cricketHistory(self):

print theme()
print

print (""" _______________________

CRICKET HISTORY :

-----------------------""")

cricketHistoryFile=open("cricketHistory.dat","r")

cricketHistoryList=cricketHistoryFile.readlines()

cricketHistoryFile.close()

print

for historyLines in cricketHistoryList:

print " "+historyLines.upper()

print

enterToReturn=str(raw_input(" PRESS ENTER TO RETURN TO MAIN MENU!!!!!"))

self.mainMenu()

def teamInfo(self):

print theme()

loadingTimeCheck=0

noOfTeams=0

print (""" _______________

TEAM INFO :

---------------""")

print

if Cricket.firstRunSecond==1:

print " FETCHING TEAM AND PLAYER DATA ",

while True:

loadingTimeCheck+=1

animation="\|/-\|/-"

for l in animation:

sys.stdout.write(l)

sys.stdout.flush()

sys.stdout.write('\b')

time.sleep(0.1)

if loadingTimeCheck==3:

teamData=open("teamInfo.dat","r")

Cricket.teamDataList=teamData.readlines()

teamData.close

if loadingTimeCheck==5:

os.system(osClearTxt)

print theme()

break

print (""" _______________

TEAM INFO :
---------------""")

print

Cricket.firstRunSecond+=1

if len(Cricket.teamList)==0:

for teamNumber in range(0,len(Cricket.teamDataList)):

if len(Cricket.teamDataList[teamNumber])==4:

Cricket.teamList.append(Cricket.teamDataList[teamNumber-1][:-3])

for teams in Cricket.teamList:

noOfTeams+=1

if noOfTeams<=9:

print " ("+str(noOfTeams)+")"+teams+"\n"

else:

print " ("+str(noOfTeams)+")"+teams[:-7]+teams[-6:]+"\n"

print

getTeamInfo=str(raw_input(" ENTER TEAM CODE TO GET MORE INFO OR ANYTHING ELSE TO GO TO


MAIN MENU: "))

getTeamInfo=getTeamInfo.upper()

if len(getTeamInfo)==2:

getTeamInfo+=" "

teamFound=False

for teamCheck in range(0,len(Cricket.teamDataList)):

try:

if len(getTeamInfo)==3 and getTeamInfo==Cricket.teamDataList[teamCheck][:-1]:

os.system(osClearTxt)

print theme()

for letters in range(0,len(Cricket.teamDataList[teamCheck-1])):

if Cricket.teamDataList[teamCheck-1][letters:letters+2]==" ":

teamName=Cricket.teamDataList[teamCheck-1][:letters]

break

print " "+"_"*(len(teamName)+6)+"\n"+" "*7+teamName+"\n"+" "+"-


"*(len(teamName)+6)

print

teamFound=True

break

except Exception:

pass

if teamFound:

for teamPlayer in Cricket.teamDataList[teamCheck+1:teamCheck+12]:

print " "+teamPlayer

enterInput=str(raw_input(" PRESS ENTER TO GO BACK TO PREVIOUS MENU!!!"))

print

print " GOING BACK TO PREVIOUS MENU"


time.sleep(1)

self.teamInfo()

else:

print

print " GOING BACK TO MAIN MENU"

time.sleep(1)

self.mainMenu()

def liveScore(self):

print theme()

print (""" _________________________

LIVE/RECENT MATCHES :

-------------------------""")

checkConnectivity=False

try:

loadingTimeCheck=0

print

print " FETCHING DATA FROM CRICBUZZ ",

while True:

loadingTimeCheck+=1

animation="\|/-\|/-"

for l in animation:

sys.stdout.write(l)

sys.stdout.flush()

sys.stdout.write('\b')

time.sleep(0.1)

if loadingTimeCheck==3:

response=urllib2.urlopen('http://google.com')

checkConnectivity=True

if loadingTimeCheck==5:

os.system(osClearTxt)

print theme()

break

except Exception:

os.system(osClearTxt)

print theme()

if checkConnectivity:

print (""" _________________________

LIVE/RECENT MATCHES :

-------------------------""")

liveScoreObject=Cricbuzz()
matchesInfo=liveScoreObject.matches()

liveScoreStr=json.dumps(matchesInfo,indent=4)

while liveScoreStr.find("id")!=-1:

currentStatus=("Current Status:
"+liveScoreStr[liveScoreStr.find('"status"')+11:liveScoreStr.find(' "mnum":')-4]).upper()

matchStatus=("Match Status: "+"


"+liveScoreStr[liveScoreStr.find('"mchstate"')+13:liveScoreStr.find(' "type":')-4]).upper()

teams=("Teams: "+"
"*9+liveScoreStr[liveScoreStr.find('"mchdesc"')+12:liveScoreStr.find(' "srs":')-4]).upper()

series=("Series: "+"
"*8+liveScoreStr[liveScoreStr.find('"srs"')+8:liveScoreStr.find(' "mchstate":')-4]).upper()

matchNumber=("Match Number: "+"


"+liveScoreStr[liveScoreStr.find('"mnum"')+9:liveScoreStr.find(' "mchdesc":')-4]).upper()

matchType=("Match Type: "+"


"*4+liveScoreStr[liveScoreStr.find('"type"')+9:liveScoreStr.find(' "id":')-4]).upper()

matchID=("Match ID: "+"


"*6+liveScoreStr[liveScoreStr.find('"id"')+7:liveScoreStr.find(' }')-2]).upper()

print

print " "+teams

print

print " "+matchID

print

print " "+matchType

print

print " "+matchNumber

print

print " "+series

print

print " "+matchStatus

print

print " "+currentStatus

print

print

liveScoreStr=liveScoreStr[:liveScoreStr.find(' {')-
1]+liveScoreStr[liveScoreStr.find('}')+2:]

else:

print (""" _________________________

LIVE/RECENT MATCHES :

-------------------------""")

print

print " NO INTERNET CONNECTION!!!"

print

askToRefresh=(""" (1)REFRESH - ENTER 1

(2)MAIN MENU - ENTER ANYTHING


""")

print askToRefresh

self.askDialog(2)

def appInfo(self):

print theme()

print (""" ____________________

PROGRAM INFO :

--------------------""")

print

print (""" -PROGRAM IS MADE USING PYTHON 2.7

-BUGS FOUND??? EMAIL US AT: JEEV83840@GMAIL.COM

-HAVING VISUAL ERRORS??? TRYING USING IT IN CMD.

""")

print (""" _________________________________

ADDITIONAL LIBRARIES USED :

---------------------------------""")

print

print (""" -URLLIB2 - INTERNET ACCESSING LIBRARY

-BEAUTIFUL SOUP - WEB SCRAPPING LIBRARY

-JSON - WEBPAGE DATA FORMATING LIBRARY

""")

enterToReturn=str(raw_input(" PRESS ENTER TO RETURN TO MAIN MENU!!!!!"))

self.mainMenu()

def quitProgram(self):

print theme()

print

print

print

print (""" =`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=

HOPE YOU LIKED THE PROGRAM

=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=`=""")

time.sleep(4)

quit()

class Cricbuzz():
url="http://synd.cricbuzz.com/j2me/1.0/livematches.xml"

def __init__(self):

pass

def getxml(self,url):

try:

req=requests.get(url)

except requests.exceptions.RequestException as e:

print (e)

sys.exit(1)

soup=BeautifulSoup(req.text,"html.parser")

return soup

def matchinfo(self,match):

matchInfoDict={}

matchInfoDict['id']=match['id']

matchInfoDict['srs']=match['srs']

matchInfoDict['mchdesc']=match['mchdesc']

matchInfoDict['mnum']=match['mnum']

matchInfoDict['type']=match['type']

matchInfoDict['mchstate']=match.state['mchstate']

matchInfoDict['status']=match.state['status']

return matchInfoDict

def matches(self):

xml=self.getxml(self.url)

matches=xml.find_all('match')

info=[]

for match in matches:

info.append(self.matchinfo(match))

return info

if __name__ == "__main__":

cricketObject=Cricket()

You might also like