Untitled

From Emerald Crane, 1 Week ago, written in Plain Text, viewed 2 times. This paste will join the choir invisible in 2 Weeks.
URL https://paste.afonso.co/view/db4268db Embed
Download Paste or View Raw
  1. import Utils
  2. import json
  3. import Credits
  4.  
  5. from System.IO import File, Path, Directory, DirectoryInfo
  6. from System.Threading.Tasks import Task
  7. from collections import OrderedDict
  8.  
  9. def __onStart(graphicOnAirItem, momentExecution, workFlowtype):
  10.  
  11.     if workFlowtype.ToString() != "PreviewToProgram":
  12.         if not Globals["CreditsUserControl"]:
  13.             momentExecution.Message = "Credits Form is not initialized"
  14.             momentExecution.Cancel = True
  15.             return
  16.          
  17.         selectedType = Globals["CreditsUserControl"].SelectedType
  18.         if not selectedType:
  19.             momentExecution.Message = "Select one Type first"
  20.             momentExecution.Cancel = True
  21.             return
  22.              
  23.         if selectedType.lower() != "pagination":
  24.             momentExecution.Message = "Invalid Configuration Type '%s'" % selectedType
  25.             momentExecution.Cancel = True
  26.             return
  27.            
  28.         configurationsObj = Globals["CreditsUserControl"].Configurations
  29.        
  30.         providerPath = configurationsObj.ProviderPath.ToString()
  31.         if not providerPath.strip():
  32.             momentExecution.Message = "Provider File not set"
  33.             momentExecution.Cancel = True
  34.             return
  35.        
  36.         if not File.Exists(providerPath):
  37.             momentExecution.Message = "File '%s' not found" % providerPath
  38.             momentExecution.Cancel = True
  39.             return
  40.        
  41.         if configurationsObj.CardsFolder and not Directory.Exists(configurationsObj.ImagesDirectory):
  42.             momentExecution.Message = "Images Folder doesn't exist"
  43.             momentExecution.Cancel = True
  44.             return
  45.        
  46.         if configurationsObj.SeparatorImage and not File.Exists(configurationsObj.SeparatorPath):
  47.             momentExecution.Message = "Separator Image not found"
  48.             momentExecution.Cancel = True
  49.             return
  50.            
  51.         sceneTags = list(graphicOnAirItem.Scene.GetTags())    
  52.        
  53.         creditsObj = Credits.Credits(providerPath, selectedType.lower(), configurationsObj, sceneTags)    
  54.        
  55.         Utils.SetExtraData(graphicOnAirItem.ExtraData, "CreditsObject", creditsObj)
  56.        
  57.  
  58. def __getData(graphicOnAirItem, viewBag, momentExecution):
  59.     viewBag.Clear()
  60.     creditsObj = graphicOnAirItem.ExtraData["CreditsObject"]
  61.    
  62.     viewBag.SetBool("vReset", True)
  63.     viewBag.SetBool("vStart", False)
  64.     #viewBag.SetFloat("vLineSpace",1)
  65.     viewBag.SetFloat("vSpeed", creditsObj.CardSpeed)
  66.      
  67.     for i in range(1, 9):
  68.         viewBag.SetString("%s%02d" % (Credits.paginationFunctionTag, i), "")
  69.         viewBag.SetString("%s%02d" % (Credits.paginationNameTag, i), "")
  70.          
  71. def __afterProgram(graphicOnAirItem, momentExecution):
  72.     Task.Run(action = lambda : __continueGraphic(graphicOnAirItem, momentExecution))
  73.  
  74.      
  75.    
  76. def __continueGraphic(graphicOnAirItem, momentExecution):
  77.     emessageboxresult = UserInteraction.ShowMessageBoxYesNo("PAGINATION", "Continue")
  78.     if emessageboxresult != emessageboxresult.Yes:
  79.         return
  80.        
  81.        
  82.     __takeItems(graphicOnAirItem)
  83.        
  84. def __takeItems(graphicOnAirItem):
  85.        
  86.     if not graphicOnAirItem.IsOnAir: return
  87.        
  88.     creditsObj = graphicOnAirItem.ExtraData["CreditsObject"]
  89.        
  90.     if creditsObj.Index > len(creditsObj.Messages):return
  91.      
  92.     viewBag = IntelliflowController.CreateViewBag()
  93.      
  94.     for i in range(1, 9):
  95.         viewBag.SetString("%s%02d" % (Credits.paginationFunctionTag, i), "")
  96.         viewBag.SetString("%s%02d" % (Credits.paginationNameTag, i), "")
  97.     #print creditsObj.Messages[creditsObj.Index]
  98.     #print creditsObj.Messages[creditsObj.Index]
  99.     for enum, page in enumerate(creditsObj.Messages[creditsObj.Index]):
  100.            
  101.         function = page[0]
  102.         names = [var for var in page[1] if var]
  103.              
  104.         viewBag.SetString("%s%02d" % (Credits.paginationFunctionTag, enum+1), function)
  105.         viewBag.SetString("%s%02d" % (Credits.paginationNameTag, enum+1), "\r\n".join(names))
  106.      
  107.         #print "%s%02d --> %s" % (Credits.paginationFunctionTag, enum+1, function)
  108.     graphicOnAirItem.Scene.Show("Change_Out")
  109.     graphicOnAirItem.Scene.Wait("Change_Out")
  110.    
  111.     IntelliflowController.FillData([graphicOnAirItem], viewBag)
  112.    
  113.     graphicOnAirItem.Scene.Show("Change_In")
  114.     graphicOnAirItem.Scene.Wait("Change_In")
  115.    
  116.     creditsObj.Index += 1
  117.      
  118.     if creditsObj.Index >= len(creditsObj.Messages):
  119.         if not creditsObj.ShowCards:  
  120.        
  121.             Scheduler.Add(Script.RefName, "__Out", Project.Name, graphicOnAirItem, creditsObj.Speed)
  122.             return
  123.         Scheduler.Add(Script.RefName, "__takeCards", Project.Name, graphicOnAirItem, creditsObj.Speed, "Cards")
  124.     else:
  125.         Scheduler.Add(Script.RefName, "__takeItems", Project.Name, graphicOnAirItem, creditsObj.Speed, "Credits")
  126.          
  127.      
  128. def __takeCards(graphicOnAirItem):
  129.     if not graphicOnAirItem.IsOnAir: return
  130.    
  131.     cardsGraphic = GraphicTemplatesManager.GetGraphicByName("Cards")
  132.     if not cardsGraphic: return
  133.    
  134.     IntelliflowController.TakeIn(cardsGraphic, OutputManager.ActiveChannelOutput, extraData=graphicOnAirItem.ExtraData)
  135.  
  136. def __beforeProgramOut(graphicOnAirItem, momentExecution):
  137.     #print "asd"
  138.     Scheduler.ClearScheduler("Credits")
  139.     Scheduler.ClearScheduler("Cards")
  140.    
  141. def __Out(graphicOnAirItem):
  142.     IntelliflowController.TakeOut(graphicOnAirItem)
  143. #def __afterProgram(graphicOnAirItem, momentExecution):
  144. #   print "__afterProgram"

Reply to "Untitled"

Here you can reply to the paste above