I have the following view in django which works as expected:
from xmlsoccer import XmlSoccer
from straightred.models import StraightredFixtureLive
@csrf_exempt
def updatefixtureslive(request, soccerseason, league):
if request.user.is_authenticated():
xmlsoccer = XmlSoccer(api_key='XYZ123ABC789', use_demo=False)
fixtureslive = xmlsoccer.call_api(method='GetLiveScoreByLeague',
league='English Premier League')
count = 0
for fixturelive in fixtureslive:
if 'Id' in fixturelive.keys():
count = count + 1
fixtureLiveUpdate = StraightredFixtureLive(fixtureid_id=fixturelive['Id'],
away_team_id = fixturelive['AwayTeam_Id'],
home_team_id = fixturelive['HomeTeam_Id'],
fixturedate = fixturelive['Date'],
fixturestatus = fixturelive['Time'],
fixturematchday_id = fixturelive['Round'],
spectators = fixturelive['Spectators'],
hometeamscore = fixturelive['HomeGoals'],
awayteamscore = fixturelive['AwayGoals'],
homegoaldetails = fixturelive['HomeGoalDetails'],
awaygoaldetails = fixturelive['AwayGoalDetails'],
hometeamyellowcarddetails = fixturelive['HomeTeamYellowCardDetails'],
awayteamyellowcarddetails = fixturelive['AwayTeamYellowCardDetails'],
hometeamredcarddetails = fixturelive['HomeTeamRedCardDetails'],
awayteamredcarddetails = fixturelive['AwayTeamRedCardDetails']
)
fixtureLiveUpdate.save()
return HttpResponse("Live games have been updated." + str(count))
else:
return HttpResponse("You must be logged in to update teams.")
I have removed all the parts I thought were just django specific and ended up with the following:
from xmlsoccer import XmlSoccer
from straightred.models import StraightredFixtureLive
xmlsoccer = XmlSoccer(api_key='XYZ123ABC789', use_demo=False)
fixtureslive = xmlsoccer.call_api(method='GetLiveScoreByLeague',
league='English Premier League')
count = 0
for fixturelive in fixtureslive:
if 'Id' in fixturelive.keys():
count = count + 1
fixtureLiveUpdate = StraightredFixtureLive(fixtureid_id=fixturelive['Id'],
away_team_id = fixturelive['AwayTeam_Id'],
home_team_id = fixturelive['HomeTeam_Id'],
fixturedate = fixturelive['Date'],
fixturestatus = fixturelive['Time'],
fixturematchday_id = fixturelive['Round'],
spectators = fixturelive['Spectators'],
hometeamscore = fixturelive['HomeGoals'],
awayteamscore = fixturelive['AwayGoals'],
homegoaldetails = fixturelive['HomeGoalDetails'],
awaygoaldetails = fixturelive['AwayGoalDetails'],
hometeamyellowcarddetails = fixturelive['HomeTeamYellowCardDetails'],
awayteamyellowcarddetails = fixturelive['AwayTeamYellowCardDetails'],
hometeamredcarddetails = fixturelive['HomeTeamRedCardDetails'],
awayteamredcarddetails = fixturelive['AwayTeamRedCardDetails'])
fixtureLiveUpdate.save()
However, I just get the following error:
bash: update_live.py: line 6: syntax error near unexpected token `('
What I am after is using looking to create the python file and then use crontab to run it at predetermined times.
If anyone can offer any advice on this it would be appreciated.
Many thanks, Alan.