- # -*- encoding: utf-8 -*-
- clr.AddReference("System.Windows.Forms")
- from System.Windows.Forms import *
- #
- clr.AddReference("System.Drawing")
- from System.Drawing import *
- #
- clr.AddReference("System.Net")
- from System.Net import WebRequest, ServicePointManager, SecurityProtocolType
- #
- clr.AddReference("System.IO")
- from System.IO import StreamReader
- #
- import base64, json, codecs
- #
- from System.Threading import *
- from datetime import datetime, timedelta
- from collections import OrderedDict
- class API:
- def __init__(self):
- self.data = {}
- self.matchId = None
- self.events = []
- self.draw = None
- self.gameId = None
- self.gameIndex = None
- self.selectedIndex = None
- self.matchesFilteredByDraw = None
- self.lastScore = None
- self.lastStats = None
- self.statusConn = None
- self.roundName = ""
- self.points = {
- "HomeTeam" : "",
- "AwayTeam" : ""
- }
- self.sets = {
- "HomeTeam" : [0,0,0,0,0],
- "AwayTeam" : [0,0,0,0,0]
- }
- self.ad = {
- "HomeTeam" : False,
- "AwayTeam" : False
- }
- self.matchFinished = None
- self.oldSet = 0
- self.test = CheckTesting.Checked
- Globals["Rewind"] = False
- self.status = False
- self.manualHomeService = False
- self.manualAwayService = False
- Globals["SponsorOnAnimantion"] = False
- #self.set_all_controls_visible(self)
- def Init(self):
- Globals["frmApiCrionet"] = Script.Form.Form
- self.GetDefault()
- self.matchId = None
- self.draw = None
- self.gameId = None
- self.gameIndex = None
- self.selectedIndex = None
- self.matchesFilteredByDraw = None
- self.statusConn = None
- self.roundName = ""
- self.points = {
- "HomeTeam" : "",
- "AwayTeam" : ""
- }
- self.sets = {
- "HomeTeam" : [0,0,0,0,0],
- "AwayTeam" : [0,0,0,0,0]
- }
- self.ad = {
- "HomeTeam" : False,
- "AwayTeam" : False
- }
- self.matchFinished = None
- self.oldSet = 0
- status = self.__Login()
- if status:
- return self.__GetScheduledMatches()
- else:
- return None
- self.manualHomeService = False
- self.manualAwayService = False
- def set_all_controls_visible(self, parent):
- for control in Script.Form.Form.Controls:
- control.Visible = True
- #if control.Controls.Count > 0:
- #self.set_all_controls_visible(control)
- def GetDefault(self):
- self.data = {"Sets": 3,
- "Match Finished": False,
- "Resolution Match": "NORMAL",
- "Resolution Match Points": 11,
- "Golden Point": "STAR POINT",
- "TieBreak": False,
- "Tie Break Service": 1,
- "Results": {"CurrentSet": 1,
- "TieBreak": False,
- "Times": [0, 0, 0, 0, 0],
- "Sets Finished": [False, False, False, False, False],
- "Deuces": 0,
- "HomeTeam": {"Guid": ActiveObjects.HomeTeam.Id.ToString(), "Name": ActiveObjects.HomeTeam.ShortName.ToUpper(),
- "Players": [],
- "CurrentGame": "0",
- "Service": 1,
- "LastService": 1,
- "Sets": [0, 0, 0, 0, 0],
- "TieBreaks": [0, 0, 0, 0, 0],
- "Golden Points Total By Set": [0, 0, 0, 0, 0],
- "Golden Points Converted By Set": [0, 0, 0, 0, 0],
- "Golden Points Total": 0,
- "Golden Points Converted": 0,
- "Break Points Total By Set": [0, 0, 0, 0, 0],
- "Break Points Converted By Set": [0, 0, 0, 0, 0],
- "Break Points Total": 0,
- "Break Points Converted": 0,
- "Winners By Set": [0, 0, 0, 0, 0],
- "Winners Total": 0,
- "Unforced Errors By Set": [0, 0, 0, 0, 0],
- "Unforced Errors Total": 0,
- "Smashes Total By Set": [0, 0, 0, 0, 0],
- "Smashes Winners By Set": [0, 0, 0, 0, 0],
- "Smashes Total": 0,
- "Smashes Winners Converted": 0},
- "AwayTeam": {"Guid": ActiveObjects.AwayTeam.Id.ToString(), "Name": ActiveObjects.AwayTeam.ShortName.ToUpper(),
- "Players": [],
- "CurrentGame": "0",
- "Service": 0,
- "LastService": 2,
- "Sets": [0, 0, 0, 0, 0],
- "TieBreaks": [0, 0, 0, 0, 0],
- "Golden Points Total By Set": [0, 0, 0, 0, 0],
- "Golden Points Converted By Set": [0, 0, 0, 0, 0],
- "Golden Points Total": 0,
- "Golden Points Converted": 0,
- "Golden Points By Set": [0, 0, 0, 0, 0],
- "Golden Points Total": 0,
- "Break Points Total By Set": [0, 0, 0, 0, 0],
- "Break Points Converted By Set": [0, 0, 0, 0, 0],
- "Break Points Total": 0,
- "Break Points Converted": 0,
- "Winners By Set": [0, 0, 0, 0, 0],
- "Winners Total": 0,
- "Unforced Errors By Set": [0, 0, 0, 0, 0],
- "Unforced Errors Total": 0,
- "Smashes Total By Set": [0, 0, 0, 0, 0],
- "Smashes Winners By Set": [0, 0, 0, 0, 0],
- "Smashes Total": 0,
- "Smashes Winners Converted": 0},
- }
- }
- def __Login(self):
- #print "Login"
- if not Globals.Contains("API_Token"):
- url = ProjectSettings["API Crionet URL"] #+ "/login"
- user = ProjectSettings["API Crionet User"]
- password = ProjectSettings["API Crionet Password"]
- ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
- request = WebRequest.Create(url)
- request.Timeout = 5000
- #request.Headers.Add(credentials)
- request.Headers.Add("falstaff-key", password)
- request.ContentType = "application/json"
- request.ContentLength = 0
- request.Method = "POST"
- try:
- response = request.GetResponse()
- if response.StatusCode.ToString() == "OK":
- Globals["API_Token"] = response.GetResponseHeader("Token")
- response.Close()
- print "Login success!!!"
- self.statusConn = "Connected"
- return True
- except:
- response.Close()
- print "Login Failed!!!"
- self.statusConn = "Error"
- return False
- else:
- print "Login success!!!"
- self.statusConn = "Connected"
- return True
- def __GetScheduledMatches(self):
- #print "__GetScheduledMatches"
- if Globals.Contains("API_Token"):
- TID = ProjectSettings["API Crionet TID"]
- VID = ProjectSettings["API Crionet VID"]
- password = ProjectSettings["API Crionet Password"]
- year = ProjectSettings["Year"]
- organization = ProjectSettings["Organization (ie, FIP, PPT, etc.)"]
- url = ProjectSettings["API Crionet URL"] + "/api/tournaments/%s/%s/" % (organization,year)
- ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
- request = WebRequest.Create(url)
- request.Timeout = 5000
- request.Headers.Add("falstaff-key", password)
- request.ContentType = "application/json"
- request.Method = "GET"
- try:
- response = request.GetResponse()
- sr = StreamReader(response.GetResponseStream())
- json_string = sr.ReadToEnd()
- items = json.loads(json_string)
- response.Close()
- cboMatches.Items.Clear()
- cboMatches.Text = ""
- cboMatches.Tag = []
- self.events = items
- for i, item in enumerate(items):
- nameCompetition = item['fullName']
- cboMatches.Items.Add(nameCompetition)
- (cboMatches.Tag).append(item["eventCode"])
- except:
- print "Error ocurred"
- def GetInProgressMatches(self):
- if Globals.Contains("API_Token"):
- try:
- self.GetMatchInfo()
- items = self.matchesFilteredByDraw
- self.__RefreshScore(items)
- self.lastScore = datetime.today().strftime('%H:%M:%S')
- self.UpdateInfo()
- return True
- except Exception as e:
- print "Error getting In Progress Matches: %s" %e
- return False
- def GetDraws(self):
- #print "GetDraws"
- #print "Self.Events: %s" %self.events
- #print "Event Code: %s" % self.matchId
- event = list(filter(lambda x: x["eventCode"] == self.matchId, self.events))[0]
- #print event
- indexDate = {}
- startDate = event["startDate"]
- endDate = event["endDate"]
- newDate = ""
- startDate = datetime.strptime(startDate, "%m/%d/%Y %I:%M:%S %p")
- endDate = datetime.strptime(endDate, "%m/%d/%Y %I:%M:%S %p")
- diferenca = endDate - startDate
- for i in range(int(diferenca.days)+1):
- if newDate == "":
- indexDate[i] = startDate
- newDate = startDate
- else:
- indexDate[i] = newDate + timedelta(days=1)
- newDate = newDate + timedelta(days=1)
- self.gameIndex = indexDate
- draws = event["draws"]
- cboDraws.Text = ""
- cboDraws.Items.Clear()
- cboDraws.Tag = []
- for draw in draws:
- cboDraws.Items.Add(draw["name"])
- (cboDraws.Tag).append(draw["type"])
- def GetDaysIndex(self):
- cboGameDate.Items.Clear()
- cboGameDate.Tag = []
- for idx,i in enumerate(self.gameIndex,1):
- cboGameDate.Items.Add(self.gameIndex[i].strftime("%m/%d/%Y"))
- (cboGameDate.Tag).append(idx)
- def GetDrawsMatchs(self,clear=True,insert=True):
- password = ProjectSettings["API Crionet Password"]
- year = ProjectSettings["Year"]
- organization = ProjectSettings["Organization (ie, FIP, PPT, etc.)"]
- if self.test:
- url = "http://localhost:3000/courtSchedules"
- else:
- url = ProjectSettings["API Crionet URL"] + "/api/oop/%s/%s/%s/%s" % (organization,year,self.matchId,self.selectedIndex)
- # LOG - o que vamos pedir
- print "[GetDrawsMatchs] URL: %s" % url
- print "[GetDrawsMatchs] matchId=%s | selectedIndex=%s | draw=%s | test=%s" % (self.matchId, self.selectedIndex, self.draw, self.test)
- ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
- request = WebRequest.Create(url)
- request.Timeout = 5000
- request.Headers.Add("falstaff-key", password)
- request.ContentType = "application/json"
- request.Method = "GET"
- if clear != False:
- cboDrawsMatchs.Text = ""
- cboDrawsMatchs.Items.Clear()
- try:
- response = request.GetResponse()
- print "[GetDrawsMatchs] HTTP status: %s" % response.StatusCode.ToString()
- sr = StreamReader(response.GetResponseStream())
- json_string = sr.ReadToEnd()
- items = json.loads(json_string)
- response.Close()
- # LOG - guardar a resposta crua (só com o debug ativo)
- if chkDebug.Checked:
- self.__SaveJSON(items, "DrawsMatchs_day%s" % self.selectedIndex)
- courtSchedules = items["courtSchedules"]
- allItems = [item for schedule in courtSchedules for item in schedule.get("items", [])]
- print "[GetDrawsMatchs] courts=%s | total jogos na resposta=%s" % (len(courtSchedules), len(allItems))
- print "[GetDrawsMatchs] matchIds recebidos: %s" % [i["match"]["matchId"] for i in allItems]
- prefixes = {"LD": ("LD", "WD"), "WD": ("LD", "WD"), "MD": ("MD",)}.get(self.draw, (self.draw,))
- drawsMatchesFiltered = list(filter(lambda item: item["match"]["matchId"].startswith(prefixes), allItems))
- print "[GetDrawsMatchs] depois do filtro '%s': %s jogos" % (self.draw, len(drawsMatchesFiltered))
- drawsMatchesFiltered = sorted(drawsMatchesFiltered,key=lambda x: x['match']['matchId'])
- self.matchesFilteredByDraw = drawsMatchesFiltered
- cboDrawsMatchs.Tag = []
- for drawMatch in drawsMatchesFiltered:
- drawMatchId = drawMatch['match']["matchId"]
- homeCountry = ""
- awayCountry = ""
- try:
- homePlayer = drawMatch['match']['team1']["player"]["lastName"].split()
- homePlayer = homePlayer[-1].upper() if len(homePlayer) > 1 else homePlayer[0].upper()
- except:
- homePlayer = ""
- try:
- homeCountry = drawMatch['match']['team1']["player"]['countryCode']
- awayCountry = drawMatch['match']['team2']["player"]['countryCode']
- except:
- pass
- try:
- homePartner = drawMatch['match']['team1']["partner"]["lastName"].split()
- homePartner = homePartner[-1].upper() if len(homePartner) > 1 else homePartner[0].upper()
- except:
- homePartner = ""
- try:
- awayPlayer = drawMatch['match']['team2']["player"]["lastName"].split()
- awayPlayer = awayPlayer[-1].upper() if len(awayPlayer) > 1 else awayPlayer[0].upper()
- except:
- awayPlayer = ""
- try:
- awayPartner = drawMatch['match']['team2']["partner"]["lastName"].split()
- awayPartner = awayPartner[-1].upper() if len(awayPartner) > 1 else awayPartner[0].upper()
- except:
- awayPartner = ""
- if insert == True:
- cboDrawsMatchs.Items.Add("%s - (%s) %s - %s | %s - %s (%s)" % (drawMatchId,homeCountry,homePlayer,homePartner,awayPlayer,awayPartner,awayCountry))
- (cboDrawsMatchs.Tag).append(drawMatchId)
- return drawsMatchesFiltered
- except Exception as e:
- print "Error ocurred %s" %e
- def GetMatchInfo(self):
- #print "GetMatchInfo"
- password = ProjectSettings["API Crionet Password"]
- year = ProjectSettings["Year"]
- organization = ProjectSettings["Organization (ie, FIP, PPT, etc.)"]
- if self.test:
- url = "http://localhost:3000/matchinfo"
- else:
- url = ProjectSettings["API Crionet URL"] + "/api/matchinfo/%s/%s/%s/%s" % (organization,year,self.matchId,self.gameId)
- #for Testing:
- #url = "http://localhost:3000/matchinfo"
- ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
- request = WebRequest.Create(url)
- request.Timeout = 5000
- request.Headers.Add("falstaff-key", password)
- request.ContentType = "application/json"
- request.Method = "GET"
- try:
- response = request.GetResponse()
- sr = StreamReader(response.GetResponseStream())
- json_string = sr.ReadToEnd()
- items = json.loads(json_string)
- response.Close()
- if chkDebug.Checked:
- self.__SaveJSON(items, "Matchdata")
- self.matchesFilteredByDraw = items
- if items['status'] == "F":
- self.matchFinished = True
- self.data["Match Finished"] = True
- else:
- self.matchFinished = False
- self.data["Match Finished"] = False
- if lblStatus.Text == "API ERROR":
- lblStatus.Text = "RUNNING..."
- lblStatus.ForeColor = Color.SpringGreen
- except Exception as e:
- print "Error ocurred %s" %e
- lblStatus.Text = "API ERROR"
- lblStatus.ForeColor = Color.Salmon
- return
- return items
- def __GetStats(self):
- #print "__GetStats"
- if Globals.Contains("API_Token") and self.matchId:
- try:
- items = self.GetDrawsMatchs(False,False)
- if chkDebug.Checked:
- self.__SaveJSON(items, "Stats")
- self.lastStats = datetime.today().strftime('%H:%M:%S')
- self.UpdateInfo()
- return True
- except:
- response.Close()
- print "Error getting In Progress Matches"
- return False
- def __RefreshScore(self, item):
- #print "__RefreshScore"
- try:
- status = item['status']
- self.roundName = item['roundName']
- if status == "F":
- self.matchFinished = True
- else:
- self.matchFinished = False
- sets = {"Team1": [],"Team2": []}
- ties = {"Team1": [],"Team2": []}
- for i in range(1,6):
- sets['Team1'].append(item["score"]["team1"]["set%s"%i])
- sets['Team2'].append(item["score"]["team2"]["set%s"%i])
- ties['Team1'].append(item["score"]["team1"]["tie%s"%i])
- ties['Team2'].append(item["score"]["team2"]["tie%s"%i])
- Globals["PadelScoreboard"].data["Results"]["HomeTeam"]["Sets"][i-1] = int(item["score"]["team1"]["set%s"%i]) if item["score"]["team1"]["set%s"%i] else 0
- Globals["PadelScoreboard"].data["Results"]["AwayTeam"]["Sets"][i-1] = int(item["score"]["team2"]["set%s"%i]) if item["score"]["team2"]["set%s"%i] else 0
- Globals["PadelScoreboard"].data["Results"]["HomeTeam"]["CurrentGame"] = str(item["score"]["team1"]["points"])
- Globals["PadelScoreboard"].data["Results"]["AwayTeam"]["CurrentGame"] = str(item["score"]["team2"]["points"])
- last_valid_index = [idx for idx, x in enumerate(sets['Team1']) if x is not None]
- last_valid_index = last_valid_index[-1:][0] if last_valid_index[-1:] else None
- if last_valid_index == None:
- # Ajust for service before score
- self.data["Results"]["HomeTeam"]["Service"] = 1 if item["score"]["server"] == 1 else 2 if item["score"]["server"] == 3 else 0
- self.data["Results"]["AwayTeam"]["Service"] = 1 if item["score"]["server"] == 2 else 2 if item["score"]["server"] == 4 else 0
- return
- self.data["Results"]["CurrentSet"] = str(int(last_valid_index) + 1 )
- Globals["PadelScoreboard"].data["Results"]["CurrentSet"] = int(last_valid_index) + 1
- for i in range(0,int(self.data["Results"]["CurrentSet"])-1):
- self.data["Results"]["Sets Finished"][i] = True
- del self.data["Results"]["HomeTeam"]["Players"][:]
- del self.data["Results"]["AwayTeam"]["Players"][:]
- (self.data["Results"]["HomeTeam"]["Players"]).append(item["team1"]["player"])
- (self.data["Results"]["HomeTeam"]["Players"]).append(item["team1"]["partner"])
- (self.data["Results"]["AwayTeam"]["Players"]).append(item["team2"]["player"])
- (self.data["Results"]["AwayTeam"]["Players"]).append(item["team2"]["partner"])
- #Points
- self.data["Results"]["HomeTeam"]["CurrentGame"] = str(item["score"]["team1"]["points"]) if not item["score"]["team1"]["points"] == None else "0"
- self.data["Results"]["AwayTeam"]["CurrentGame"] = str(item["score"]["team2"]["points"]) if not item["score"]["team2"]["points"] == None else "0"
- if self.data["Results"]["HomeTeam"]["CurrentGame"] != "" and self.data["Results"]["HomeTeam"]["CurrentGame"] != self.points["HomeTeam"] and status == "P":
- if self.data["Results"]["HomeTeam"]["CurrentGame"].lower() == "ad" and not self.ad["HomeTeam"]:
- self.points["HomeTeam"] = self.data["Results"]["HomeTeam"]["CurrentGame"]
- if self.data["Results"]["HomeTeam"]["CurrentGame"]!= "0":
- #Colocar ponto no form sem usar o click
- #Globals["PadelScoreboard"].SetPoint(ActiveObjects.HomeTeam, None)
- self.ad["HomeTeam"] = True
- self.ad["AwayTeam"] = False
- if not self.ad["HomeTeam"]:
- #print "Create point for HomeTeam"
- if self.data["Results"]["HomeTeam"]["CurrentGame"]!= "0":
- #Globals["PadelScoreboard"].SetPoint(ActiveObjects.HomeTeam, None)
- self.points["HomeTeam"] = self.data["Results"]["HomeTeam"]["CurrentGame"]
- if self.ad["HomeTeam"]:
- if int(sets['Team1'][last_valid_index]) > int(self.sets["HomeTeam"][last_valid_index]):
- #Globals["PadelScoreboard"].SetPoint(ActiveObjects.HomeTeam, None)
- self.sets["HomeTeam"][last_valid_index] = sets['Team1'][last_valid_index]
- self.points["AwayTeam"] = "0"
- self.points["HomeTeam"] = "0"
- self.data["Results"]["HomeTeam"]["CurrentGame"]= "0"
- self.data["Results"]["AwayTeam"]["CurrentGame"]= "0"
- self.ad["HomeTeam"] = False
- self.ad["AwayTeam"] = False
- if self.data["Results"]["HomeTeam"]["CurrentGame"] == "40":
- #Globals["PadelScoreboard"].SetPoint(ActiveObjects.AwayTeam, None)
- self.ad["HomeTeam"] = False
- self.ad["AwayTeam"] = False
- self.points["HomeTeam"] = self.data["Results"]["HomeTeam"]["CurrentGame"]
- if int(sets['Team1'][last_valid_index]) > int(self.sets["HomeTeam"][last_valid_index]) and status == "P":
- #Globals["PadelScoreboard"].SetPoint(ActiveObjects.HomeTeam, None)
- self.sets["HomeTeam"][last_valid_index] = sets['Team1'][last_valid_index]
- self.points["AwayTeam"] = "0"
- self.points["HomeTeam"] = "0"
- self.data["Results"]["HomeTeam"]["CurrentGame"]= "0"
- self.data["Results"]["AwayTeam"]["CurrentGame"]= "0"
- if self.data["Results"]["AwayTeam"]["CurrentGame"] != "" and self.data["Results"]["AwayTeam"]["CurrentGame"] != self.points["AwayTeam"] and status == "P":
- if self.data["Results"]["AwayTeam"]["CurrentGame"].lower() == "ad" and not self.ad["AwayTeam"]:
- self.points["AwayTeam"] = self.data["Results"]["AwayTeam"]["CurrentGame"]
- if self.data["Results"]["AwayTeam"]["CurrentGame"]!= "0":
- #Globals["PadelScoreboard"].SetPoint(ActiveObjects.AwayTeam, None)
- self.ad["HomeTeam"] = False
- self.ad["AwayTeam"] = True
- if not self.ad["AwayTeam"]:
- #print "Create point for AwayTeam"
- if self.data["Results"]["AwayTeam"]["CurrentGame"]!= "0":
- #Globals["PadelScoreboard"].SetPoint(ActiveObjects.AwayTeam, None)
- self.points["AwayTeam"] = self.data["Results"]["AwayTeam"]["CurrentGame"]
- if self.ad["AwayTeam"]:
- if int(sets['Team2'][last_valid_index]) > int(self.sets["AwayTeam"][last_valid_index]):
- #Globals["PadelScoreboard"].SetPoint(ActiveObjects.AwayTeam, None)
- self.sets["AwayTeam"][last_valid_index] = sets['Team2'][last_valid_index]
- self.points["AwayTeam"] = "0"
- self.points["HomeTeam"] = "0"
- self.data["Results"]["HomeTeam"]["CurrentGame"]= "0"
- self.data["Results"]["AwayTeam"]["CurrentGame"]= "0"
- self.ad["HomeTeam"] = False
- self.ad["AwayTeam"] = False
- if self.data["Results"]["AwayTeam"]["CurrentGame"] == "40":
- #Globals["PadelScoreboard"].SetPoint(ActiveObjects.HomeTeam, None)
- self.ad["HomeTeam"] = False
- self.ad["AwayTeam"] = False
- self.points["AwayTeam"] = self.data["Results"]["AwayTeam"]["CurrentGame"]
- if int(sets['Team2'][last_valid_index]) > int(self.sets["AwayTeam"][last_valid_index]) and status == "P":
- #Globals["PadelScoreboard"].SetPoint(ActiveObjects.AwayTeam, None)
- self.sets["AwayTeam"][last_valid_index] = sets['Team2'][last_valid_index]
- self.points["AwayTeam"] = "0"
- self.points["HomeTeam"] = "0"
- self.data["Results"]["HomeTeam"]["CurrentGame"]= "0"
- self.data["Results"]["AwayTeam"]["CurrentGame"]= "0"
- # Sets, Tie Breaks, Times
- scoreHome = 0
- scoreAway = 0
- for i in range(0,5):
- self.data["Results"]["HomeTeam"]["Sets"][i] = item["score"]["team1"]["set%s"%(i+1)] if not item["score"]["team1"]["set%s"%(i+1)] == None else 0
- self.data["Results"]["AwayTeam"]["Sets"][i] = item["score"]["team2"]["set%s"%(i+1)] if not item["score"]["team2"]["set%s"%(i+1)] == None else 0
- self.data["Results"]["HomeTeam"]["TieBreaks"][i] = item["score"]["team1"]["tie%s"%(i+1)]
- self.data["Results"]["AwayTeam"]["TieBreaks"][i] = item["score"]["team2"]["tie%s"%(i+1)]
- curSet = int(self.data["Results"]["CurrentSet"])-1
- # Verify if is TieBreak
- # If set is 2 or more. In this case index 0 set 1 index 1 set 2
- #print "CurSet %s type: %s" % (curSet, type(curSet))
- if curSet >= 1:
- #print "Home CurSet: %s type: %s" % (self.data["Results"]["HomeTeam"]["Sets"][curSet], type(self.data["Results"]["HomeTeam"]["Sets"][curSet]))
- #print "Away CurSet: %s type: %s" % (self.data["Results"]["AwayTeam"]["Sets"][curSet], type(self.data["Results"]["AwayTeam"]["Sets"][curSet]))
- if self.data["Results"]["HomeTeam"]["Sets"][curSet] >= 6 and self.data["Results"]["AwayTeam"]["Sets"][curSet] >= 6:
- #print "Setei TieBreak true "
- self.data["TieBreak"] = True
- else:
- self.data["TieBreak"] = False
- # Service
- if self.manualHomeService == False and self.manualAwayService == False:
- #self.data["Results"]["HomeTeam"]["Service"] = 1 if item["score"]["server"] == 1 or item["score"]["server"] == 3 else 0
- #self.data["Results"]["AwayTeam"]["Service"] = 1 if item["score"]["server"] == 2 or item["score"]["server"] == 4 else 0
- self.data["Results"]["HomeTeam"]["Service"] = 1 if item["score"]["server"] == 1 else 2 if item["score"]["server"] == 3 else 0
- self.data["Results"]["AwayTeam"]["Service"] = 1 if item["score"]["server"] == 2 else 2 if item["score"]["server"] == 4 else 0
- if self.data["Results"]["HomeTeam"]["Service"] == 1:
- Globals["PadelScoreboard"].data["Results"]["HomeTeam"]["Service"] = 1
- Globals["PadelScoreboard"].data["Results"]["AwayTeam"]["Service"] = 0
- Globals["PadelScoreboard"].UpdateInterface()
- elif self.data["Results"]["AwayTeam"]["Service"] == 1:
- Globals["PadelScoreboard"].data["Results"]["HomeTeam"]["Service"] = 0
- Globals["PadelScoreboard"].data["Results"]["AwayTeam"]["Service"] = 1
- Globals["PadelScoreboard"].UpdateInterface()
- #SET FINISHED
- #if self.data["Resolution Match"] == "NO LAST TIE BREAK":
- #if self.data["Results"]["CurrentSet"] == int(cboNumSets.Text):
- #if self.data["Results"][actionTeam]["Sets"][currentSet-1] > 5:
- #if (self.data["Results"][otherTeam]["Sets"][currentSet-1] + 1) < self.data["Results"][actionTeam]["Sets"][currentSet-1]:
- ##self.SetFinished()
- #setFinished = True
- #else:
- ##########################################################################################
- #print "TieBreak: %s" % self.data["TieBreak"]
- #print "Home: %s Type: %s" % (self.data["Results"]["HomeTeam"]["Sets"][curSet], type(self.data["Results"]["HomeTeam"]["Sets"][curSet]))
- #print "Away: %s Type: %s " %(self.data["Results"]["AwayTeam"]["Sets"][curSet], type(self.data["Results"]["AwayTeam"]["Sets"][curSet]))
- if self.data["Results"]["HomeTeam"]["Sets"][curSet] == 6:
- if self.data["Results"]["AwayTeam"]["Sets"][curSet] < 5: # SET WON
- Globals["PadelScoreboard"].data["Results"]["Sets Finished"][curSet] = True
- self.data["Results"]["Sets Finished"][curSet] = True
- elif self.data["Results"]["HomeTeam"]["Sets"][curSet] == 7:
- if not self.data["TieBreak"]:
- if self.data["Results"]["AwayTeam"]["Sets"][curSet] in [5,6]: #--> SET WON
- Globals["PadelScoreboard"].data["Results"]["Sets Finished"][curSet] = True
- self.data["Results"]["Sets Finished"][curSet] = True
- else:
- Globals["PadelScoreboard"].data["Results"]["Sets Finished"][curSet] = True
- self.data["Results"]["Sets Finished"][curSet] = True
- elif self.data["Results"]["AwayTeam"]["Sets"][curSet] == 6:
- if self.data["Results"]["HomeTeam"]["Sets"][curSet] < 5: # SET WON
- Globals["PadelScoreboard"].data["Results"]["Sets Finished"][curSet] = True
- self.data["Results"]["Sets Finished"][curSet] = True
- elif self.data["Results"]["AwayTeam"]["Sets"][curSet] == 7:
- if not self.data["TieBreak"]:
- if self.data["Results"]["HomeTeam"]["Sets"][curSet] in [5,6]: #--> SET WON
- Globals["PadelScoreboard"].data["Results"]["Sets Finished"][curSet] = True
- self.data["Results"]["Sets Finished"][curSet] = True
- else:
- Globals["PadelScoreboard"].data["Results"]["Sets Finished"][curSet] = True
- self.data["Results"]["Sets Finished"][curSet] = True
- else:
- #print "Cai no else"
- Globals["PadelScoreboard"].data["Results"]["Sets Finished"][curSet] = False
- self.data["Results"]["Sets Finished"][curSet] = False
- if int(self.data["Results"]["CurrentSet"]) > int(self.oldSet):
- Project.ExecuteScript("Online_API", "SetFinished")
- self.oldSet = self.data["Results"]["CurrentSet"]
- return
- Globals["PadelScoreboard"].UpdateInterface()
- self.__UpdateData()
- except Exception as e:
- import os
- import sys
- e_type, e_object, e_traceback = sys.exc_info()
- e_filename = os.path.split(
- e_traceback.tb_frame.f_code.co_filename
- )[1]
- e_message = str(e)
- e_line_number = e_traceback.tb_lineno
- print('exception line number: %s'%e_line_number)
- print('exception message: %s' %e_message)
- def __UpdateData(self):
- #print "Update data"
- try:
- frm = Script.Form.Form
- teams = ["Home", "Away"]
- for i in range(2):
- if len(self.data["Results"][teams[i] + "Team"]["Players"]) > 0:
- frm.Controls["lbl" + teams[i] + "Team"].Text = self.data["Results"][teams[i] + "Team"]["Players"][0]["lastName"][:3].upper() + "/" + self.data["Results"][teams[i] + "Team"]["Players"][1]["lastName"][:3].upper()
- else:
- frm.Controls["lbl" + teams[i] + "Team"].Text = "-"
- frm.Controls["lbl" + teams[i] + "Point"].Text = self.data["Results"][teams[i] + "Team"]["CurrentGame"]
- for x in range(5):
- frm.Controls["lbl" + teams[i] + "Set" + str(x+1).zfill(2)].Text = str(self.data["Results"][teams[i] + "Team"]["Sets"][x])
- frm.Controls["lbl" + teams[i] + "Tie" + str(x+1).zfill(2)].Text = str(self.data["Results"][teams[i] + "Team"]["TieBreaks"][x]) if self.data["Results"][teams[i] + "Team"]["TieBreaks"][x] and self.data["Results"][teams[i] + "Team"]["TieBreaks"][x] != -1 else "-"
- #frm.Controls["lbl" + teams[i] + "GoldPoint"].Text = str(self.data["Results"][teams[i] + "Team"]["Golden Points Converted"]) + "/" + str(self.data["Results"][teams[i] + "Team"]["Golden Points Total"])
- #frm.Controls["lbl" + teams[i] + "BreakPoint"].Text = str(self.data["Results"][teams[i] + "Team"]["Break Points Converted"]) + "/" + str(self.data["Results"][teams[i] + "Team"]["Break Points Total"])
- #frm.Controls["lbl" + teams[i] + "UnforcedError"].Text = "0"
- #frm.Controls["lbl" + teams[i] + "Winner"].Text = "0"
- #frm.Controls["lbl" + teams[i] + "Smash"].Text = "0"
- #if self.manualHomeService:
- #frm.Controls["HomeService"].Checked = True
- #if self.manualAwayService:
- #frm.Controls["AwayService"].Checked = True
- if self.manualHomeService == False and self.manualAwayService == False:
- pass
- if self.data["Results"][teams[i] + "Team"]["Service"] == 0:
- frm.Controls["lbl" + teams[i] + "Team"].ForeColor = Color.WhiteSmoke
- #frm.Controls[teams[i] + "Service"].Checked = False
- else:
- frm.Controls["lbl" + teams[i] + "Team"].ForeColor = Color.SpringGreen
- #frm.Controls[teams[i] + "Service"].Checked = True
- self.fillColorSetWinner()
- self.CheckStatusOnline()
- except Exception as e:
- print "Error on __UpdateData: %s" % e
- def fillColorSetWinner(self):
- frm = Script.Form.Form
- for i in range(3):
- valueHome = int(frm.Controls["lblHomeSet%02d"%(i+1)].Text)
- valueAway = int(frm.Controls["lblAwaySet%02d"%(i+1)].Text)
- if valueHome > valueAway:
- #print "Home Maior"
- frm.Controls["lblHomeSet%02d"%(i+1)].ForeColor = Color.SpringGreen
- elif valueAway > valueHome:
- #print "Away Maior"
- frm.Controls["lblAwaySet%02d"%(i+1)].ForeColor = Color.SpringGreen
- else:
- #print "Os Dois Iguais"
- frm.Controls["lblHomeSet%02d"%(i+1)].ForeColor = Color.WhiteSmoke
- frm.Controls["lblAwaySet%02d"%(i+1)].ForeColor = Color.WhiteSmoke
- def UpdateInfo(self, error = ""):
- #print "UpdateInfo"
- if self.matchId and self.draw and self.selectedIndex:
- btnReload.Enabled = True
- else:
- btnReload.Enabled = False
- msg = ""
- if self.test:
- msg += ("TESTING.... " + "\n")
- msg += ("Status API: " + str(self.statusConn) + "\n")
- if self.matchId:
- msg += ("Competition ID: " + str(self.matchId) + "\n")
- if self.draw:
- msg += ("Draw: " + str(self.draw) + "\n")
- if self.gameId:
- msg += ("Game ID: " + str(self.gameId) + "\n")
- msg += ("Match Finished: " + str(self.matchFinished) + "\n")
- msg += ("Last Score Update: " + str(self.lastScore) + "\n")
- curSet = int(self.data["Results"]["CurrentSet"])-1
- setIsFinish = self.data["Results"]["Sets Finished"][curSet]
- msg += ("Set(%s) Finish: %s " % (str(curSet + 1),setIsFinish )+ "\n")
- if not error == "":
- msg += ("Error: " + error + "\n\n")
- lblInfo.Text = msg
- def clearAll(self):
- #print "Limpando tudo!"
- cboDraws.Text = ""
- cboDraws.Items.Clear()
- cboGameDate.Text = ""
- cboGameDate.Items.Clear()
- cboDrawsMatchs.Text = ""
- cboDrawsMatchs.Items.Clear()
- self.matchId = None
- self.draw = None
- self.gameId = None
- self.gameIndex = None
- self.selectedIndex = None
- self.matchesFilteredByDraw = None
- self.manualHomeService = False
- self.manualAwayService = False
- HomeService.Checked = False
- AwayService.Checked = False
- Globals["API"].LastSum2Sets = 0
- def clearRefresh(self):
- self.gameId = None
- self.matchesFilteredByDraw = None
- def __SaveJSON(self, data, name):
- time4json = datetime.today().strftime('%Y%m%d_%H%M%S%f')
- output_file = codecs.open(Project.AddonsDataPath + "\\API\\MATCHDATA\\" + "%s_%s.json" % (name,time4json), "w", encoding="utf-8")
- json.dump(data, output_file, sort_keys=False, indent=4, ensure_ascii=False)
- def createHomePoints(self):
- pointsIdx = {"0":"15","15":"30","30":"40","40":""}
- try:
- points = self.data["Results"]["HomeTeam"]["CurrentGame"]
- except:
- points = "0"
- newPoints = pointsIdx[points]
- self.data["Results"]["HomeTeam"]["CurrentGame"] = newPoints
- def createAwayPoints(self):
- pointsIdx = {"0":"15","15":"30","30":"40","40":""}
- try:
- points = self.data["Results"]["AwayTeam"]["CurrentGame"]
- except:
- points = "0"
- newPoints = pointsIdx[points]
- self.data["Results"]["AwayTeam"]["CurrentGame"] = newPoints
- def CheckStatusOnline(self):
- try:
- isTieBreak = self.data["TieBreak"]
- currentSet = int(self.data["Results"]["CurrentSet"])
- homeCurrentGame = self.data["Results"]["HomeTeam"]["CurrentGame"]
- awayCurrentGame = self.data["Results"]["AwayTeam"]["CurrentGame"]
- homeCurrentSet = int(self.data["Results"]["HomeTeam"]["Sets"][currentSet-1])
- awayCurrentSet = int(self.data["Results"]["AwayTeam"]["Sets"][currentSet-1])
- if isTieBreak:
- homeCurrentTieBreak = int(homeCurrentGame)
- awayCurrentTieBreak = int(awayCurrentGame)
- else:
- homeCurrentTieBreak = 0
- awayCurrentTieBreak = 0
- homeScore = 0
- awayScore = 0
- for t in range(self.data["Sets"]):
- if self.data["Results"]["Sets Finished"][t]:
- if self.data["Results"]["HomeTeam"]["Sets"][t] > self.data["Results"]["AwayTeam"]["Sets"][t]:
- homeScore += 1
- else:
- awayScore += 1
- # Checking SetPoint
- matchPoint = False
- setPoint = False
- advantagePoint = False
- tournamentPoint = (str(self.roundName) == "F")
- startPoint = False
- if homeCurrentSet == 6 and awayCurrentSet == 6:
- if homeCurrentTieBreak > 5 and homeCurrentTieBreak > awayCurrentTieBreak: #and homeCurrentTieBreak > awayCurrentTieBreak+1
- setPoint = True
- if homeScore == (self.data["Sets"]/2):
- matchPoint = True
- if awayCurrentTieBreak > 5 and awayCurrentTieBreak > homeCurrentTieBreak: #and awayCurrentTieBreak > homeCurrentTieBreak+1
- setPoint = True
- if awayScore == (self.data["Sets"]/2):
- matchPoint = True
- else:
- if homeCurrentSet > 4 and homeCurrentSet > awayCurrentSet:
- if homeCurrentGame == "40" and Globals["OnlineAPIAdvantageCount"] == 2:
- setPoint = True
- if homeScore == (self.data["Sets"]/2):
- matchPoint = True
- elif homeCurrentGame == "Ad":
- setPoint = True
- if homeScore == (self.data["Sets"]/2):
- matchPoint = True
- elif homeCurrentGame == "40" and not awayCurrentGame == "40" and not awayCurrentGame == "Ad":
- setPoint = True
- if homeScore == (self.data["Sets"]/2):
- matchPoint = True
- elif awayCurrentSet > 4 and awayCurrentSet > homeCurrentSet:
- if awayCurrentGame == "40" and Globals["OnlineAPIAdvantageCount"] == 2:
- setPoint = True
- if awayScore == (self.data["Sets"]/2):
- matchPoint = True
- elif awayCurrentGame == "Ad":
- setPoint = True
- if awayScore == (self.data["Sets"]/2):
- matchPoint = True
- elif awayCurrentGame == "40" and not homeCurrentGame == "40" and not homeCurrentGame == "Ad":
- setPoint = True
- if awayScore == (self.data["Sets"]/2):
- matchPoint = True
- if homeCurrentGame == '40' and awayCurrentGame == '40':
- Globals["OnlineAPIAdvantageUpdate"] = True
- if Globals["OnlineAPIIsAdvantageTitleOnAir"]:
- Globals["OnlineAPIIsAdvantageTitleOnAir"] = False
- Project.ExecuteScript("Online_API", "PopupOut")
- if Globals["OnlineAPIAdvantageCount"] == 1:
- Globals["OnlineAPIIsDeucesTitleOnAir"] = True
- Project.ExecuteScript("Online_API", "PopupIn", "Deuce 2")
- elif Globals["OnlineAPIAdvantageCount"] == 2:
- Globals["OnlineAPIIsDeucesTitleOnAir"] = True
- if matchPoint:
- if tournamentPoint:
- Project.ExecuteScript("Online_API", "PopupIn", "Tournament Point Star Point")
- else:
- Project.ExecuteScript("Online_API", "PopupIn", "Match Point Star Point")
- elif setPoint:
- Project.ExecuteScript("Online_API", "PopupIn", "Set Point Star Point")
- else:
- Project.ExecuteScript("Online_API", "PopupIn", "Star Point")
- else:
- Globals["OnlineAPIIsDeucesTitleOnAir"] = False
- Project.ExecuteScript("Online_API", "PopupOut")
- elif setPoint and not self.matchFinished:
- if matchPoint and not self.matchFinished:
- try:
- if tournamentPoint:
- Project.ExecuteScript("Online_API", "PopupIn", "Tournament Point")
- else:
- Project.ExecuteScript("Online_API", "PopupIn", "Match Point")
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- else:
- try:
- Project.ExecuteScript("Online_API", "PopupIn", "Set Point")
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- #btnSetPoint_Click(None, None)
- elif homeCurrentGame == 'Ad' or awayCurrentGame == 'Ad':
- if Globals["OnlineAPIAdvantageUpdate"]:
- Globals["OnlineAPIAdvantageCount"] += 1
- Globals["OnlineAPIAdvantageUpdate"] = False
- if Globals["OnlineAPIIsDeucesTitleOnAir"]:
- Globals["OnlineAPIIsDeucesTitleOnAir"] = False
- Project.ExecuteScript("Online_API", "PopupOut")
- if Globals["OnlineAPIAdvantageCount"] == 1:
- Globals["OnlineAPIIsAdvantageTitleOnAir"] = True
- Project.ExecuteScript("Online_API", "PopupIn", "Advantage 1")
- elif Globals["OnlineAPIAdvantageCount"] == 2:
- Globals["OnlineAPIIsAdvantageTitleOnAir"] = True
- Project.ExecuteScript("Online_API", "PopupIn", "Advantage 2")
- else:
- Globals["OnlineAPIIsAdvantageTitleOnAir"] = False
- Project.ExecuteScript("Online_API", "PopupOut")
- elif homeCurrentGame == '40' or awayCurrentGame == '40':
- homeService = Globals["API"].data["Results"]["HomeTeam"]["Service"] != 0
- if (homeCurrentGame == '40' and not homeService) or (awayCurrentGame == '40' and homeService):
- Project.ExecuteScript("Online_API", "PopupIn", "Breakpoint")
- else:
- Project.ExecuteScript("Online_API", "PopupOut")
- else:
- Project.ExecuteScript("Online_API", "PopupOut")
- #else:
- # if self.data["Golden Point"] == "GOLDEN POINT ALL SETS": # GOLDEN POINT ALL SETS
- # if homeCurrentGame == "40" and awayCurrentGame == "40":
- # Project.ExecuteScript("Online_API", "GoldPointIn")
- # else:
- # Project.ExecuteScript("Online_API", "PopupOut")
- # Project.ExecuteScript("Online_API", "GoldPointOut")
- # else:
- # Project.ExecuteScript("Online_API", "PopupOut")
- # Project.ExecuteScript("Online_API", "GoldPointOut")
- except Exception as e:
- print"Erro CheckStatusOnline: %s"% e
- def btnInit_Click(sender, e):
- try:
- numSeconds.Value = int(ProjectSettings["API Crionet Timer"])
- Globals["API"] = API()
- Globals["API"].Init()
- Globals["API"].clearAll()
- Globals["API"].GetDefault()
- Globals["API"].UpdateInfo()
- Globals["API"]._API__UpdateData()
- Globals["PadelScoreboard"].LastSum2Sets = 0
- Globals["SponsorOnAnimantion"] = False
- # cboMatches.Text = "WORLD PADEL CHAMPIONSHIPS" #2024
- cboMatches.Text = "FIP WORLD CUP 2026" #2026
- #print dir(Globals["API"])
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def btnPlay_Click(sender, e):
- try:
- btnStop_Click(None, None)
- Update()
- lblStatus.Text = "RUNNING..."
- Globals["API"].status = True
- Globals["PadelScoreboard"].LastSum2Sets = 0
- Globals["SponsorOnAnimantion"] = False
- lblStatus.ForeColor = Color.SpringGreen
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def Update():
- try:
- #Core.ScriptRunner.Execute("Init","Sportstats_Timer_TimerChanged",Project.Name, "API_CRIONET", "")
- #status = Globals["API"].GetInProgressMatches()
- status = True
- Globals["API"].GetInProgressMatches()
- if status:
- delay = int(ProjectSettings["API Crionet Timer"])
- if Globals["R3_Manager"].OnAirScorebug:
- Project.ExecuteScript(Globals["R3_Manager"].OnAirScorebug, "Update")
- Scheduler.Add(Script.RefName, "Update", Project.Name, None, delay*1000, "API")
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def btnStop_Click(sender, e):
- try:
- Scheduler.ClearScheduler("API")
- lblStatus.Text = "STOPPED"
- lblStatus.ForeColor = Color.Salmon
- Globals["SponsorOnAnimantion"] = False
- Globals["API"].status = False
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def numSeconds_ValueChanged(sender, e):
- try:
- ProjectSettings["API Crionet Timer"] = str(int(sender.Value))
- ProjectSettings.Save()
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def btnOnlineIn_Click(sender, e):
- try:
- if Globals["R3_Manager"].OnAirScorebug:
- return
- try:
- Project.ExecuteScript("Online_API")
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def btnOnlineOut_Click(sender, e):
- try:
- Project.ExecuteScript("Online_API", "Out")
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def btnBigScore_Click(sender, e):
- try:
- Project.ExecuteScript("BigScore_API")
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def cboMatches_SelectedIndexChanged(sender, e):
- try:
- Globals["API"].clearAll()
- Globals["API"].GetDefault()
- Globals["API"].matchId = sender.Tag[sender.SelectedIndex]
- Globals["API"].UpdateInfo()
- Globals["API"].GetDraws()
- Globals["API"]._API__UpdateData()
- # if sender.Text == "WORLD PADEL CHAMPIONSHIPS": #2024
- if sender.Text == "FIP WORLD CUP 2026": #2026
- #Globals["API"].UpdateInfo()
- #Globals["API"].GetDaysIndex()
- #Globals["API"].GetDefault()
- #Globals["API"]._API__UpdateData()
- #Men's Doubles - MD
- #Women's Doubles - LD
- cboDraws.Items.Add("Men's Doubles")
- (cboDraws.Tag).append("MD")
- cboDraws.Items.Add("Women's Doubles")
- (cboDraws.Tag).append("LD")
- except Exception as e:
- print "Form has some errors"
- print str(e)
- def cboDraws_SelectedIndexChanged(sender, e):
- try:
- Globals["API"].draw = sender.Tag[sender.SelectedIndex]
- #print "Draw: %s" % sender.Tag[sender.SelectedIndex]
- Globals["API"].UpdateInfo()
- Globals["API"].GetDaysIndex()
- Globals["API"].GetDefault()
- Globals["API"]._API__UpdateData()
- #Globals["API"].GetDrawsMatchs()
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def cboGameDate_SelectedIndexChanged(sender, e):
- try:
- Globals["API"].selectedIndex = sender.Tag[sender.SelectedIndex]
- Globals["API"].UpdateInfo()
- Globals["API"].GetDrawsMatchs()
- Globals["API"].GetDefault()
- Globals["API"]._API__UpdateData()
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def cboDrawsMatchs_SelectedIndexChanged(sender, e):
- try:
- Globals["API"].gameId = sender.Tag[sender.SelectedIndex]
- item = Globals["API"].GetMatchInfo()
- Globals["API"].GetDefault()
- Globals["API"]._API__UpdateData()
- Globals["API"].UpdateInfo()
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def createH():
- try:
- Globals["API"].createHomePoints()
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def createA():
- try:
- Globals["API"].createAwayPoints()
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def teste():
- try:
- Globals["PadelScoreboard"].data["Results"]["HomeTeam"]["Service"] = 0
- Globals["PadelScoreboard"].data["Results"]["AwayTeam"]["Service"] = 1
- Globals["PadelScoreboard"].UpdateInterface()
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def btnReload_Click(sender, e):
- try:
- btnStop_Click(None,None)
- Globals["API"].gameId = None
- Globals["API"].matchesFilteredByDraw = None
- Globals["API"].points = {
- "HomeTeam" : "",
- "AwayTeam" : ""
- }
- Globals["API"].sets = {
- "HomeTeam" : [0,0,0,0,0],
- "AwayTeam" : [0,0,0,0,0]
- }
- Globals["API"].ad = {
- "HomeTeam" : False,
- "AwayTeam" : False
- }
- Globals["API"].matchFinished = None
- Globals["API"].oldSet = 1
- Globals["API"].GetDefault()
- Globals["API"]._API__UpdateData()
- Globals["API"].clearRefresh()
- Globals["API"].GetDrawsMatchs()
- Globals["API"].UpdateInfo()
- #Globals["API"]._API__UpdateData()
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def btnHomeApiRetired_Click(sender, e):
- try:
- if Globals["R3_Manager"].OnAirLowerthird != "BigScore" and Globals["R3_Manager"].OnAirLowerthird != "BigScore_API": return
- if Globals["AwayRetiredOnair"]:
- #print "Chama o out do away pelo home"
- btnAwayApiRetired.BackColor = Color.DarkGray
- Globals["frmPadelScoreboard"].Controls["btnAwayRetired"].BackColor = Color.DarkGray
- Project.ExecuteScript("BigScore", "awayRetiredOut")
- Thread.Sleep(500)
- if Globals["HomeRetiredOnair"]:
- #print "Chama o out"
- btnHomeApiRetired.BackColor = Color.DarkGray
- Globals["frmPadelScoreboard"].Controls["btnHomeRetired"].BackColor = Color.DarkGray
- Project.ExecuteScript("BigScore", "homeRetiredOut")
- else:
- #print "chama o in"
- btnHomeApiRetired.BackColor = Color.DarkGreen
- Globals["frmPadelScoreboard"].Controls["btnHomeRetired"].BackColor = Color.DarkGreen
- Project.ExecuteScript("BigScore", "homeRetiredIn")
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def btnAwayApiRetired_Click(sender, e):
- try:
- if Globals["R3_Manager"].OnAirLowerthird != "BigScore" and Globals["R3_Manager"].OnAirLowerthird != "BigScore_API": return
- if Globals["HomeRetiredOnair"]:
- #print "Chama o out do home pelo away"
- btnHomeApiRetired.BackColor = Color.DarkGray
- Globals["frmPadelScoreboard"].Controls["btnHomeRetired"].BackColor = Color.DarkGray
- Project.ExecuteScript("BigScore", "homeRetiredOut")
- Thread.Sleep(500)
- if Globals["AwayRetiredOnair"]:
- #print "Chama o out"
- btnAwayApiRetired.BackColor = Color.DarkGray
- Globals["frmPadelScoreboard"].Controls["btnAwayRetired"].BackColor = Color.DarkGray
- Project.ExecuteScript("BigScore", "awayRetiredOut")
- else:
- #print "chama o in"
- btnAwayApiRetired.BackColor = Color.DarkGreen
- Globals["frmPadelScoreboard"].Controls["btnAwayRetired"].BackColor = Color.DarkGreen
- Project.ExecuteScript("BigScore", "awayRetiredIn")
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def Run():
- try:
- numSeconds.Value = int(ProjectSettings["API Crionet Timer"])
- Globals["API"] = API()
- Globals["API"].Init()
- #Globals["API"].clearAll()
- #Globals["API"].GetDefault()
- #Globals["API"].UpdateInfo()
- #Globals["API"]._API__UpdateData()
- #print dir(Globals["API"])
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def HomeService_Click(sender, e):
- try:
- if HomeService.Checked:
- Globals["API"].manualHomeService = True
- AwayService.Checked = False
- AwayService2.Checked = False
- HomeService2.Checked = False
- Globals["API"].data["Results"]["HomeTeam"]["Service"] = 1
- Globals["API"].data["Results"]["AwayTeam"]["Service"] = 0
- else:
- Globals["API"].manualHomeService = False
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def HomeService2_Click(sender, e):
- try:
- if HomeService2.Checked:
- Globals["API"].manualHomeService = True
- AwayService.Checked = False
- AwayService2.Checked = False
- HomeService.Checked = False
- Globals["API"].data["Results"]["HomeTeam"]["Service"] = 2
- Globals["API"].data["Results"]["AwayTeam"]["Service"] = 0
- else:
- Globals["API"].manualHomeService = False
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def AwayService_Click(sender, e):
- try:
- if AwayService.Checked:
- Globals["API"].manualHomeService = True
- HomeService.Checked = False
- HomeService2.Checked = False
- AwayService2.Checked = False
- Globals["API"].data["Results"]["AwayTeam"]["Service"] = 1
- Globals["API"].data["Results"]["HomeTeam"]["Service"] = 0
- else:
- Globals["API"].manualHomeService = False
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def AwayService2_Click(sender, e):
- try:
- if AwayService2.Checked:
- Globals["API"].manualHomeService = True
- HomeService.Checked = False
- HomeService2.Checked = False
- AwayService.Checked = False
- Globals["API"].data["Results"]["AwayTeam"]["Service"] = 2
- Globals["API"].data["Results"]["HomeTeam"]["Service"] = 0
- else:
- Globals["API"].manualHomeService = False
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def btnSponsorApiIn_MouseClick(sender, e):
- try:
- Project.ExecuteScript("Online_API","HashtagIn")
- HashtagAutoTimeOut = int(Globals["ConfigForm"].data["HashtagTimeOut"])
- if HashtagAutoTimeOut != 0:
- Scheduler.Add("Online_API", "HashtagOut", Project.Name, None, HashtagAutoTimeOut * 1000, "API")
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def btnSponsorApiOut_MouseClick(sender, e):
- try:
- Project.ExecuteScript("Online_API","HashtagOut")
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def btnBigScoreOut_Click(sender, e):
- try:
- Project.ExecuteScript("BigScore_API","Out")
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def btnSponsor1In_Click(sender, e):
- try:
- #Protecão para não lançar o sponsor antes do Hashtag se tiver automático
- if not Globals["R3_Manager"].OnAirScorebugHashtag and Globals["ConfigForm"].data["HashtagTimeIn"] > 0:
- return
- try:
- Project.ExecuteScript("Online_API","SponsorOnlineIn", "1")
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- def btnSponsor2In_Click(sender, e):
- try:
- #Protecão para não lançar o sponsor antes do Hashtag se tiver automático
- if not Globals["R3_Manager"].OnAirScorebugHashtag and Globals["ConfigForm"].data["HashtagTimeIn"] > 0:
- return
- try:
- Project.ExecuteScript("Online_API","SponsorOnlineIn", "2")
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
- except Exception as e:
- print "Form has some errors"
- print str(e)
- Core.StatusManager.Add(str(e), 'error')
Untitled
From Anorexic Water Vole, 4 Days ago, written in Plain Text, viewed 3 times.
This paste will join the choir invisible in 3 Weeks.
URL https://paste.afonso.co/view/1fd62340
Embed
Download Paste or View Raw
— Expand Paste to full width of browser