Untitled

From Rude Gibbon, 2 Weeks ago, written in Plain Text, viewed 4 times. This paste will join the choir invisible in 1 Week.
URL https://paste.afonso.co/view/199b490c Embed
Download Paste or View Raw
  1. import clr
  2. clr.AddReference("Wtvision.Sports.Tools.UefaDigitalAPIImporter")
  3. from Wtvision.Sports import UefaDigitalApiProxy
  4. clr.AddReference("Wtvision.Sports.Models")
  5. from Wtvision.Sports.Models import ModelsTools
  6. from System.Threading.Tasks import Task
  7. from System import Array, DateTime
  8. from System.IO import Path, File
  9. import helper
  10. import smartpaging
  11.  
  12. def __onStart(graphicOnAirItem, momentExecution, workFlowtype):
  13.         extradata = graphicOnAirItem.ExtraData
  14.  
  15.         if not extradata.ContainsKey("ExternalTake"):
  16.                 helper.SetExtraData(extradata, "ExternalTake", "True")
  17.  
  18. def __getData(graphicOnAirItem, viewBag, momentExecution):
  19.  
  20.         extradata = graphicOnAirItem.ExtraData
  21.         competitionId = Game.Competition.IdCompetition
  22.         logosPath = Path.Combine(graphicOnAirItem.GraphicsEngine.Options.RootPath, graphicOnAirItem.Scene.Path, "Images", "Badges")
  23.         teamId = Game.HomeTeam.ExternalId
  24.         seasonYear = Game.Competition.Season.ToString()
  25.         stagesToShow = ["LEAGUE PHASE"]
  26.         if extradata["ExternalTake"] == "True":
  27.                 matches = UefaDigitalApiProxy.GetMatches(offset= "0",limit = "500",competitionId = Array[str]([Game.Competition.IdCompetition]),teamId = teamId, seasonYear = seasonYear )
  28.                 #Teams = UefaDigitalApiProxy.GetTeams(None, None, Game.Competition.IdCompetition, Game.Competition.Season, None, None, "0", "500")
  29.                 filtered_matches = filter(lambda match: match.Round.Translations.ShortName["EN"].ToString().upper() in stagesToShow, matches)
  30.                 sorted_matches = sorted(filtered_matches, key=lambda match: match.KickOffTime.Date)
  31.                
  32.                 helper.SetExtraData(extradata, "total", len(sorted_matches))
  33.                 helper.SetExtraData(extradata, "index", 0)
  34.                 helper.SetExtraData(extradata, "pageIndex", 0)
  35.                 helper.SetExtraData(extradata, "pages", (smartpaging.NonUniformPaging(len(sorted_matches), 4)))
  36.                 helper.SetExtraData(extradata, "summary", (sorted_matches))
  37.        
  38.         index = extradata["index"]
  39.         pageIndex = extradata["pageIndex"]
  40.         pages = extradata["pages"]
  41.         summary = extradata["summary"]
  42.         pageEnd = pages[pageIndex]
  43.         summary = summary[index:(index + int(pageEnd))]
  44.        
  45.        
  46.                        
  47.         ## TITULO QUE TEM A POSSIÇÃO DA EQUIPA NO LEAGUE PHASE
  48.         uefaGroups = UefaDigitalApiProxy.GetStandings(Game.Competition.IdCompetition, Game.Competition.Season)
  49.         hometeamId = Game.HomeTeam.ExternalId
  50.         awayteamId = Game.AwayTeam.ExternalId
  51.         for uefaGroup in uefaGroups:   
  52.                 awayTeam = filter(lambda x : x.Team.Id.ToString() == awayteamId.ToString(), uefaGroup.Items)
  53.                 homeTeam = filter(lambda x : x.Team.Id.ToString() == hometeamId.ToString(), uefaGroup.Items)
  54.                 if awayTeam and homeTeam:
  55.                         group = uefaGroup
  56.        
  57.         if not group:
  58.                         momentExecution.Message = "THERE IS NO GROUPS!!"
  59.                         momentExecution.Cancel = True
  60.                         return
  61.        
  62.         matchDay =  Game.Attributes["MatchDayLongName"]
  63.         matchDay = matchDay.split(" ")
  64.         matchDayNumber = matchDay[1]
  65.         leaguePhaseMaxGames = 8
  66.  
  67.         for f in group.Items:
  68.                 if f.Team.InternationalName.upper() == Game.HomeTeam.ShortName.upper():
  69.                        
  70.                         if int(matchDayNumber) > leaguePhaseMaxGames:
  71.                                 positionStatus = "FINAL"
  72.                         else:
  73.                                 positionStatus = "CURRENT"
  74.                        
  75.                         if f.Rank == 1 or f.Rank == 21 or f.Rank == 31:
  76.                                 viewBag.SetTranslatedText("tTitle", "%s POSITION %sST" % (positionStatus, f.Rank))             
  77.                         elif f.Rank == 2 or f.Rank == 22 or f.Rank == 32:
  78.                                 viewBag.SetTranslatedText("tTitle", "%s POSITION %sND" % (positionStatus, f.Rank))
  79.                         elif f.Rank == 3 or f.Rank == 23 or f.Rank == 33:
  80.                                 viewBag.SetTranslatedText("tTitle", "%s POSITION %sRD" % (positionStatus, f.Rank))
  81.                         else:
  82.                                 viewBag.SetTranslatedText("tTitle", "%s POSITION %sTH" % (positionStatus, f.Rank))
  83.                                
  84.                         if f.Rank <= 8:
  85.                                 viewBag.SetString("vTypeTitle", 1)
  86.                        
  87.                         elif f.Rank > 8 and f.Rank <= 24:
  88.                                 viewBag.SetString("vTypeTitle", 2)
  89.                         else:
  90.                                 viewBag.SetString("vTypeTitle", 3)
  91.         ##################################
  92.        
  93.         viewBag.SetFloat("vLines",int(pageEnd))        
  94.         viewBag.SetString("tTeamName", Game.HomeTeam.ShortName.upper())
  95.        
  96.         team_path = Path.Combine(logosPath, "%s.png" % (Game.HomeTeam.RefName))
  97.         if File.Exists(team_path):
  98.                 viewBag.SetImage("lgBadge", team_path)
  99.         else:
  100.                 viewBag.SetImage("lgBadge", "Images/vaz.png")
  101.                
  102.         atLeastOneGame = False
  103.         for enum,match in enumerate(summary,1):
  104.                 home_full_name = next((name.Value for name in match.HomeTeam.Translations.DisplayOfficialName if name.Value != ""), None)
  105.                 home_display_name = next((name.Value for name in match.HomeTeam.Translations.DisplayName if name.Value != ""), None)
  106.  
  107.                 home_ref_name = ModelsTools.GetRefName(home_full_name)
  108.                 home_team_path = Path.Combine(logosPath, "%s.png"%(home_ref_name))
  109.                
  110.                 away_full_name = next((name.Value for name in match.AwayTeam.Translations.DisplayOfficialName if name.Value != ""), None)
  111.                 away_display_name = next((name.Value for name in match.AwayTeam.Translations.DisplayName if name.Value != ""), None)
  112.                 away_ref_name = ModelsTools.GetRefName(away_full_name)
  113.                 away_team_path = Path.Combine(logosPath, "%s.png"%(away_ref_name))
  114.  
  115.                 if File.Exists(home_team_path):
  116.                         viewBag.SetImage("lgTeamHome%02d" % enum, home_team_path)
  117.                 else:
  118.                         viewBag.SetImage("lgTeamHome%02d" % enum, "Images/vaz.png")
  119.                        
  120.                 if File.Exists(away_team_path):
  121.                         viewBag.SetImage("lgTeamAway%02d" % enum, away_team_path)
  122.                 else:
  123.                         viewBag.SetImage("lgTeamAway%02d" % enum, "Images/vaz.png")
  124.  
  125.                 viewBag.SetVisibility("vMatchdayVisibility%02d" % enum, True)
  126.                 viewBag.SetTranslatedText("tMatchday%02d" % enum, "{{%s}}.{{MATCHDAY}}|filter:ToUpper " % match.Matchday.LongName)
  127.                 viewBag.SetString("tHomeTeamName%02d" % enum, home_display_name.upper())
  128.                 viewBag.SetString("tAwayTeamName%02d" % enum, away_display_name.upper())
  129.  
  130.                 if match.Status.ToString() == "FINISHED":
  131.                         atLeastOneGame = True
  132.                         viewBag.SetFloat("vTypeGameInfo%02d" % enum, 1)
  133.                         viewBag.SetString("tHomeScore%02d" % enum, match.Score.Regular.Home)
  134.                         viewBag.SetString("tAwayScore%02d" % enum, match.Score.Regular.Away)
  135.                 elif match.Status.ToString() == "UPCOMING":
  136.                         viewBag.SetFloat("vTypeGameInfo%02d" % enum, 2)
  137.                         time_diff = match.KickOffTime.DateTime - DateTime.Now
  138.                         if time_diff.Days < 1:
  139.                                 viewBag.SetTranslatedText("tGameInfo%02d" % enum,"{{%s}}.{{Summary_Results}}|filter:ToUpper " % "TONIGHT")
  140.                         else:
  141.                                 day = match.KickOffTime.DateTime.ToString("dd")
  142.                                 month = match.KickOffTime.DateTime.ToString("MMM")
  143.                                 viewBag.SetTranslatedText("tGameInfo%02d" % enum,"%s {{%s}}.{{Summary_Results}}|filter:ToUpper " % (day, month))
  144.                 elif match.Status.ToString() == "LIVE":
  145.                         viewBag.SetFloat("vTypeGameInfo%02d" % enum, 1)
  146.                         viewBag.SetString("tHomeScore%02d" % enum, "(%s" % match.Score.Regular.Home)
  147.                         viewBag.SetString("tAwayScore%02d" % enum, "%s)" % match.Score.Regular.Away)
  148.         if not atLeastOneGame:
  149.                 viewBag.SetString("vTypeTitle", 0)
  150.        
  151.         helper.SetExtraData(extradata, "ExternalTake", "True")
  152.         helper.SetExtraData(extradata, "index", index + int(pageEnd))
  153.         helper.SetExtraData(extradata, "pageIndex", pageIndex+1)
  154.  
  155. def __afterProgram(graphicOnAirItem, momentExecution):
  156.        
  157.         extradata = graphicOnAirItem.ExtraData
  158.         pages = extradata["pages"]
  159.         delay = int(Project.ProjectSettings["TeamProgressGS (ms)"]) / int(len(pages))
  160.         Task.Delay(int(delay)).ContinueWith(lambda x: __continueGraphic(graphicOnAirItem, momentExecution))
  161.         helper.SetExtraData(extradata, "ExternalTake", "False")
  162.  
  163. def __continueGraphic(graphicOnAirItem, momentExecution):
  164.         extradata = graphicOnAirItem.ExtraData
  165.         index = extradata["index"]
  166.         total = extradata["total"]
  167.        
  168.         if index < total:
  169.                 helper.SetExtraData(extradata, "NextPage", "True")
  170.                 IntelliflowController.TakeInNextPage(graphicOnAirItem.Graphic, OutputManager.ActiveChannelOutput, workflowType=IntelliflowController.EWorkflowType.Program, )
  171.  
  172.  

Reply to "Untitled"

Here you can reply to the paste above