BRACKETS SF AUTOMATIC

From Big Agouti, 2 Weeks ago, written in Plain Text, viewed 2 times. This paste will bite the big one in 1 Week. This paste is a reply to BRACKETS QF AUTOMATIC from Forensic Anoa - view diff
URL https://paste.afonso.co/view/73994fac Embed
Download Paste or View Raw
  1. import clr
  2. clr.AddReference("Wtvision.Sports.Tools.UefaDigitalAPIImporter")
  3. from Wtvision.Sports import UefaDigitalApiProxy
  4. from Wtvision.Sports.Models import ModelsTools
  5. from System import Array, DateTime
  6.  
  7. def __getData(graphicOnAirItem, viewBag, momentExecution):
  8.     __ClearAllTags(viewBag)
  9.     brackets = UefaDigitalAPIImporter.GetCurrentChampionshipBrackets()
  10.     brackets.FillTeamSlots() # preencher os slots
  11.    
  12.     language = UefaDigitalAPIImporter.Options.Language
  13.     roundCount = 0
  14.     groupCount = 0
  15.     slotCount = 0
  16.     teamCount = 0
  17.     enum = 0
  18.    
  19.     # OBTER QUEM ESTA LIVE - TESTES
  20.     matchId = Game.ExternalId
  21.     active_game_events = UefaDigitalApiProxy.GetMatch(matchId = matchId)
  22.     leg = active_game_events.Type.ToString().upper()
  23.     matchDayId =  Game.Attributes["MatchDayId"]
  24.     matches = UefaDigitalApiProxy.GetMatches(offset= "0",limit = "500",competitionId = Array[str]([Game.Competition.IdCompetition]), matchDayId = Array[str]([matchDayId]))
  25.     matchId = Game.ExternalId
  26.     matches = sorted(matches, key=lambda match: match.KickOffTime.DateTime)
  27.     matches = [match for match in matches if match.Type.ToString().upper() == leg] ## ONLY LEG GAMES
  28.     current_date = next(iter([match for match in matches if match.Id == matchId]), None) # Get myGame
  29.     matches = matches = [match for match in matches if match.KickOffTime.Date == current_date.KickOffTime.Date] # JUST FOR TODAY GAMES
  30.     all_matches = matches
  31.     matches_live = [match for match in matches if match.Status.ToString().upper() == "LIVE"]
  32.     matches_finished = [match for match in matches if match.Status.ToString().upper() == "FINISHED"]
  33.     matches_upcoming = [match for match in matches if match.Status.ToString().upper() == "UPCOMING"]
  34.     for m in all_matches:
  35.         UserInteraction.NotifyWarning("UEFA", "%s vs %s | status: %s" % (m.HomeTeam.Translations.DisplayName[str(language)].ToString(), m.AwayTeam.Translations.DisplayName[str(language)].ToString(), m.Status.ToString().upper()))
  36.        
  37.         if Game.HomeTeam.Name == m.HomeTeam.Translations.DisplayName[str(language)].ToString() and Game.AwayTeam.Name == m.AwayTeam.Translations.DisplayName[str(language)].ToString():
  38.             myGameDateTime = m.KickOffTime.DateTime
  39.            
  40.     kopoListLeft = []
  41.     r16ListLeft = []
  42.     quarterFinalsListLeft = []
  43.     semiFinalListLeft = []
  44.    
  45.     kopoListRight = []
  46.     r16ListRight = []
  47.     quarterFinalsListRight = []
  48.     semiFinalListRight = []
  49.    
  50.     finalList = []
  51.     for i in brackets.Rounds:
  52.         roundCount += 1
  53.         for j in i.Groups: # CASA DO BRACKET
  54.             groupCount += 1
  55.             enum += 1
  56.             slots = {}
  57.             for l in j.Slots:
  58.                 slotCount += 1
  59.                 for m in l.Teams:
  60.                     teamCount += 1
  61.                     teamName = next((name.Value for name in m.Team.Translations.DisplayName if name.Key == str(language)), None) # Nome para slots
  62.                     teamId = m.TeamId
  63.                     teamInitials = m.Team.TeamCode
  64.                     teamFullName = next((fullTeamName.Value for fullTeamName in m.Team.Translations.DisplayOfficialName if fullTeamName.Key == str(language)), None)
  65.                     teamRefName = ModelsTools.GetRefName(teamFullName)
  66.                     teamPosition = m.Position
  67.                     if roundCount == 1: ## KNCOKOUT PLAY-OFFS
  68.                         if slotCount %2 == 1:
  69.                             slots["HomeTeamName"] = teamName.ToUpper()
  70.                             slots["HomeTeamRefName"] = teamRefName
  71.                             slots["HomeTeamInitials"] = teamInitials
  72.                             slots["HomeTeamId"] = teamId
  73.                         else:
  74.                             slots["AwayTeamName"] = teamName.ToUpper()
  75.                             slots["AwayTeamRefName"] = teamRefName
  76.                             slots["AwayTeamInitials"] = teamInitials    
  77.                             slots["AwayTeamId"] = teamId
  78.                            
  79.                     elif roundCount == 2: ## ROUND OF 16
  80.                         if slotCount == 1:
  81.                             slots["HomeTeamName"] = teamName.ToUpper()
  82.                             slots["HomeTeamRefName"] = teamRefName
  83.                             slots["HomeTeamInitials"] = teamInitials
  84.                             slots["HomeTeamId"] = teamId
  85.                         elif slotCount == 2:
  86.                             if len(l.Teams) != 2:
  87.                                 slots["AwayTeamName"] = teamName.ToUpper()
  88.                                 slots["AwayTeamRefName"] = teamRefName
  89.                                 slots["AwayTeamInitials"] = teamInitials
  90.                                 slots["AwayTeamId"] = teamId
  91.                                
  92.                     elif roundCount == 3: ## QUARTER FINALS
  93.                         if not teamName.ToString().Contains("Winner"):
  94.                             if slotCount %2 == 1:
  95.                                 slots["HomeTeamName"] = teamName.ToUpper()
  96.                                 slots["HomeTeamRefName"] = teamRefName
  97.                                 slots["HomeTeamInitials"] = teamInitials
  98.                                 slots["HomeTeamId"] = teamId
  99.                             else:
  100.                                 slots["AwayTeamName"] = teamName.ToUpper()
  101.                                 slots["AwayTeamRefName"] = teamRefName
  102.                                 slots["AwayTeamInitials"] = teamInitials
  103.                                 slots["AwayTeamId"] = teamId      
  104.                                
  105.                     elif roundCount == 4: ## SEMI FINALS
  106.                         if not teamName.ToString().Contains("Winner"):
  107.                             if slotCount %2 == 1:
  108.                                 slots["HomeTeamName"] = teamName.ToUpper()
  109.                                 slots["HomeTeamRefName"] = teamRefName
  110.                                 slots["HomeTeamInitials"] = teamInitials
  111.                                 slots["HomeTeamId"] = teamId
  112.                                 for match in all_matches:
  113.                                         if match.Leg.Number == 1:
  114.                                                                                 if match.HomeTeam.Translations.DisplayName[str(language)].ToString() == teamName.ToString():
  115.                                                                                         thisMatchDateTime = match.KickOffTime.DateTime
  116.                                                                                         isLive = True if thisMatchDateTime.ToString() == myGameDateTime.ToString() else False
  117.                                                                                         slots["Home_IsLive"] = isLive
  118.                                         elif match.Leg.Number == 2:
  119.                                             if match.AwayTeam.Translations.DisplayName[str(language)].ToString() == teamName.ToString():
  120.                                                 thisMatchDateTime = match.KickOffTime.DateTime
  121.                                                 isLive = True if thisMatchDateTime.ToString() == myGameDateTime.ToString() else False
  122.                                                 slots["Home_IsLive"] = isLive
  123.                             else:
  124.                                 slots["AwayTeamName"] = teamName.ToUpper()
  125.                                 slots["AwayTeamRefName"] = teamRefName
  126.                                 slots["AwayTeamInitials"] = teamInitials
  127.                                 slots["AwayTeamId"] = teamId
  128.                                 for match in all_matches:
  129.                                     if match.Leg.Number == 1:
  130.                                         if match.AwayTeam.Translations.DisplayName[str(language)].ToString() == teamName.ToString():
  131.                                             thisMatchDateTime = match.KickOffTime.DateTime
  132.                                             isLive = True if thisMatchDateTime.ToString() == myGameDateTime.ToString() else False
  133.                                             slots["Away_IsLive"] = isLive
  134.                                     elif match.Leg.Number == 2:
  135.                                         if match.HomeTeam.Translations.DisplayName[str(language)].ToString() == teamName.ToString():
  136.                                             thisMatchDateTime = match.KickOffTime.DateTime
  137.                                             isLive = True if thisMatchDateTime.ToString() == myGameDateTime.ToString() else False
  138.                                             slots["Away_IsLive"] = isLive
  139.                                
  140.                     elif roundCount == 5: ## FINALS
  141.                         if not teamName.ToString().Contains("Winner"):
  142.                             if slotCount %2 == 1:
  143.                                 slots["HomeTeamName"] = teamName.ToUpper()
  144.                                 slots["HomeTeamRefName"] = teamRefName
  145.                                 slots["HomeTeamInitials"] = teamInitials
  146.                                 slots["HomeTeamId"] = teamId
  147.                             else:
  148.                                 slots["AwayTeamName"] = teamName.ToUpper()
  149.                                 slots["AwayTeamRefName"] = teamRefName
  150.                                 slots["AwayTeamInitials"] = teamInitials
  151.                                 slots["AwayTeamId"] = teamId
  152.                            
  153.                 teamCount = 0
  154.             if roundCount == 1:
  155.                 if groupCount <= 4:
  156.                     kopoListLeft.append(slots)
  157.                 else:
  158.                     kopoListRight.append(slots)
  159.             elif roundCount == 2:
  160.                 if groupCount <= 4:
  161.                     r16ListLeft.append(slots)
  162.                 else:
  163.                     r16ListRight.append(slots)
  164.                    
  165.             elif roundCount == 3:
  166.                 if groupCount <= 2:
  167.                     quarterFinalsListLeft.append(slots)
  168.                 else:
  169.                     quarterFinalsListRight.append(slots)
  170.             elif roundCount == 4:
  171.                 if groupCount <= 1:
  172.                     semiFinalListLeft.append(slots)
  173.                 else:
  174.                     semiFinalListRight.append(slots)
  175.             elif roundCount == 5:
  176.                 finalList.append(slots)
  177.  
  178.             slotCount = 0
  179.         groupCount = 0
  180.         slotCount = 0
  181.  
  182.     kopoListLeft = kopoListLeft
  183.     r16ListLeft = r16ListLeft
  184.     quarterFinalsListLeft = quarterFinalsListLeft
  185.     semiFinalListLeft = semiFinalListLeft
  186.    
  187.     kopoListRight = kopoListRight
  188.     r16ListRight = r16ListRight
  189.     quarterFinalsListRight = quarterFinalsListRight
  190.     semiFinalListRight = semiFinalListRight
  191.    
  192.     finalList = finalList
  193.    
  194.     enum = 0
  195.     gamesHighlight = []
  196.     for slot in kopoListLeft: ## Kockout Playoffs LEFT SIDE
  197.         enum += 1
  198.         viewBag.SetTranslatedText("tHomeTeamName%02d" % enum, "{{%s}}" % slot["HomeTeamInitials"])
  199.         viewBag.SetTranslatedText("tAwayTeamName%02d" % enum, "{{%s}}" % slot["AwayTeamInitials"])
  200.         viewBag.SetImage("lgHomeTeamBadge%02d" % enum, "Images\\Badges\\%s.png" % slot["HomeTeamRefName"])
  201.         viewBag.SetImage("lgAwayTeamBadge%02d" % enum, "Images\\Badges\\%s.png" % slot["AwayTeamRefName"])
  202.        
  203.     for slot in kopoListRight: ## Kockout Playoffs RIGHT SIDE
  204.         enum += 1
  205.         viewBag.SetTranslatedText("tHomeTeamName%02d" % enum, "{{%s}}" % slot["HomeTeamInitials"])
  206.         viewBag.SetTranslatedText("tAwayTeamName%02d" % enum, "{{%s}}" % slot["AwayTeamInitials"])
  207.         viewBag.SetImage("lgHomeTeamBadge%02d" % enum, "Images\\Badges\\%s.png" % slot["HomeTeamRefName"])
  208.         viewBag.SetImage("lgAwayTeamBadge%02d" % enum, "Images\\Badges\\%s.png" % slot["AwayTeamRefName"])
  209.    
  210.     count = 0
  211.     for slot in r16ListLeft: ## Round of 16 LEFT SIDE
  212.         enum += 1
  213.         viewBag.SetTranslatedText("tHomeTeamName%02d" % enum, "{{%s}}" % slot["HomeTeamInitials"])
  214.         viewBag.SetTranslatedText("tAwayTeamName%02d" % enum, "{{%s}}" % slot["AwayTeamInitials"])
  215.         viewBag.SetImage("lgHomeTeamBadge%02d" % enum, "Images\\Badges\\%s.png" % slot["HomeTeamRefName"])
  216.         viewBag.SetImage("lgAwayTeamBadge%02d" % enum, "Images\\Badges\\%s.png" % slot["AwayTeamRefName"])
  217.            
  218.     for slot in r16ListRight:## Round of 16 RIGHT SIDE
  219.         enum += 1
  220.         viewBag.SetTranslatedText("tHomeTeamName%02d" % enum, "{{%s}}" % slot["HomeTeamInitials"])
  221.         viewBag.SetTranslatedText("tAwayTeamName%02d" % enum, "{{%s}}" % slot["AwayTeamInitials"])
  222.         viewBag.SetImage("lgHomeTeamBadge%02d" % enum, "Images\\Badges\\%s.png" % slot["HomeTeamRefName"])
  223.         viewBag.SetImage("lgAwayTeamBadge%02d" % enum, "Images\\Badges\\%s.png" % slot["AwayTeamRefName"])
  224.    
  225.     for slot in quarterFinalsListLeft: ## Quarter Finals LEFT SIDE
  226.         enum += 1
  227.         viewBag.SetTranslatedText("tHomeTeamName%02d" % enum, "{{%s}}" % slot["HomeTeamInitials"])
  228.         viewBag.SetTranslatedText("tAwayTeamName%02d" % enum, "{{%s}}" % slot["AwayTeamInitials"])
  229.         viewBag.SetImage("lgHomeTeamBadge%02d" % enum, "Images\\Badges\\%s.png" % slot["HomeTeamRefName"])
  230.         viewBag.SetImage("lgAwayTeamBadge%02d" % enum, "Images\\Badges\\%s.png" % slot["AwayTeamRefName"])
  231.            
  232.     for slot in quarterFinalsListRight: ## Quarter Finals RIGHT SIDE
  233.         enum += 1  
  234.         viewBag.SetTranslatedText("tHomeTeamName%02d" % enum, "{{%s}}" % slot["HomeTeamInitials"])
  235.         viewBag.SetTranslatedText("tAwayTeamName%02d" % enum, "{{%s}}" % slot["AwayTeamInitials"])
  236.         viewBag.SetImage("lgHomeTeamBadge%02d" % enum, "Images\\Badges\\%s.png" % slot["HomeTeamRefName"])
  237.         viewBag.SetImage("lgAwayTeamBadge%02d" % enum, "Images\\Badges\\%s.png" % slot["AwayTeamRefName"])          
  238.        
  239.    
  240.     for slot in semiFinalListLeft: ## Semi Final LEFT SIDE
  241.         enum += 1
  242.         if "HomeTeamName" in slot and slot["HomeTeamName"] != None and slot["HomeTeamName"] != "":
  243.             viewBag.SetTranslatedText("tHomeTeamName%02d" % enum, "{{%s}}.{{STANDINGS}}" % slot["HomeTeamName"])
  244.             viewBag.SetImage("lgHomeTeamBadge%02d" % enum, "Images\\Badges\\%s.png" % slot["HomeTeamRefName"])
  245.             if "Home_IsLive" in slot:
  246.                 home_isLive = slot["Home_IsLive"]
  247.            
  248.         if "AwayTeamName" in slot and slot["AwayTeamName"] != None and slot["AwayTeamName"] != "":
  249.             viewBag.SetTranslatedText("tAwayTeamName%02d" % enum, "{{%s}}.{{STANDINGS}}" % slot["AwayTeamName"])
  250.             viewBag.SetImage("lgAwayTeamBadge%02d" % enum, "Images\\Badges\\%s.png" % slot["AwayTeamRefName"])
  251.             if "Away_IsLive" in slot:
  252.                 away_isLive = slot["Away_IsLive"]
  253.        
  254.         count += 1
  255.         if "Home_IsLive" in slot and "Away_IsLive" in slot:
  256.             if home_isLive and away_isLive:
  257.                 highLight = True
  258.                 viewBag.SetFloat("vGamesFade%02d" % count, 0)
  259.                 print "SHOW HIGHLIGHT R16_LEFT %s - %s" % (slot["HomeTeamName"], slot["AwayTeamName"])
  260.    
  261.     for slot in semiFinalListRight: ## Semi Final RIGHT SIDE
  262.         enum += 1
  263.         if "HomeTeamName" in slot and slot["HomeTeamName"] != None and slot["HomeTeamName"] != "":
  264.             viewBag.SetTranslatedText("tHomeTeamName%02d" % enum, "{{%s}}.{{STANDINGS}}" % slot["HomeTeamName"])
  265.             viewBag.SetImage("lgHomeTeamBadge%02d" % enum, "Images\\Badges\\%s.png" % slot["HomeTeamRefName"])
  266.             if "Home_IsLive" in slot:
  267.                 home_isLive = slot["Home_IsLive"]
  268.            
  269.         if "AwayTeamName" in slot and slot["AwayTeamName"] != None and slot["AwayTeamName"] != "":
  270.             viewBag.SetTranslatedText("tAwayTeamName%02d" % enum, "{{%s}}.{{STANDINGS}}" % slot["AwayTeamName"])
  271.             viewBag.SetImage("lgAwayTeamBadge%02d" % enum, "Images\\Badges\\%s.png" % slot["AwayTeamRefName"])
  272.             if "Away_IsLive" in slot:
  273.                 away_isLive = slot["Away_IsLive"]
  274.        
  275.         count += 1
  276.         if "Home_IsLive" in slot and "Away_IsLive" in slot:
  277.             if home_isLive and away_isLive:
  278.                 highLight = True
  279.                 viewBag.SetFloat("vGamesFade%02d" % count, 0)
  280.                 print "SHOW HIGHLIGHT R16_LEFT %s - %s" % (slot["HomeTeamName"], slot["AwayTeamName"])
  281.            
  282.            
  283.     for slot in finalList: ## Final
  284.         if "HomeTeamName" in slot and slot["HomeTeamName"] != None and slot["HomeTeamName"] != "":
  285.             viewBag.SetString("vFinalType", 2)
  286.             viewBag.SetImage("lgHomeTeamFinalBadge", "Images\\Badges\\%s.png" % slot["HomeTeamRefName"])
  287.                    
  288.         if "AwayTeamName" in slot and slot["AwayTeamName"] != None and slot["AwayTeamName"] != "":
  289.             viewBag.SetImage("lgAwayTeamFinalBadge", "Images\\Badges\\%s.png" % slot["AwayTeamRefName"])
  290.  
  291.     # POS MATCH OF MY MATCH OPPENED
  292.     for m in all_matches:
  293.         if Game.HomeTeam.Name.ToString() == m.HomeTeam.Translations.DisplayName[str(language)].ToString() and Game.AwayTeam.Name.ToString() == m.AwayTeam.Translations.DisplayName[str(language)].ToString():
  294.                         if m.Status.ToString().upper() == "FINISHED":
  295.                                 for i in range(1, 5):
  296.                                         viewBag.SetFloat("vGamesFade%02d" % i, 0)
  297.  
  298.    
  299. def __ClearAllTags(viewBag):
  300.     viewBag.SetString("lgFinalBadge", "Images\\vaz.png")
  301.     viewBag.SetString("lgHomeTeamFinalBadge", "Images\\vaz.png")
  302.     viewBag.SetString("lgAwayTeamFinalBadge", "Images\\vaz.png")
  303.    
  304.     viewBag.SetTranslatedText("tFinalInfo", "FINAL")
  305.     viewBag.SetTranslatedText("tKnockoutInfo", "KOPO")
  306.     viewBag.SetTranslatedText("tRoundOff16Info", "R16")
  307.     viewBag.SetTranslatedText("tQuarterInfo", "QF")
  308.     viewBag.SetTranslatedText("tSemiFinalInfo", "SF")
  309.     viewBag.SetTranslatedText("tTitle", "ROAD TO THE FINAL")
  310.     viewBag.SetString("vFinalType", 1)
  311.     viewBag.SetString("vSemiFinalInfoHomeVisibility", True)
  312.     viewBag.SetString("vSemiFinalInfoAwayVisibility", True)
  313.    
  314.     for j in range(1, 9):
  315.         viewBag.SetFloat("vGamesFade%02d" % j, 1)
  316.        
  317.     for l in range(17, 23):
  318.         viewBag.SetString("vAwayType%02d" % l, 1)
  319.         viewBag.SetString("vHomeType%02d" % l, 1)
  320.         viewBag.SetVisibility("vHomeTeamHighlight%02d" % l, False)
  321.         viewBag.SetVisibility("vAwayTeamHighlight%02d" % l, False)
  322.  
  323.     for i in range(0, 23):
  324.         viewBag.SetImage("lgHomeTeamBadge%02d" % i, "Images\\vaz.png")      
  325.         viewBag.SetImage("lgHomeTeamBadge%02d_01" % i, "Images\\vaz.png")      
  326.         viewBag.SetImage("lgHomeTeamBadge%02d_02" % i, "Images\\vaz.png")
  327.         viewBag.SetImage("lgAwayTeamBadge%02d" % i, "Images\\vaz.png")      
  328.         viewBag.SetImage("lgAwayTeamBadge%02d_01" % i, "Images\\vaz.png")      
  329.         viewBag.SetImage("lgAwayTeamBadge%02d_02" % i, "Images\\vaz.png")
  330.         viewBag.SetString("tHomeTeamName%02d" % i, "")      
  331.         viewBag.SetString("tHomeTeamName%02d_01" % i, "")      
  332.         viewBag.SetString("tHomeTeamName%02d_02" % i, "")
  333.         viewBag.SetString("tAwayTeamName%02d" % i, "")      
  334.         viewBag.SetString("tAwayTeamName%02d_01" % i, "")      
  335.         viewBag.SetString("tAwayTeamName%02d_02" % i, "")  
  336.         viewBag.SetString("tAwayTeamNumber%02d_01" % i, "")    
  337.         viewBag.SetString("tAwayTeamNumber%02d_02" % i, "")

Reply to "BRACKETS SF AUTOMATIC"

Here you can reply to the paste above