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
  1. # -*- encoding: utf-8 -*-
  2. clr.AddReference("System.Windows.Forms")
  3. from System.Windows.Forms import *
  4. #
  5. clr.AddReference("System.Drawing")
  6. from System.Drawing import *
  7. #
  8. clr.AddReference("System.Net")
  9. from System.Net import WebRequest, ServicePointManager, SecurityProtocolType
  10. #
  11. clr.AddReference("System.IO")
  12. from System.IO import StreamReader
  13. #
  14. import base64, json, codecs
  15. #
  16. from System.Threading import *
  17. from datetime import datetime, timedelta
  18. from collections import OrderedDict
  19. class API:
  20.         def __init__(self):
  21.                 self.data = {}
  22.                 self.matchId = None
  23.                 self.events = []
  24.                 self.draw = None
  25.                 self.gameId = None
  26.                 self.gameIndex = None
  27.                 self.selectedIndex = None
  28.                 self.matchesFilteredByDraw = None
  29.                 self.lastScore = None
  30.                 self.lastStats = None
  31.                 self.statusConn = None
  32.                 self.roundName = ""
  33.                 self.points = {
  34.                         "HomeTeam" : "",
  35.                         "AwayTeam" : ""        
  36.                 }
  37.                 self.sets = {
  38.                         "HomeTeam" : [0,0,0,0,0],
  39.                         "AwayTeam" : [0,0,0,0,0]       
  40.                 }
  41.                 self.ad = {
  42.                         "HomeTeam" : False,
  43.                         "AwayTeam" : False     
  44.                 }
  45.                 self.matchFinished = None
  46.                 self.oldSet = 0
  47.                 self.test = CheckTesting.Checked
  48.                 Globals["Rewind"] = False
  49.                 self.status = False
  50.                 self.manualHomeService = False
  51.                 self.manualAwayService = False
  52.                 Globals["SponsorOnAnimantion"] = False
  53.                 #self.set_all_controls_visible(self)
  54.                
  55.         def Init(self):
  56.                 Globals["frmApiCrionet"] = Script.Form.Form
  57.                 self.GetDefault()
  58.                 self.matchId = None
  59.                 self.draw = None
  60.                 self.gameId = None
  61.                 self.gameIndex = None
  62.                 self.selectedIndex = None
  63.                 self.matchesFilteredByDraw = None
  64.                 self.statusConn = None
  65.                 self.roundName = ""
  66.                 self.points = {
  67.                         "HomeTeam" : "",
  68.                         "AwayTeam" : ""        
  69.                 }
  70.                 self.sets = {
  71.                         "HomeTeam" : [0,0,0,0,0],
  72.                         "AwayTeam" : [0,0,0,0,0]
  73.                 }
  74.                 self.ad = {
  75.                         "HomeTeam" : False,
  76.                         "AwayTeam" : False     
  77.                 }
  78.                 self.matchFinished = None
  79.                 self.oldSet = 0
  80.                 status = self.__Login()
  81.                
  82.                 if status:
  83.                         return self.__GetScheduledMatches()
  84.                 else:
  85.                         return None
  86.                        
  87.                 self.manualHomeService = False
  88.                 self.manualAwayService = False
  89.                
  90.         def set_all_controls_visible(self, parent):
  91.                 for control in Script.Form.Form.Controls:
  92.                         control.Visible = True
  93.                         #if control.Controls.Count > 0:
  94.                                 #self.set_all_controls_visible(control)
  95.                
  96.         def GetDefault(self):                                          
  97.                 self.data = {"Sets": 3,
  98.                                         "Match Finished": False,
  99.                                         "Resolution Match": "NORMAL",
  100.                                         "Resolution Match Points": 11,
  101.                                         "Golden Point": "STAR POINT",
  102.                                         "TieBreak": False,
  103.                                         "Tie Break Service": 1,
  104.                                         "Results": {"CurrentSet": 1,
  105.                                                                 "TieBreak": False,
  106.                                                                 "Times": [0, 0, 0, 0, 0],
  107.                                                                 "Sets Finished": [False, False, False, False, False],
  108.                                                                 "Deuces": 0,
  109.                                                                 "HomeTeam": {"Guid": ActiveObjects.HomeTeam.Id.ToString(), "Name": ActiveObjects.HomeTeam.ShortName.ToUpper(),
  110.                                                                                 "Players": [],
  111.                                                                                 "CurrentGame": "0",
  112.                                                                                 "Service": 1,
  113.                                                                                 "LastService": 1,
  114.                                                                                 "Sets": [0, 0, 0, 0, 0],
  115.                                                                                 "TieBreaks": [0, 0, 0, 0, 0],
  116.                                                                                 "Golden Points Total By Set": [0, 0, 0, 0, 0],
  117.                                                                                 "Golden Points Converted By Set": [0, 0, 0, 0, 0],
  118.                                                                                 "Golden Points Total": 0,
  119.                                                                                 "Golden Points Converted": 0,
  120.                                                                                 "Break Points Total By Set": [0, 0, 0, 0, 0],
  121.                                                                                 "Break Points Converted By Set": [0, 0, 0, 0, 0],
  122.                                                                                 "Break Points Total": 0,
  123.                                                                                 "Break Points Converted": 0,
  124.                                                                                 "Winners By Set": [0, 0, 0, 0, 0],
  125.                                                                                 "Winners Total": 0,
  126.                                                                                 "Unforced Errors By Set": [0, 0, 0, 0, 0],
  127.                                                                                 "Unforced Errors Total": 0,
  128.                                                                                 "Smashes Total By Set": [0, 0, 0, 0, 0],
  129.                                                                                 "Smashes Winners By Set": [0, 0, 0, 0, 0],
  130.                                                                                 "Smashes Total": 0,
  131.                                                                                 "Smashes Winners Converted": 0},
  132.                                                                 "AwayTeam": {"Guid": ActiveObjects.AwayTeam.Id.ToString(), "Name": ActiveObjects.AwayTeam.ShortName.ToUpper(),
  133.                                                                                 "Players": [],
  134.                                                                                 "CurrentGame": "0",
  135.                                                                                 "Service": 0,
  136.                                                                                 "LastService": 2,
  137.                                                                                 "Sets": [0, 0, 0, 0, 0],
  138.                                                                                 "TieBreaks": [0, 0, 0, 0, 0],
  139.                                                                                 "Golden Points Total By Set": [0, 0, 0, 0, 0],
  140.                                                                                 "Golden Points Converted By Set": [0, 0, 0, 0, 0],
  141.                                                                                 "Golden Points Total": 0,
  142.                                                                                 "Golden Points Converted": 0,
  143.                                                                                 "Golden Points By Set": [0, 0, 0, 0, 0],
  144.                                                                                 "Golden Points Total": 0,
  145.                                                                                 "Break Points Total By Set": [0, 0, 0, 0, 0],
  146.                                                                                 "Break Points Converted By Set": [0, 0, 0, 0, 0],
  147.                                                                                 "Break Points Total": 0,
  148.                                                                                 "Break Points Converted": 0,
  149.                                                                                 "Winners By Set": [0, 0, 0, 0, 0],
  150.                                                                                 "Winners Total": 0,
  151.                                                                                 "Unforced Errors By Set": [0, 0, 0, 0, 0],
  152.                                                                                 "Unforced Errors Total": 0,
  153.                                                                                 "Smashes Total By Set": [0, 0, 0, 0, 0],
  154.                                                                                 "Smashes Winners By Set": [0, 0, 0, 0, 0],
  155.                                                                                 "Smashes Total": 0,
  156.                                                                                 "Smashes Winners Converted": 0},
  157.                                                         }
  158.                                         }
  159.                
  160.         def __Login(self):
  161.                 #print "Login"
  162.                 if not Globals.Contains("API_Token"):
  163.                         url = ProjectSettings["API Crionet URL"] #+ "/login"
  164.                         user = ProjectSettings["API Crionet User"]
  165.                         password = ProjectSettings["API Crionet Password"]
  166.                         ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
  167.                         request = WebRequest.Create(url)
  168.                         request.Timeout = 5000
  169.                         #request.Headers.Add(credentials)
  170.                         request.Headers.Add("falstaff-key", password)
  171.                         request.ContentType = "application/json"
  172.                         request.ContentLength = 0
  173.                         request.Method = "POST"
  174.                         try:
  175.                                 response = request.GetResponse()
  176.                                 if response.StatusCode.ToString() == "OK":
  177.                                         Globals["API_Token"] = response.GetResponseHeader("Token")
  178.                                         response.Close()
  179.                                         print "Login success!!!"
  180.                                         self.statusConn = "Connected"
  181.                                         return True
  182.                         except:
  183.                                 response.Close()
  184.                                 print "Login Failed!!!"
  185.                                 self.statusConn = "Error"
  186.                                 return False
  187.                 else:
  188.                         print "Login success!!!"
  189.                         self.statusConn = "Connected"
  190.                         return True
  191.                        
  192.         def __GetScheduledMatches(self):
  193.                 #print "__GetScheduledMatches"
  194.                 if Globals.Contains("API_Token"):                              
  195.                         TID = ProjectSettings["API Crionet TID"]
  196.                         VID = ProjectSettings["API Crionet VID"]
  197.                         password = ProjectSettings["API Crionet Password"]
  198.                         year = ProjectSettings["Year"]
  199.                         organization = ProjectSettings["Organization (ie, FIP, PPT, etc.)"]
  200.                         url = ProjectSettings["API Crionet URL"] + "/api/tournaments/%s/%s/" % (organization,year)
  201.                         ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
  202.                         request = WebRequest.Create(url)
  203.                         request.Timeout = 5000
  204.                         request.Headers.Add("falstaff-key", password)
  205.                         request.ContentType = "application/json"
  206.                         request.Method = "GET"
  207.                         try:
  208.                                 response = request.GetResponse()
  209.                                 sr = StreamReader(response.GetResponseStream())                
  210.                                 json_string = sr.ReadToEnd()                           
  211.                                 items = json.loads(json_string)
  212.                                 response.Close()
  213.                                 cboMatches.Items.Clear()
  214.                                 cboMatches.Text = ""
  215.                                 cboMatches.Tag = []
  216.                                 self.events = items
  217.                                
  218.                                 for i, item in enumerate(items):
  219.                                         nameCompetition = item['fullName']
  220.                                         cboMatches.Items.Add(nameCompetition)
  221.                                         (cboMatches.Tag).append(item["eventCode"])
  222.                                        
  223.                         except:
  224.                                 print "Error ocurred"
  225.                                
  226.         def GetInProgressMatches(self):
  227.                 if Globals.Contains("API_Token"):
  228.                         try:
  229.                                 self.GetMatchInfo()
  230.                                 items = self.matchesFilteredByDraw
  231.                                 self.__RefreshScore(items)
  232.                                 self.lastScore = datetime.today().strftime('%H:%M:%S')
  233.                                 self.UpdateInfo()
  234.                                 return True
  235.                         except Exception as e:
  236.                                 print "Error getting In Progress Matches: %s" %e
  237.                                 return False
  238.        
  239.         def GetDraws(self):
  240.                 #print "GetDraws"
  241.                 #print "Self.Events: %s" %self.events
  242.                 #print "Event Code: %s" % self.matchId
  243.                 event = list(filter(lambda x: x["eventCode"] == self.matchId, self.events))[0]
  244.                 #print event
  245.                 indexDate = {}
  246.                 startDate = event["startDate"]
  247.                 endDate = event["endDate"]
  248.                 newDate = ""
  249.                 startDate = datetime.strptime(startDate, "%m/%d/%Y %I:%M:%S %p")
  250.                 endDate = datetime.strptime(endDate, "%m/%d/%Y %I:%M:%S %p")
  251.                 diferenca = endDate - startDate
  252.                
  253.                 for i in range(int(diferenca.days)+1):
  254.                         if newDate == "":
  255.                                 indexDate[i] = startDate
  256.                                 newDate = startDate
  257.                         else:
  258.                                 indexDate[i] = newDate + timedelta(days=1)
  259.                                 newDate = newDate + timedelta(days=1)
  260.                
  261.                 self.gameIndex = indexDate
  262.                 draws = event["draws"]
  263.                 cboDraws.Text = ""
  264.                 cboDraws.Items.Clear()
  265.                 cboDraws.Tag = []
  266.                
  267.                 for draw in draws:
  268.                         cboDraws.Items.Add(draw["name"])
  269.                         (cboDraws.Tag).append(draw["type"])
  270.                
  271.         def GetDaysIndex(self):
  272.                 cboGameDate.Items.Clear()
  273.                 cboGameDate.Tag = []
  274.                 for idx,i in enumerate(self.gameIndex,1):
  275.                         cboGameDate.Items.Add(self.gameIndex[i].strftime("%m/%d/%Y"))
  276.                         (cboGameDate.Tag).append(idx)
  277.                
  278.         def GetDrawsMatchs(self,clear=True,insert=True):
  279.                 password = ProjectSettings["API Crionet Password"]
  280.                 year = ProjectSettings["Year"]
  281.                 organization = ProjectSettings["Organization (ie, FIP, PPT, etc.)"]
  282.                
  283.                 if self.test:
  284.                         url = "http://localhost:3000/courtSchedules"
  285.                 else:
  286.                         url = ProjectSettings["API Crionet URL"] + "/api/oop/%s/%s/%s/%s" % (organization,year,self.matchId,self.selectedIndex)
  287.                
  288.                 # LOG - o que vamos pedir
  289.                 print "[GetDrawsMatchs] URL: %s" % url
  290.                 print "[GetDrawsMatchs] matchId=%s | selectedIndex=%s | draw=%s | test=%s" % (self.matchId, self.selectedIndex, self.draw, self.test)
  291.                
  292.                 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
  293.                 request = WebRequest.Create(url)
  294.                 request.Timeout = 5000
  295.                 request.Headers.Add("falstaff-key", password)
  296.                 request.ContentType = "application/json"
  297.                 request.Method = "GET"
  298.                 if clear != False:
  299.                         cboDrawsMatchs.Text = ""
  300.                         cboDrawsMatchs.Items.Clear()
  301.                 try:
  302.                         response = request.GetResponse()
  303.                         print "[GetDrawsMatchs] HTTP status: %s" % response.StatusCode.ToString()
  304.                         sr = StreamReader(response.GetResponseStream())
  305.                         json_string = sr.ReadToEnd()
  306.                         items = json.loads(json_string)
  307.                         response.Close()
  308.                        
  309.                         # LOG - guardar a resposta crua (só com o debug ativo)
  310.                         if chkDebug.Checked:
  311.                                 self.__SaveJSON(items, "DrawsMatchs_day%s" % self.selectedIndex)
  312.                        
  313.                         courtSchedules = items["courtSchedules"]
  314.                         allItems = [item for schedule in courtSchedules for item in schedule.get("items", [])]
  315.                         print "[GetDrawsMatchs] courts=%s | total jogos na resposta=%s" % (len(courtSchedules), len(allItems))
  316.                         print "[GetDrawsMatchs] matchIds recebidos: %s" % [i["match"]["matchId"] for i in allItems]
  317.                        
  318.                         prefixes = {"LD": ("LD", "WD"), "WD": ("LD", "WD"), "MD": ("MD",)}.get(self.draw, (self.draw,))
  319.                         drawsMatchesFiltered = list(filter(lambda item: item["match"]["matchId"].startswith(prefixes), allItems))
  320.                         print "[GetDrawsMatchs] depois do filtro '%s': %s jogos" % (self.draw, len(drawsMatchesFiltered))
  321.                        
  322.                         drawsMatchesFiltered = sorted(drawsMatchesFiltered,key=lambda x: x['match']['matchId'])
  323.                         self.matchesFilteredByDraw = drawsMatchesFiltered
  324.                         cboDrawsMatchs.Tag = []
  325.                        
  326.                         for drawMatch in drawsMatchesFiltered:
  327.                                 drawMatchId = drawMatch['match']["matchId"]
  328.                                 homeCountry = ""
  329.                                 awayCountry = ""
  330.                                 try:
  331.                                         homePlayer = drawMatch['match']['team1']["player"]["lastName"].split()
  332.                                         homePlayer = homePlayer[-1].upper() if len(homePlayer) > 1 else homePlayer[0].upper()
  333.                                 except:
  334.                                         homePlayer = ""
  335.                                 try:
  336.                                         homeCountry = drawMatch['match']['team1']["player"]['countryCode']
  337.                                         awayCountry = drawMatch['match']['team2']["player"]['countryCode']
  338.                                 except:
  339.                                         pass
  340.                                 try:   
  341.                                         homePartner = drawMatch['match']['team1']["partner"]["lastName"].split()
  342.                                         homePartner = homePartner[-1].upper() if len(homePartner) > 1 else homePartner[0].upper()
  343.                                 except:
  344.                                         homePartner = ""
  345.                                 try:
  346.                                         awayPlayer = drawMatch['match']['team2']["player"]["lastName"].split()
  347.                                         awayPlayer = awayPlayer[-1].upper() if len(awayPlayer) > 1 else awayPlayer[0].upper()
  348.                                 except:
  349.                                         awayPlayer = ""
  350.                                 try:
  351.                                         awayPartner = drawMatch['match']['team2']["partner"]["lastName"].split()
  352.                                         awayPartner = awayPartner[-1].upper() if len(awayPartner) > 1 else awayPartner[0].upper()
  353.                                 except:
  354.                                         awayPartner = ""
  355.                                        
  356.                                 if insert == True:
  357.                                         cboDrawsMatchs.Items.Add("%s - (%s) %s - %s | %s - %s (%s)" % (drawMatchId,homeCountry,homePlayer,homePartner,awayPlayer,awayPartner,awayCountry))
  358.                                         (cboDrawsMatchs.Tag).append(drawMatchId)
  359.                                
  360.                         return drawsMatchesFiltered
  361.                 except Exception as e:
  362.                         print "Error ocurred %s" %e
  363.                        
  364.         def GetMatchInfo(self):
  365.                 #print "GetMatchInfo"
  366.                 password = ProjectSettings["API Crionet Password"]
  367.                 year = ProjectSettings["Year"]
  368.                 organization = ProjectSettings["Organization (ie, FIP, PPT, etc.)"]
  369.                 if self.test:
  370.                         url = "http://localhost:3000/matchinfo"
  371.                 else:
  372.                         url = ProjectSettings["API Crionet URL"] + "/api/matchinfo/%s/%s/%s/%s" % (organization,year,self.matchId,self.gameId)
  373.                 #for Testing:
  374.                 #url = "http://localhost:3000/matchinfo"
  375.                
  376.                 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
  377.                 request = WebRequest.Create(url)
  378.                 request.Timeout = 5000
  379.                 request.Headers.Add("falstaff-key", password)
  380.                 request.ContentType = "application/json"
  381.                 request.Method = "GET"
  382.                 try:
  383.                         response = request.GetResponse()
  384.                         sr = StreamReader(response.GetResponseStream())                
  385.                         json_string = sr.ReadToEnd()                           
  386.                         items = json.loads(json_string)
  387.                         response.Close()
  388.                        
  389.                         if chkDebug.Checked:
  390.                                 self.__SaveJSON(items, "Matchdata")
  391.                                
  392.                         self.matchesFilteredByDraw = items
  393.                        
  394.                         if items['status'] == "F":
  395.                                 self.matchFinished = True
  396.                                 self.data["Match Finished"] = True
  397.                         else:
  398.                                 self.matchFinished = False
  399.                                 self.data["Match Finished"] = False
  400.                                
  401.                         if lblStatus.Text == "API ERROR":
  402.                                 lblStatus.Text = "RUNNING..."
  403.                                 lblStatus.ForeColor = Color.SpringGreen
  404.                
  405.                 except Exception as e:
  406.                         print "Error ocurred %s" %e
  407.                         lblStatus.Text = "API ERROR"
  408.                         lblStatus.ForeColor = Color.Salmon
  409.                         return
  410.                        
  411.                 return items
  412.                        
  413.         def __GetStats(self):
  414.                 #print "__GetStats"
  415.                 if Globals.Contains("API_Token") and self.matchId:
  416.                         try:
  417.                                 items = self.GetDrawsMatchs(False,False)
  418.                                 if chkDebug.Checked:
  419.                                         self.__SaveJSON(items, "Stats")
  420.                                 self.lastStats = datetime.today().strftime('%H:%M:%S')
  421.                                 self.UpdateInfo()
  422.                                 return True
  423.                         except:
  424.                                 response.Close()
  425.                                 print "Error getting In Progress Matches"
  426.                                 return False
  427.                                
  428.         def __RefreshScore(self, item):
  429.                 #print "__RefreshScore"
  430.                 try:
  431.                         status = item['status']
  432.                         self.roundName = item['roundName']
  433.                         if status == "F":
  434.                                 self.matchFinished = True
  435.                         else:
  436.                                 self.matchFinished = False
  437.                         sets = {"Team1": [],"Team2": []}
  438.                         ties = {"Team1": [],"Team2": []}
  439.                         for i in range(1,6):
  440.                                 sets['Team1'].append(item["score"]["team1"]["set%s"%i])
  441.                                 sets['Team2'].append(item["score"]["team2"]["set%s"%i])
  442.                                 ties['Team1'].append(item["score"]["team1"]["tie%s"%i])
  443.                                 ties['Team2'].append(item["score"]["team2"]["tie%s"%i])
  444.                                
  445.                                 Globals["PadelScoreboard"].data["Results"]["HomeTeam"]["Sets"][i-1] = int(item["score"]["team1"]["set%s"%i]) if item["score"]["team1"]["set%s"%i] else 0
  446.                                 Globals["PadelScoreboard"].data["Results"]["AwayTeam"]["Sets"][i-1] = int(item["score"]["team2"]["set%s"%i]) if item["score"]["team2"]["set%s"%i] else 0
  447.                         Globals["PadelScoreboard"].data["Results"]["HomeTeam"]["CurrentGame"] = str(item["score"]["team1"]["points"])
  448.                         Globals["PadelScoreboard"].data["Results"]["AwayTeam"]["CurrentGame"] = str(item["score"]["team2"]["points"])
  449.                         last_valid_index = [idx for idx, x in enumerate(sets['Team1']) if x is not None]
  450.                         last_valid_index = last_valid_index[-1:][0] if last_valid_index[-1:] else None
  451.                        
  452.                         if last_valid_index == None:
  453.                                 # Ajust for service before score
  454.                                 self.data["Results"]["HomeTeam"]["Service"] = 1 if item["score"]["server"] == 1 else 2 if item["score"]["server"] == 3  else 0
  455.                                 self.data["Results"]["AwayTeam"]["Service"] = 1 if item["score"]["server"] == 2 else 2 if item["score"]["server"] == 4 else 0
  456.                                 return
  457.                                
  458.                         self.data["Results"]["CurrentSet"] = str(int(last_valid_index) + 1 )
  459.                         Globals["PadelScoreboard"].data["Results"]["CurrentSet"] = int(last_valid_index) + 1
  460.                        
  461.                         for i in range(0,int(self.data["Results"]["CurrentSet"])-1):
  462.                                 self.data["Results"]["Sets Finished"][i] = True
  463.                        
  464.                         del self.data["Results"]["HomeTeam"]["Players"][:]
  465.                         del self.data["Results"]["AwayTeam"]["Players"][:]
  466.                        
  467.                         (self.data["Results"]["HomeTeam"]["Players"]).append(item["team1"]["player"])
  468.                         (self.data["Results"]["HomeTeam"]["Players"]).append(item["team1"]["partner"])
  469.                         (self.data["Results"]["AwayTeam"]["Players"]).append(item["team2"]["player"])
  470.                         (self.data["Results"]["AwayTeam"]["Players"]).append(item["team2"]["partner"])
  471.                                
  472.                         #Points
  473.                         self.data["Results"]["HomeTeam"]["CurrentGame"] = str(item["score"]["team1"]["points"]) if not item["score"]["team1"]["points"] == None else "0"
  474.                         self.data["Results"]["AwayTeam"]["CurrentGame"] = str(item["score"]["team2"]["points"]) if not item["score"]["team2"]["points"] == None else "0"
  475.                        
  476.                         if self.data["Results"]["HomeTeam"]["CurrentGame"] != "" and self.data["Results"]["HomeTeam"]["CurrentGame"] != self.points["HomeTeam"]  and status == "P":
  477.                                 if self.data["Results"]["HomeTeam"]["CurrentGame"].lower() == "ad" and not self.ad["HomeTeam"]:
  478.                                         self.points["HomeTeam"] = self.data["Results"]["HomeTeam"]["CurrentGame"]
  479.                                         if self.data["Results"]["HomeTeam"]["CurrentGame"]!= "0":
  480.                                                 #Colocar ponto no form sem usar o click
  481.                                                 #Globals["PadelScoreboard"].SetPoint(ActiveObjects.HomeTeam, None)
  482.                                                 self.ad["HomeTeam"] = True
  483.                                                 self.ad["AwayTeam"] = False
  484.                                                
  485.                                 if not self.ad["HomeTeam"]:
  486.                                         #print "Create point for HomeTeam"
  487.                                         if self.data["Results"]["HomeTeam"]["CurrentGame"]!= "0":
  488.                                                 #Globals["PadelScoreboard"].SetPoint(ActiveObjects.HomeTeam, None)
  489.                                                 self.points["HomeTeam"] = self.data["Results"]["HomeTeam"]["CurrentGame"]
  490.                                
  491.                         if self.ad["HomeTeam"]:
  492.                                 if int(sets['Team1'][last_valid_index]) > int(self.sets["HomeTeam"][last_valid_index]):
  493.                                         #Globals["PadelScoreboard"].SetPoint(ActiveObjects.HomeTeam, None)
  494.                                         self.sets["HomeTeam"][last_valid_index] = sets['Team1'][last_valid_index]
  495.                                         self.points["AwayTeam"] = "0"
  496.                                         self.points["HomeTeam"] = "0"
  497.                                         self.data["Results"]["HomeTeam"]["CurrentGame"]= "0"
  498.                                         self.data["Results"]["AwayTeam"]["CurrentGame"]= "0"
  499.                                         self.ad["HomeTeam"] = False
  500.                                         self.ad["AwayTeam"] = False
  501.                                        
  502.                                 if self.data["Results"]["HomeTeam"]["CurrentGame"] == "40":
  503.                                         #Globals["PadelScoreboard"].SetPoint(ActiveObjects.AwayTeam, None)
  504.                                         self.ad["HomeTeam"] = False
  505.                                         self.ad["AwayTeam"] = False
  506.                                         self.points["HomeTeam"] = self.data["Results"]["HomeTeam"]["CurrentGame"]
  507.                                        
  508.                                        
  509.                         if int(sets['Team1'][last_valid_index]) > int(self.sets["HomeTeam"][last_valid_index]) and status == "P":
  510.                                 #Globals["PadelScoreboard"].SetPoint(ActiveObjects.HomeTeam, None)
  511.                                 self.sets["HomeTeam"][last_valid_index] = sets['Team1'][last_valid_index]
  512.                                 self.points["AwayTeam"] = "0"
  513.                                 self.points["HomeTeam"] = "0"
  514.                                 self.data["Results"]["HomeTeam"]["CurrentGame"]= "0"
  515.                                 self.data["Results"]["AwayTeam"]["CurrentGame"]= "0"
  516.                         if self.data["Results"]["AwayTeam"]["CurrentGame"] != "" and self.data["Results"]["AwayTeam"]["CurrentGame"] != self.points["AwayTeam"]  and status == "P":
  517.                                 if self.data["Results"]["AwayTeam"]["CurrentGame"].lower() == "ad" and not self.ad["AwayTeam"]:
  518.                                         self.points["AwayTeam"] = self.data["Results"]["AwayTeam"]["CurrentGame"]
  519.                                         if self.data["Results"]["AwayTeam"]["CurrentGame"]!= "0":
  520.                                                 #Globals["PadelScoreboard"].SetPoint(ActiveObjects.AwayTeam, None)
  521.                                                 self.ad["HomeTeam"] = False
  522.                                                 self.ad["AwayTeam"] = True
  523.                                
  524.                                 if not self.ad["AwayTeam"]:
  525.                                         #print "Create point for AwayTeam"
  526.                                         if self.data["Results"]["AwayTeam"]["CurrentGame"]!= "0":
  527.                                                 #Globals["PadelScoreboard"].SetPoint(ActiveObjects.AwayTeam, None)
  528.                                                 self.points["AwayTeam"] = self.data["Results"]["AwayTeam"]["CurrentGame"]              
  529.                                        
  530.                         if self.ad["AwayTeam"]:
  531.                                 if int(sets['Team2'][last_valid_index]) > int(self.sets["AwayTeam"][last_valid_index]):
  532.                                         #Globals["PadelScoreboard"].SetPoint(ActiveObjects.AwayTeam, None)
  533.                                         self.sets["AwayTeam"][last_valid_index] = sets['Team2'][last_valid_index]
  534.                                         self.points["AwayTeam"] = "0"
  535.                                         self.points["HomeTeam"] = "0"
  536.                                         self.data["Results"]["HomeTeam"]["CurrentGame"]= "0"
  537.                                         self.data["Results"]["AwayTeam"]["CurrentGame"]= "0"
  538.                                         self.ad["HomeTeam"] = False
  539.                                         self.ad["AwayTeam"] = False
  540.                                        
  541.                                 if self.data["Results"]["AwayTeam"]["CurrentGame"] == "40":
  542.                                         #Globals["PadelScoreboard"].SetPoint(ActiveObjects.HomeTeam, None)
  543.                                         self.ad["HomeTeam"] = False
  544.                                         self.ad["AwayTeam"] = False
  545.                                         self.points["AwayTeam"] = self.data["Results"]["AwayTeam"]["CurrentGame"]
  546.                                        
  547.                         if int(sets['Team2'][last_valid_index]) > int(self.sets["AwayTeam"][last_valid_index]) and status == "P":
  548.                                         #Globals["PadelScoreboard"].SetPoint(ActiveObjects.AwayTeam, None)
  549.                                         self.sets["AwayTeam"][last_valid_index] = sets['Team2'][last_valid_index]
  550.                                         self.points["AwayTeam"] = "0"
  551.                                         self.points["HomeTeam"] = "0"
  552.                                         self.data["Results"]["HomeTeam"]["CurrentGame"]= "0"
  553.                                         self.data["Results"]["AwayTeam"]["CurrentGame"]= "0"
  554.                        
  555.                         # Sets, Tie Breaks, Times
  556.                         scoreHome = 0
  557.                         scoreAway = 0
  558.                         for i in range(0,5):
  559.                                 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
  560.                                 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
  561.                                
  562.                                 self.data["Results"]["HomeTeam"]["TieBreaks"][i] = item["score"]["team1"]["tie%s"%(i+1)]
  563.                                 self.data["Results"]["AwayTeam"]["TieBreaks"][i] = item["score"]["team2"]["tie%s"%(i+1)]
  564.                                
  565.                         curSet = int(self.data["Results"]["CurrentSet"])-1
  566.                        
  567.                         # Verify if is TieBreak
  568.                         # If set is 2 or more. In this case index 0 set 1 index 1 set 2
  569.                         #print "CurSet %s type: %s"  % (curSet, type(curSet))
  570.                         if curSet >= 1:
  571.                                 #print "Home CurSet: %s type: %s" % (self.data["Results"]["HomeTeam"]["Sets"][curSet], type(self.data["Results"]["HomeTeam"]["Sets"][curSet]))
  572.                                 #print "Away CurSet: %s type: %s" % (self.data["Results"]["AwayTeam"]["Sets"][curSet], type(self.data["Results"]["AwayTeam"]["Sets"][curSet]))
  573.                                 if self.data["Results"]["HomeTeam"]["Sets"][curSet] >= 6 and self.data["Results"]["AwayTeam"]["Sets"][curSet] >= 6:
  574.                                         #print "Setei TieBreak true "
  575.                                         self.data["TieBreak"] = True
  576.                                 else:
  577.                                         self.data["TieBreak"] = False
  578.                                        
  579.                         # Service
  580.                        
  581.                         if self.manualHomeService == False and self.manualAwayService == False:
  582.                                 #self.data["Results"]["HomeTeam"]["Service"] = 1 if item["score"]["server"] == 1 or item["score"]["server"] == 3 else 0
  583.                                 #self.data["Results"]["AwayTeam"]["Service"] = 1 if item["score"]["server"] == 2 or item["score"]["server"] == 4 else 0
  584.                                 self.data["Results"]["HomeTeam"]["Service"] = 1 if item["score"]["server"] == 1 else 2 if item["score"]["server"] == 3  else 0
  585.                                 self.data["Results"]["AwayTeam"]["Service"] = 1 if item["score"]["server"] == 2 else 2 if item["score"]["server"] == 4 else 0
  586.                        
  587.                         if self.data["Results"]["HomeTeam"]["Service"] == 1:
  588.                                 Globals["PadelScoreboard"].data["Results"]["HomeTeam"]["Service"] = 1  
  589.                                 Globals["PadelScoreboard"].data["Results"]["AwayTeam"]["Service"] = 0
  590.                                 Globals["PadelScoreboard"].UpdateInterface()
  591.                         elif self.data["Results"]["AwayTeam"]["Service"] == 1:
  592.                                 Globals["PadelScoreboard"].data["Results"]["HomeTeam"]["Service"] = 0  
  593.                                 Globals["PadelScoreboard"].data["Results"]["AwayTeam"]["Service"] = 1
  594.                                 Globals["PadelScoreboard"].UpdateInterface()
  595.                                
  596.                         #SET FINISHED
  597.                        
  598.                         #if self.data["Resolution Match"] == "NO LAST TIE BREAK":
  599.                                 #if self.data["Results"]["CurrentSet"] == int(cboNumSets.Text):
  600.                                         #if self.data["Results"][actionTeam]["Sets"][currentSet-1] > 5:
  601.                                                 #if (self.data["Results"][otherTeam]["Sets"][currentSet-1] + 1) < self.data["Results"][actionTeam]["Sets"][currentSet-1]:
  602.                                                         ##self.SetFinished()
  603.                                                         #setFinished = True
  604.                                                        
  605.                         #else:
  606.                         ##########################################################################################
  607.                        
  608.                         #print "TieBreak: %s" % self.data["TieBreak"]
  609.                         #print "Home: %s Type: %s" % (self.data["Results"]["HomeTeam"]["Sets"][curSet], type(self.data["Results"]["HomeTeam"]["Sets"][curSet]))
  610.                         #print "Away: %s Type: %s "  %(self.data["Results"]["AwayTeam"]["Sets"][curSet], type(self.data["Results"]["AwayTeam"]["Sets"][curSet]))
  611.                        
  612.                         if self.data["Results"]["HomeTeam"]["Sets"][curSet] == 6:
  613.                                 if self.data["Results"]["AwayTeam"]["Sets"][curSet] < 5: # SET WON
  614.                                         Globals["PadelScoreboard"].data["Results"]["Sets Finished"][curSet] = True
  615.                                         self.data["Results"]["Sets Finished"][curSet] = True
  616.                                
  617.                         elif self.data["Results"]["HomeTeam"]["Sets"][curSet] == 7:
  618.                                 if not self.data["TieBreak"]:
  619.                                         if self.data["Results"]["AwayTeam"]["Sets"][curSet] in [5,6]: #--> SET WON
  620.                                                 Globals["PadelScoreboard"].data["Results"]["Sets Finished"][curSet] = True
  621.                                                 self.data["Results"]["Sets Finished"][curSet] = True
  622.                                 else:
  623.                                         Globals["PadelScoreboard"].data["Results"]["Sets Finished"][curSet] = True
  624.                                         self.data["Results"]["Sets Finished"][curSet] = True
  625.                        
  626.                         elif self.data["Results"]["AwayTeam"]["Sets"][curSet] == 6:
  627.                                 if self.data["Results"]["HomeTeam"]["Sets"][curSet] < 5: # SET WON
  628.                                         Globals["PadelScoreboard"].data["Results"]["Sets Finished"][curSet] = True
  629.                                         self.data["Results"]["Sets Finished"][curSet] = True
  630.                                
  631.                         elif self.data["Results"]["AwayTeam"]["Sets"][curSet] == 7:
  632.                                 if not self.data["TieBreak"]:
  633.                                         if self.data["Results"]["HomeTeam"]["Sets"][curSet] in [5,6]: #--> SET WON
  634.                                                 Globals["PadelScoreboard"].data["Results"]["Sets Finished"][curSet] = True
  635.                                                 self.data["Results"]["Sets Finished"][curSet] = True
  636.                                 else:
  637.                                         Globals["PadelScoreboard"].data["Results"]["Sets Finished"][curSet] = True
  638.                                         self.data["Results"]["Sets Finished"][curSet] = True           
  639.                        
  640.                         else:
  641.                                 #print "Cai no else"
  642.                                 Globals["PadelScoreboard"].data["Results"]["Sets Finished"][curSet] = False
  643.                                 self.data["Results"]["Sets Finished"][curSet] = False
  644.                                
  645.                        
  646.                         if int(self.data["Results"]["CurrentSet"]) > int(self.oldSet):
  647.                                 Project.ExecuteScript("Online_API", "SetFinished")
  648.                                 self.oldSet = self.data["Results"]["CurrentSet"]
  649.                                 return
  650.                                
  651.                        
  652.                        
  653.                         Globals["PadelScoreboard"].UpdateInterface()
  654.                         self.__UpdateData()
  655.                        
  656.                        
  657.                        
  658.                 except Exception as e:
  659.                         import os
  660.                         import sys
  661.                         e_type, e_object, e_traceback = sys.exc_info()
  662.                         e_filename = os.path.split(
  663.                                 e_traceback.tb_frame.f_code.co_filename
  664.                         )[1]
  665.                         e_message = str(e)
  666.                         e_line_number = e_traceback.tb_lineno
  667.                         print('exception line number: %s'%e_line_number)
  668.                         print('exception message: %s' %e_message)
  669.                        
  670.         def __UpdateData(self):
  671.                 #print "Update data"
  672.                 try:
  673.                         frm = Script.Form.Form
  674.                         teams = ["Home", "Away"]
  675.                        
  676.                         for i in range(2):
  677.                                 if len(self.data["Results"][teams[i] + "Team"]["Players"]) > 0:
  678.                                         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()
  679.                                 else:
  680.                                         frm.Controls["lbl" + teams[i] + "Team"].Text = "-"                     
  681.                                        
  682.                                 frm.Controls["lbl" + teams[i] + "Point"].Text = self.data["Results"][teams[i] + "Team"]["CurrentGame"]
  683.                                 for x in range(5):
  684.                                         frm.Controls["lbl" + teams[i] + "Set" + str(x+1).zfill(2)].Text = str(self.data["Results"][teams[i] + "Team"]["Sets"][x])
  685.                                         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 "-"
  686.                                                
  687.                                         #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"])
  688.                                         #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"])
  689.                                         #frm.Controls["lbl" + teams[i] + "UnforcedError"].Text = "0"
  690.                                         #frm.Controls["lbl" + teams[i] + "Winner"].Text = "0"
  691.                                         #frm.Controls["lbl" + teams[i] + "Smash"].Text = "0"
  692.                                        
  693.                                         #if self.manualHomeService:
  694.                                                 #frm.Controls["HomeService"].Checked = True
  695.                                        
  696.                                         #if self.manualAwayService:
  697.                                                 #frm.Controls["AwayService"].Checked = True
  698.                                        
  699.                                         if self.manualHomeService == False and self.manualAwayService == False:
  700.                                                         pass
  701.                                         if self.data["Results"][teams[i] + "Team"]["Service"] == 0:
  702.                                                 frm.Controls["lbl" + teams[i] + "Team"].ForeColor = Color.WhiteSmoke
  703.                                                 #frm.Controls[teams[i] + "Service"].Checked = False
  704.                                         else:
  705.                                                 frm.Controls["lbl" + teams[i] + "Team"].ForeColor = Color.SpringGreen
  706.                                                 #frm.Controls[teams[i] + "Service"].Checked = True
  707.                         self.fillColorSetWinner()
  708.                         self.CheckStatusOnline()
  709.                 except Exception as e:
  710.                         print "Error on __UpdateData: %s" % e
  711.                        
  712.         def fillColorSetWinner(self):
  713.                 frm = Script.Form.Form
  714.                 for i in range(3):
  715.                         valueHome = int(frm.Controls["lblHomeSet%02d"%(i+1)].Text)
  716.                         valueAway = int(frm.Controls["lblAwaySet%02d"%(i+1)].Text)
  717.                         if valueHome > valueAway:
  718.                                 #print "Home Maior"
  719.                                 frm.Controls["lblHomeSet%02d"%(i+1)].ForeColor = Color.SpringGreen
  720.                         elif valueAway > valueHome:
  721.                                 #print "Away Maior"
  722.                                 frm.Controls["lblAwaySet%02d"%(i+1)].ForeColor = Color.SpringGreen
  723.                         else:
  724.                                 #print "Os Dois Iguais"
  725.                                 frm.Controls["lblHomeSet%02d"%(i+1)].ForeColor = Color.WhiteSmoke
  726.                                 frm.Controls["lblAwaySet%02d"%(i+1)].ForeColor = Color.WhiteSmoke
  727.                                        
  728.         def UpdateInfo(self, error = ""):
  729.                 #print "UpdateInfo"
  730.                 if self.matchId and self.draw and self.selectedIndex:
  731.                         btnReload.Enabled = True
  732.                 else:
  733.                         btnReload.Enabled = False
  734.                        
  735.                 msg = ""
  736.                 if self.test:
  737.                         msg += ("TESTING.... " + "\n")
  738.                 msg += ("Status API: " + str(self.statusConn) + "\n")
  739.                 if self.matchId:       
  740.                         msg += ("Competition ID: " + str(self.matchId) + "\n")
  741.                
  742.                 if self.draw:
  743.                         msg += ("Draw: " + str(self.draw) + "\n")
  744.                
  745.                 if self.gameId:
  746.                         msg += ("Game ID: " + str(self.gameId) + "\n")
  747.                         msg += ("Match Finished: " + str(self.matchFinished) + "\n")
  748.                        
  749.                 msg += ("Last Score Update: " + str(self.lastScore) + "\n")
  750.                
  751.                 curSet = int(self.data["Results"]["CurrentSet"])-1
  752.                 setIsFinish = self.data["Results"]["Sets Finished"][curSet]
  753.                 msg += ("Set(%s) Finish: %s " % (str(curSet + 1),setIsFinish )+ "\n")
  754.                
  755.                 if not error == "":
  756.                         msg += ("Error: " + error + "\n\n")
  757.                        
  758.                 lblInfo.Text = msg
  759.                
  760.         def clearAll(self):
  761.                 #print "Limpando tudo!"
  762.                 cboDraws.Text = ""
  763.                 cboDraws.Items.Clear()
  764.                 cboGameDate.Text = ""
  765.                 cboGameDate.Items.Clear()
  766.                 cboDrawsMatchs.Text = ""
  767.                 cboDrawsMatchs.Items.Clear()
  768.                 self.matchId = None
  769.                 self.draw = None
  770.                 self.gameId = None
  771.                 self.gameIndex = None
  772.                 self.selectedIndex = None
  773.                 self.matchesFilteredByDraw = None
  774.                 self.manualHomeService = False
  775.                 self.manualAwayService = False
  776.                 HomeService.Checked = False
  777.                 AwayService.Checked = False
  778.                 Globals["API"].LastSum2Sets = 0
  779.                
  780.         def clearRefresh(self):
  781.                 self.gameId = None
  782.                 self.matchesFilteredByDraw = None
  783.                
  784.         def __SaveJSON(self, data, name):
  785.                 time4json = datetime.today().strftime('%Y%m%d_%H%M%S%f')
  786.                 output_file = codecs.open(Project.AddonsDataPath + "\\API\\MATCHDATA\\" + "%s_%s.json" % (name,time4json), "w", encoding="utf-8")
  787.                 json.dump(data, output_file, sort_keys=False, indent=4, ensure_ascii=False)
  788.                
  789.         def createHomePoints(self):
  790.                 pointsIdx = {"0":"15","15":"30","30":"40","40":""}
  791.                 try:
  792.                         points = self.data["Results"]["HomeTeam"]["CurrentGame"]
  793.                 except:
  794.                         points = "0"
  795.                
  796.                 newPoints = pointsIdx[points]
  797.                 self.data["Results"]["HomeTeam"]["CurrentGame"] = newPoints
  798.                
  799.         def createAwayPoints(self):
  800.                 pointsIdx = {"0":"15","15":"30","30":"40","40":""}
  801.                 try:
  802.                         points = self.data["Results"]["AwayTeam"]["CurrentGame"]
  803.                 except:
  804.                         points = "0"
  805.                 newPoints = pointsIdx[points]
  806.                 self.data["Results"]["AwayTeam"]["CurrentGame"] = newPoints
  807.                
  808.         def CheckStatusOnline(self):
  809.                 try:
  810.                         isTieBreak = self.data["TieBreak"]
  811.                         currentSet = int(self.data["Results"]["CurrentSet"])
  812.                         homeCurrentGame = self.data["Results"]["HomeTeam"]["CurrentGame"]
  813.                         awayCurrentGame = self.data["Results"]["AwayTeam"]["CurrentGame"]
  814.                         homeCurrentSet = int(self.data["Results"]["HomeTeam"]["Sets"][currentSet-1])
  815.                         awayCurrentSet = int(self.data["Results"]["AwayTeam"]["Sets"][currentSet-1])
  816.                        
  817.                         if isTieBreak:
  818.                                 homeCurrentTieBreak = int(homeCurrentGame)
  819.                                 awayCurrentTieBreak = int(awayCurrentGame)
  820.                         else:
  821.                                 homeCurrentTieBreak = 0
  822.                                 awayCurrentTieBreak = 0
  823.                        
  824.                         homeScore = 0
  825.                         awayScore = 0
  826.                         for t in range(self.data["Sets"]):
  827.                                 if self.data["Results"]["Sets Finished"][t]:
  828.                                         if self.data["Results"]["HomeTeam"]["Sets"][t] > self.data["Results"]["AwayTeam"]["Sets"][t]:
  829.                                                 homeScore += 1
  830.                                         else:
  831.                                                 awayScore += 1
  832.                        
  833.                         # Checking SetPoint
  834.                         matchPoint = False
  835.                         setPoint = False
  836.                         advantagePoint = False
  837.                         tournamentPoint = (str(self.roundName) == "F")
  838.                         startPoint = False
  839.                         if homeCurrentSet == 6 and awayCurrentSet == 6:
  840.                                 if homeCurrentTieBreak > 5 and homeCurrentTieBreak > awayCurrentTieBreak: #and homeCurrentTieBreak > awayCurrentTieBreak+1                             
  841.                                         setPoint = True
  842.                                         if homeScore == (self.data["Sets"]/2):
  843.                                                 matchPoint = True
  844.                                 if awayCurrentTieBreak > 5 and awayCurrentTieBreak > homeCurrentTieBreak: #and awayCurrentTieBreak > homeCurrentTieBreak+1                             
  845.                                         setPoint = True
  846.                                         if awayScore == (self.data["Sets"]/2):
  847.                                                 matchPoint = True
  848.                         else:
  849.                                 if homeCurrentSet > 4 and homeCurrentSet > awayCurrentSet:
  850.                                         if homeCurrentGame == "40" and Globals["OnlineAPIAdvantageCount"] == 2:
  851.                                                 setPoint = True
  852.                                                 if homeScore == (self.data["Sets"]/2):
  853.                                                         matchPoint = True
  854.                                         elif homeCurrentGame == "Ad":
  855.                                                 setPoint = True
  856.                                                 if homeScore == (self.data["Sets"]/2):
  857.                                                         matchPoint = True
  858.                                         elif homeCurrentGame == "40" and not awayCurrentGame == "40" and not awayCurrentGame == "Ad":
  859.                                                 setPoint = True
  860.                                                 if homeScore == (self.data["Sets"]/2):
  861.                                                         matchPoint = True                              
  862.                                 elif awayCurrentSet > 4 and awayCurrentSet > homeCurrentSet:
  863.                                         if awayCurrentGame == "40" and Globals["OnlineAPIAdvantageCount"] == 2:
  864.                                                 setPoint = True
  865.                                                 if awayScore == (self.data["Sets"]/2):
  866.                                                         matchPoint = True
  867.                                         elif awayCurrentGame == "Ad":
  868.                                                 setPoint = True
  869.                                                 if awayScore == (self.data["Sets"]/2):
  870.                                                         matchPoint = True
  871.                                         elif awayCurrentGame == "40" and not homeCurrentGame == "40" and not homeCurrentGame == "Ad":
  872.                                                 setPoint = True
  873.                                                 if awayScore == (self.data["Sets"]/2):
  874.                                                         matchPoint = True              
  875.                         if homeCurrentGame == '40' and awayCurrentGame == '40':
  876.                                 Globals["OnlineAPIAdvantageUpdate"] = True
  877.                                 if Globals["OnlineAPIIsAdvantageTitleOnAir"]:
  878.                                         Globals["OnlineAPIIsAdvantageTitleOnAir"] = False
  879.                                         Project.ExecuteScript("Online_API", "PopupOut")
  880.                                 if Globals["OnlineAPIAdvantageCount"] == 1:
  881.                                         Globals["OnlineAPIIsDeucesTitleOnAir"] = True
  882.                                         Project.ExecuteScript("Online_API", "PopupIn", "Deuce 2")
  883.                                 elif Globals["OnlineAPIAdvantageCount"] == 2:
  884.                                         Globals["OnlineAPIIsDeucesTitleOnAir"] = True
  885.                                         if matchPoint:
  886.                                                 if tournamentPoint:
  887.                                                         Project.ExecuteScript("Online_API", "PopupIn", "Tournament Point Star Point")
  888.                                                 else:
  889.                                                         Project.ExecuteScript("Online_API", "PopupIn", "Match Point Star Point")
  890.                                         elif setPoint:
  891.                                                 Project.ExecuteScript("Online_API", "PopupIn", "Set Point Star Point")                                         
  892.                                         else:
  893.                                                 Project.ExecuteScript("Online_API", "PopupIn", "Star Point")                                           
  894.                                 else:
  895.                                         Globals["OnlineAPIIsDeucesTitleOnAir"] = False
  896.                                         Project.ExecuteScript("Online_API", "PopupOut")
  897.                         elif setPoint and not self.matchFinished:
  898.                                 if matchPoint and not self.matchFinished:
  899.                                         try:
  900.                                                 if tournamentPoint:
  901.                                                         Project.ExecuteScript("Online_API", "PopupIn", "Tournament Point")
  902.                                                 else:
  903.                                                         Project.ExecuteScript("Online_API", "PopupIn", "Match Point")
  904.                                         except Exception as e:
  905.                                                 print "Form has some errors"
  906.                                                 print str(e)
  907.                                                 Core.StatusManager.Add(str(e), 'error')
  908.                                 else:
  909.                                         try:
  910.                                                 Project.ExecuteScript("Online_API", "PopupIn", "Set Point")
  911.                                         except Exception as e:
  912.                                                 print "Form has some errors"
  913.                                                 print str(e)
  914.                                                 Core.StatusManager.Add(str(e), 'error')
  915.                                         #btnSetPoint_Click(None, None)
  916.                         elif homeCurrentGame == 'Ad' or awayCurrentGame == 'Ad':
  917.                                 if Globals["OnlineAPIAdvantageUpdate"]:
  918.                                         Globals["OnlineAPIAdvantageCount"] += 1
  919.                                         Globals["OnlineAPIAdvantageUpdate"] = False
  920.                                 if Globals["OnlineAPIIsDeucesTitleOnAir"]:
  921.                                         Globals["OnlineAPIIsDeucesTitleOnAir"] = False
  922.                                         Project.ExecuteScript("Online_API", "PopupOut")
  923.                                 if Globals["OnlineAPIAdvantageCount"] == 1:
  924.                                         Globals["OnlineAPIIsAdvantageTitleOnAir"] = True
  925.                                         Project.ExecuteScript("Online_API", "PopupIn", "Advantage 1")
  926.                                 elif Globals["OnlineAPIAdvantageCount"] == 2:
  927.                                         Globals["OnlineAPIIsAdvantageTitleOnAir"] = True
  928.                                         Project.ExecuteScript("Online_API", "PopupIn", "Advantage 2")
  929.                                 else:
  930.                                         Globals["OnlineAPIIsAdvantageTitleOnAir"] = False
  931.                                         Project.ExecuteScript("Online_API", "PopupOut")
  932.                         elif homeCurrentGame == '40' or awayCurrentGame == '40':
  933.                                 homeService = Globals["API"].data["Results"]["HomeTeam"]["Service"] != 0
  934.                                 if (homeCurrentGame == '40' and not homeService) or (awayCurrentGame == '40' and homeService):
  935.                                         Project.ExecuteScript("Online_API", "PopupIn", "Breakpoint")
  936.                                 else:
  937.                                         Project.ExecuteScript("Online_API", "PopupOut")
  938.                         else:          
  939.                                 Project.ExecuteScript("Online_API", "PopupOut")
  940.                         #else:
  941.                         #       if self.data["Golden Point"] == "GOLDEN POINT ALL SETS": # GOLDEN POINT ALL SETS
  942.                         #               if homeCurrentGame == "40" and awayCurrentGame == "40":
  943.                         #                       Project.ExecuteScript("Online_API", "GoldPointIn")
  944.                         #               else:
  945.                         #                       Project.ExecuteScript("Online_API", "PopupOut")
  946.                         #                       Project.ExecuteScript("Online_API", "GoldPointOut")
  947.                         #       else:
  948.                         #               Project.ExecuteScript("Online_API", "PopupOut")
  949.                         #               Project.ExecuteScript("Online_API", "GoldPointOut")
  950.                        
  951.                 except Exception as e:
  952.                         print"Erro CheckStatusOnline: %s"% e
  953.                        
  954.                        
  955. def btnInit_Click(sender, e):
  956.         try:
  957.                 numSeconds.Value = int(ProjectSettings["API Crionet Timer"])
  958.                 Globals["API"] = API()
  959.                 Globals["API"].Init()
  960.                 Globals["API"].clearAll()
  961.                 Globals["API"].GetDefault()
  962.                 Globals["API"].UpdateInfo()
  963.                 Globals["API"]._API__UpdateData()
  964.                 Globals["PadelScoreboard"].LastSum2Sets = 0
  965.                 Globals["SponsorOnAnimantion"] = False
  966. #               cboMatches.Text = "WORLD PADEL CHAMPIONSHIPS" #2024
  967.                 cboMatches.Text = "FIP WORLD CUP 2026" #2026
  968.                 #print dir(Globals["API"])
  969.         except Exception as e:
  970.                 print "Form has some errors"
  971.                 print str(e)
  972.                 Core.StatusManager.Add(str(e), 'error')
  973. def btnPlay_Click(sender, e):
  974.         try:
  975.                 btnStop_Click(None, None)
  976.                                
  977.                 Update()       
  978.                                
  979.                 lblStatus.Text = "RUNNING..."
  980.                 Globals["API"].status = True
  981.                 Globals["PadelScoreboard"].LastSum2Sets = 0
  982.                 Globals["SponsorOnAnimantion"] = False
  983.                 lblStatus.ForeColor = Color.SpringGreen
  984.         except Exception as e:
  985.                 print "Form has some errors"
  986.                 print str(e)
  987.                 Core.StatusManager.Add(str(e), 'error')
  988. def Update():
  989.         try:
  990.                 #Core.ScriptRunner.Execute("Init","Sportstats_Timer_TimerChanged",Project.Name, "API_CRIONET", "")
  991.                 #status = Globals["API"].GetInProgressMatches()
  992.                 status = True
  993.                 Globals["API"].GetInProgressMatches()
  994.                 if status:
  995.                         delay = int(ProjectSettings["API Crionet Timer"])
  996.                         if Globals["R3_Manager"].OnAirScorebug:
  997.                                 Project.ExecuteScript(Globals["R3_Manager"].OnAirScorebug, "Update")
  998.                         Scheduler.Add(Script.RefName, "Update", Project.Name, None, delay*1000, "API")
  999.         except Exception as e:
  1000.                 print "Form has some errors"
  1001.                 print str(e)
  1002.                 Core.StatusManager.Add(str(e), 'error')
  1003. def btnStop_Click(sender, e):
  1004.         try:
  1005.                 Scheduler.ClearScheduler("API")
  1006.                 lblStatus.Text = "STOPPED"
  1007.                 lblStatus.ForeColor = Color.Salmon
  1008.                 Globals["SponsorOnAnimantion"] = False
  1009.                 Globals["API"].status = False
  1010.         except Exception as e:
  1011.                 print "Form has some errors"
  1012.                 print str(e)
  1013.                 Core.StatusManager.Add(str(e), 'error')
  1014. def numSeconds_ValueChanged(sender, e):
  1015.         try:
  1016.                 ProjectSettings["API Crionet Timer"] = str(int(sender.Value))
  1017.                 ProjectSettings.Save()
  1018.         except Exception as e:
  1019.                 print "Form has some errors"
  1020.                 print str(e)
  1021.                 Core.StatusManager.Add(str(e), 'error')
  1022. def btnOnlineIn_Click(sender, e):
  1023.         try:
  1024.                
  1025.                 if Globals["R3_Manager"].OnAirScorebug:
  1026.                         return
  1027.                 try:
  1028.                         Project.ExecuteScript("Online_API")
  1029.                 except Exception as e:
  1030.                         print "Form has some errors"
  1031.                         print str(e)
  1032.                         Core.StatusManager.Add(str(e), 'error')
  1033.                        
  1034.         except Exception as e:
  1035.                 print "Form has some errors"
  1036.                 print str(e)
  1037.                 Core.StatusManager.Add(str(e), 'error')
  1038. def btnOnlineOut_Click(sender, e):
  1039.         try:
  1040.                 Project.ExecuteScript("Online_API", "Out")
  1041.         except Exception as e:
  1042.                 print "Form has some errors"
  1043.                 print str(e)
  1044.                 Core.StatusManager.Add(str(e), 'error')
  1045.                
  1046. def btnBigScore_Click(sender, e):
  1047.         try:
  1048.                 Project.ExecuteScript("BigScore_API")
  1049.         except Exception as e:
  1050.                 print "Form has some errors"
  1051.                 print str(e)
  1052.                 Core.StatusManager.Add(str(e), 'error')
  1053.                                
  1054. def cboMatches_SelectedIndexChanged(sender, e):
  1055.         try:
  1056.                 Globals["API"].clearAll()
  1057.                 Globals["API"].GetDefault()
  1058.                 Globals["API"].matchId = sender.Tag[sender.SelectedIndex]
  1059.                 Globals["API"].UpdateInfo()
  1060.                 Globals["API"].GetDraws()
  1061.                 Globals["API"]._API__UpdateData()
  1062.                
  1063. #               if sender.Text == "WORLD PADEL CHAMPIONSHIPS": #2024
  1064.                 if sender.Text == "FIP WORLD CUP 2026": #2026
  1065.                         #Globals["API"].UpdateInfo()
  1066.                         #Globals["API"].GetDaysIndex()
  1067.                         #Globals["API"].GetDefault()
  1068.                         #Globals["API"]._API__UpdateData()
  1069.                         #Men's Doubles - MD
  1070.                         #Women's Doubles - LD
  1071.                        
  1072.                         cboDraws.Items.Add("Men's Doubles")
  1073.                         (cboDraws.Tag).append("MD")
  1074.                         cboDraws.Items.Add("Women's Doubles")
  1075.                         (cboDraws.Tag).append("LD")
  1076.                
  1077.         except Exception as e:
  1078.                 print "Form has some errors"
  1079.                 print str(e)
  1080.                
  1081. def cboDraws_SelectedIndexChanged(sender, e):
  1082.         try:
  1083.                 Globals["API"].draw = sender.Tag[sender.SelectedIndex]
  1084.                 #print "Draw: %s" % sender.Tag[sender.SelectedIndex]
  1085.                 Globals["API"].UpdateInfo()
  1086.                 Globals["API"].GetDaysIndex()
  1087.                 Globals["API"].GetDefault()
  1088.                 Globals["API"]._API__UpdateData()
  1089.                 #Globals["API"].GetDrawsMatchs()
  1090.         except Exception as e:
  1091.                 print "Form has some errors"
  1092.                 print str(e)
  1093.                 Core.StatusManager.Add(str(e), 'error')
  1094.                        
  1095. def cboGameDate_SelectedIndexChanged(sender, e):
  1096.         try:
  1097.                 Globals["API"].selectedIndex = sender.Tag[sender.SelectedIndex]
  1098.                 Globals["API"].UpdateInfo()
  1099.                 Globals["API"].GetDrawsMatchs()
  1100.                 Globals["API"].GetDefault()
  1101.                 Globals["API"]._API__UpdateData()
  1102.                
  1103.         except Exception as e:
  1104.                 print "Form has some errors"
  1105.                 print str(e)
  1106.                 Core.StatusManager.Add(str(e), 'error')
  1107.                                
  1108. def cboDrawsMatchs_SelectedIndexChanged(sender, e):
  1109.         try:
  1110.                 Globals["API"].gameId = sender.Tag[sender.SelectedIndex]
  1111.                 item = Globals["API"].GetMatchInfo()
  1112.                 Globals["API"].GetDefault()
  1113.                 Globals["API"]._API__UpdateData()
  1114.                 Globals["API"].UpdateInfo()
  1115.         except Exception as e:
  1116.                 print "Form has some errors"
  1117.                 print str(e)
  1118.                 Core.StatusManager.Add(str(e), 'error')
  1119.                
  1120. def createH():
  1121.         try:
  1122.                 Globals["API"].createHomePoints()
  1123.         except Exception as e:
  1124.                 print "Form has some errors"
  1125.                 print str(e)
  1126.                 Core.StatusManager.Add(str(e), 'error')
  1127.                
  1128. def createA():
  1129.         try:
  1130.                 Globals["API"].createAwayPoints()
  1131.         except Exception as e:
  1132.                 print "Form has some errors"
  1133.                 print str(e)
  1134.                 Core.StatusManager.Add(str(e), 'error')
  1135.                
  1136. def teste():
  1137.         try:
  1138.                 Globals["PadelScoreboard"].data["Results"]["HomeTeam"]["Service"] = 0  
  1139.                 Globals["PadelScoreboard"].data["Results"]["AwayTeam"]["Service"] = 1
  1140.                 Globals["PadelScoreboard"].UpdateInterface()
  1141.         except Exception as e:
  1142.                 print "Form has some errors"
  1143.                 print str(e)
  1144.                 Core.StatusManager.Add(str(e), 'error')
  1145.                
  1146. def btnReload_Click(sender, e):
  1147.         try:
  1148.                 btnStop_Click(None,None)
  1149.                 Globals["API"].gameId = None
  1150.                 Globals["API"].matchesFilteredByDraw = None
  1151.                 Globals["API"].points = {
  1152.                         "HomeTeam" : "",
  1153.                         "AwayTeam" : ""        
  1154.                 }
  1155.                 Globals["API"].sets = {
  1156.                         "HomeTeam" : [0,0,0,0,0],
  1157.                         "AwayTeam" : [0,0,0,0,0]
  1158.                 }
  1159.                 Globals["API"].ad = {
  1160.                         "HomeTeam" : False,
  1161.                         "AwayTeam" : False     
  1162.                 }
  1163.                 Globals["API"].matchFinished = None
  1164.                 Globals["API"].oldSet = 1
  1165.                 Globals["API"].GetDefault()
  1166.                 Globals["API"]._API__UpdateData()
  1167.                 Globals["API"].clearRefresh()
  1168.                 Globals["API"].GetDrawsMatchs()
  1169.                 Globals["API"].UpdateInfo()
  1170.                 #Globals["API"]._API__UpdateData()
  1171.         except Exception as e:
  1172.                 print "Form has some errors"
  1173.                 print str(e)
  1174.                 Core.StatusManager.Add(str(e), 'error')
  1175. def btnHomeApiRetired_Click(sender, e):
  1176.         try:
  1177.                
  1178.                 if Globals["R3_Manager"].OnAirLowerthird != "BigScore" and Globals["R3_Manager"].OnAirLowerthird != "BigScore_API": return
  1179.                
  1180.                 if Globals["AwayRetiredOnair"]:
  1181.                         #print "Chama o out do away pelo home"
  1182.                         btnAwayApiRetired.BackColor = Color.DarkGray
  1183.                         Globals["frmPadelScoreboard"].Controls["btnAwayRetired"].BackColor = Color.DarkGray
  1184.                         Project.ExecuteScript("BigScore", "awayRetiredOut")
  1185.                         Thread.Sleep(500)
  1186.                        
  1187.                 if Globals["HomeRetiredOnair"]:
  1188.                         #print "Chama o out"
  1189.                         btnHomeApiRetired.BackColor = Color.DarkGray
  1190.                         Globals["frmPadelScoreboard"].Controls["btnHomeRetired"].BackColor = Color.DarkGray
  1191.                         Project.ExecuteScript("BigScore", "homeRetiredOut")
  1192.                 else:
  1193.                         #print "chama o in"
  1194.                         btnHomeApiRetired.BackColor = Color.DarkGreen
  1195.                         Globals["frmPadelScoreboard"].Controls["btnHomeRetired"].BackColor = Color.DarkGreen
  1196.                         Project.ExecuteScript("BigScore", "homeRetiredIn")
  1197.                        
  1198.         except Exception as e:
  1199.                 print "Form has some errors"
  1200.                 print str(e)
  1201.                 Core.StatusManager.Add(str(e), 'error')
  1202.                
  1203. def btnAwayApiRetired_Click(sender, e):
  1204.         try:
  1205.                 if Globals["R3_Manager"].OnAirLowerthird != "BigScore" and Globals["R3_Manager"].OnAirLowerthird != "BigScore_API": return
  1206.                
  1207.                 if Globals["HomeRetiredOnair"]:
  1208.                         #print "Chama o out do home pelo away"
  1209.                         btnHomeApiRetired.BackColor = Color.DarkGray
  1210.                         Globals["frmPadelScoreboard"].Controls["btnHomeRetired"].BackColor = Color.DarkGray
  1211.                         Project.ExecuteScript("BigScore", "homeRetiredOut")
  1212.                         Thread.Sleep(500)
  1213.                        
  1214.                 if Globals["AwayRetiredOnair"]:
  1215.                         #print "Chama o out"
  1216.                         btnAwayApiRetired.BackColor = Color.DarkGray
  1217.                         Globals["frmPadelScoreboard"].Controls["btnAwayRetired"].BackColor = Color.DarkGray
  1218.                         Project.ExecuteScript("BigScore", "awayRetiredOut")
  1219.                 else:
  1220.                         #print "chama o in"
  1221.                         btnAwayApiRetired.BackColor = Color.DarkGreen
  1222.                         Globals["frmPadelScoreboard"].Controls["btnAwayRetired"].BackColor = Color.DarkGreen
  1223.                         Project.ExecuteScript("BigScore", "awayRetiredIn")
  1224.         except Exception as e:
  1225.                 print "Form has some errors"
  1226.                 print str(e)
  1227.                 Core.StatusManager.Add(str(e), 'error')
  1228.        
  1229.                
  1230. def Run():
  1231.         try:
  1232.                 numSeconds.Value = int(ProjectSettings["API Crionet Timer"])
  1233.                 Globals["API"] = API()
  1234.                 Globals["API"].Init()
  1235.                 #Globals["API"].clearAll()
  1236.                 #Globals["API"].GetDefault()
  1237.                 #Globals["API"].UpdateInfo()
  1238.                 #Globals["API"]._API__UpdateData()
  1239.                 #print dir(Globals["API"])
  1240.         except Exception as e:
  1241.                 print "Form has some errors"
  1242.                 print str(e)
  1243.                 Core.StatusManager.Add(str(e), 'error')
  1244. def HomeService_Click(sender, e):
  1245.         try:
  1246.                 if HomeService.Checked:
  1247.                         Globals["API"].manualHomeService = True
  1248.                         AwayService.Checked = False
  1249.                         AwayService2.Checked = False
  1250.                         HomeService2.Checked = False
  1251.                         Globals["API"].data["Results"]["HomeTeam"]["Service"] = 1
  1252.                         Globals["API"].data["Results"]["AwayTeam"]["Service"] = 0
  1253.                 else:
  1254.                         Globals["API"].manualHomeService = False
  1255.        
  1256.                
  1257.         except Exception as e:
  1258.                 print "Form has some errors"
  1259.                 print str(e)
  1260.                 Core.StatusManager.Add(str(e), 'error')
  1261.                
  1262. def HomeService2_Click(sender, e):
  1263.         try:
  1264.                 if HomeService2.Checked:
  1265.                         Globals["API"].manualHomeService = True
  1266.                         AwayService.Checked = False
  1267.                         AwayService2.Checked = False
  1268.                         HomeService.Checked = False
  1269.                         Globals["API"].data["Results"]["HomeTeam"]["Service"] = 2
  1270.                         Globals["API"].data["Results"]["AwayTeam"]["Service"] = 0
  1271.                 else:
  1272.                         Globals["API"].manualHomeService = False
  1273.                        
  1274.                
  1275.         except Exception as e:
  1276.                 print "Form has some errors"
  1277.                 print str(e)
  1278.                 Core.StatusManager.Add(str(e), 'error')        
  1279. def AwayService_Click(sender, e):
  1280.         try:
  1281.                
  1282.                 if AwayService.Checked:
  1283.                         Globals["API"].manualHomeService = True
  1284.                         HomeService.Checked = False
  1285.                         HomeService2.Checked = False
  1286.                         AwayService2.Checked = False
  1287.                         Globals["API"].data["Results"]["AwayTeam"]["Service"] = 1
  1288.                         Globals["API"].data["Results"]["HomeTeam"]["Service"] = 0
  1289.                 else:
  1290.                         Globals["API"].manualHomeService = False       
  1291.                        
  1292.         except Exception as e:
  1293.                 print "Form has some errors"
  1294.                 print str(e)
  1295.                 Core.StatusManager.Add(str(e), 'error')
  1296.                
  1297. def AwayService2_Click(sender, e):
  1298.         try:
  1299.                
  1300.                 if AwayService2.Checked:
  1301.                         Globals["API"].manualHomeService = True
  1302.                         HomeService.Checked = False
  1303.                         HomeService2.Checked = False
  1304.                         AwayService.Checked = False
  1305.                         Globals["API"].data["Results"]["AwayTeam"]["Service"] = 2
  1306.                         Globals["API"].data["Results"]["HomeTeam"]["Service"] = 0
  1307.                 else:
  1308.                         Globals["API"].manualHomeService = False       
  1309.         except Exception as e:
  1310.                 print "Form has some errors"
  1311.                 print str(e)
  1312.                 Core.StatusManager.Add(str(e), 'error')
  1313. def btnSponsorApiIn_MouseClick(sender, e):
  1314.         try:
  1315.                 Project.ExecuteScript("Online_API","HashtagIn")
  1316.                 HashtagAutoTimeOut = int(Globals["ConfigForm"].data["HashtagTimeOut"])
  1317.                 if HashtagAutoTimeOut != 0:
  1318.                         Scheduler.Add("Online_API", "HashtagOut", Project.Name, None, HashtagAutoTimeOut * 1000, "API")
  1319.         except Exception as e:
  1320.                 print "Form has some errors"
  1321.                 print str(e)
  1322.                 Core.StatusManager.Add(str(e), 'error')
  1323. def btnSponsorApiOut_MouseClick(sender, e):
  1324.         try:
  1325.                 Project.ExecuteScript("Online_API","HashtagOut")
  1326.         except Exception as e:
  1327.                 print "Form has some errors"
  1328.                 print str(e)
  1329.                 Core.StatusManager.Add(str(e), 'error')
  1330. def btnBigScoreOut_Click(sender, e):
  1331.         try:
  1332.                 Project.ExecuteScript("BigScore_API","Out")
  1333.         except Exception as e:
  1334.                 print "Form has some errors"
  1335.                 print str(e)
  1336.                 Core.StatusManager.Add(str(e), 'error')
  1337.        
  1338. def btnSponsor1In_Click(sender, e):
  1339.         try:
  1340.                 #Protecão para não lançar o sponsor antes do Hashtag se tiver automático
  1341.                 if not Globals["R3_Manager"].OnAirScorebugHashtag and Globals["ConfigForm"].data["HashtagTimeIn"] > 0:
  1342.                         return
  1343.                 try:
  1344.                         Project.ExecuteScript("Online_API","SponsorOnlineIn", "1")
  1345.                 except Exception as e:
  1346.                         print "Form has some errors"
  1347.                         print str(e)
  1348.                         Core.StatusManager.Add(str(e), 'error')
  1349.                
  1350.         except Exception as e:
  1351.                 print "Form has some errors"
  1352.                 print str(e)
  1353.                 Core.StatusManager.Add(str(e), 'error')
  1354.        
  1355. def btnSponsor2In_Click(sender, e):
  1356.         try:
  1357.                 #Protecão para não lançar o sponsor antes do Hashtag se tiver automático
  1358.                 if not Globals["R3_Manager"].OnAirScorebugHashtag and Globals["ConfigForm"].data["HashtagTimeIn"] > 0:
  1359.                         return
  1360.                 try:
  1361.                         Project.ExecuteScript("Online_API","SponsorOnlineIn", "2")
  1362.                 except Exception as e:
  1363.                         print "Form has some errors"
  1364.                         print str(e)
  1365.                         Core.StatusManager.Add(str(e), 'error')
  1366.                
  1367.         except Exception as e:
  1368.                 print "Form has some errors"
  1369.                 print str(e)
  1370.                 Core.StatusManager.Add(str(e), 'error')
  1371.                
  1372.  

Reply to "Untitled"

Here you can reply to the paste above