-í
¹B±Oc       s±     d  k  Z   d  k Z   d  k i Z  d  k Z  d  k Z  d  k Z  d  k Z 	 d  k i	 Z	 
 d  k
 Z
  d  k i Z  d  k Z
  d  k i Z  d  k Z  d Z  d Z  d „  Z * d „  Z  d „  Z ¢ h  Z £ e i d e ƒ Z ¤ e a ¦ d Z ¬ d Z ² d	 Z ½ d
 Z  Ç d Z! Ì d Z" Ó d „  Z# d „  Z$ %d „  Z% Gd „  Z& dd „  Z' pd „  Z( Žd „  Z) “e d „ Z* —d „  Z+ d  S(   Ns   SystemEventChanneli2   c    s›      t  i ƒ  a  t i i |  i ƒ   d t i f t _ ! d t i f t _ " d t _	 % t  i ƒ  a
 & t i t
 _ ' d t i f t
 _ d  S(   Ns   %s/locals   %s/shares	   DefaultUS(   s	   twccommons   Datas   _configs   __dict__s   updates   configs   productRoots   roots   shareDirs   defaultPlaylistGroups   _paramss   tempDir(   s   config(    (    s   local.pys   init s   c 	   sÎ  * + |  i } , t i ƒ  } - | i |  ƒ / t i ƒ  | i d | _ 0 | t	 | <2 t i ƒ  | _
 3 |  i | _ 6 |  i d |  i | _ ; d | _ < d | _ = d | _ ? t i d ƒ } @ | | _ C t | ƒ o3 D d | _ E | | _ F t i d | f ƒ n L | i d j o M d | _ n P t i d ƒ } Q | t j o R g  } n T | i | j o* U d | _ V t i d | i f ƒ n Z | i d j o | i d j o  \ d | _ ] t i d	 ƒ n a t i | _ b t i d
 | i ƒ | _  f yo i t i d ƒ } j xG | Dj ]< \ } } k | i$ | j o l | \ | _% | _& m Pn q6Wo d | _' WnT q t( j
 oE r d | _' s |  i d |  i | _ t d | _% u d | _& n Xy |  i | _) | | i& | _* ~ | i* o=  t+ ƒ  \ | _, | _- | _. € d | _/  t0 ƒ  | _1 n … t | _2 † | i d j p | i d j o ‡ t3 ƒ  | _2 n Š t4 | ƒ } ‹ | t j o# Œ t6 | | i | i | | ƒ n d  S(   Ni   i    s   irdChannelChangeRequesti   sS   AltFeed: IRD channel change requested. Channel will change to %s during this local.s   000s   interestlist.vbidsO   AltFeed: Upcoming local will be suppressed to view an alternate feed. VBID = %ssg   AltFeed: IRD channel change request NOT received in time. Rendering a normal local with channel change.s   PlaylistOverrides	   FlavorMap(7   s   argDatas   ids   _paramss   clones   press   updates   times   expires
   expireTimes   _presentationss	   startTimes   logoIds   mediaNums   durations   durationFramess   channelChangeRequests   suppressLocals   alternateFeedActives   dsms   defaultedConfigGets
   irdChannels
   sidChannels   _channelChangeNeededs   Logs   infos   vbids   interestLists   Nones   warnings   _configs   defaultPlaylistGroups   defaultGroups   groups	   flavorMaps   keys   values   flavors   versions   squeezeBacks   overrides	   Exceptions   durationSecondss   hasLdls   _activeBulletinss   ldlBulletinss   ldlWarningModes   activeWarningss   nationalLdls   _getLasCrawlTexts   lasCrawlTexts   bkgAudioFilenames   _getBkgAudioFilenames   _selectSchedules   schedss   _load(	   s   argDatas	   flavorMaps   interestLists   keys   ids   values
   irdChannels   schedss   pres(    (    s   local.pys   load* sn   #
 #c    s¿     |  i } ‘ t | } ’ t | =” t |  d d ƒ } • t |  d d ƒ } – | | _ — | | _ ™ t	 | | i | i | ƒ š t
 ƒ  œ | i d j o ž t i i | i ƒ n d  S(   Ns   timei    s   framei   (   s   argDatas   ids   _presentationss   press   getattrs   rtimes   frames	   startTimes
   startFrames   _runs   _culls   channelChangeRequests   domestics   wxdatas   changeIrdChannels
   irdChannel(   s   argDatas   rtimes   frames   ids   pres(    (    s   local.pys   run s   

s   starIdsH   [
    DynamicSchedule('%(flavor)s'),
    StaticSchedule('%(flavor)s'),
]sZ   [
    DynamicSchedule('Ldl.ldl1'),
    StaticSchedule('FallbackLdl%(durationSeconds)s'),
]sR  [
    DynamicSchedule('%(group)s.%(durationSeconds)s.%(version)s'),
    DynamicSchedule('%(defaultGroup)s.%(durationSeconds)s.%(version)s'),
    CompositeSchedule([
        StaticSchedule('Fallback%(durationSeconds)s'),
        StaticSchedule('FallbackLdl%(durationSeconds)s'),
    ]),
    StaticSchedule('Fallback%(durationSeconds)s'),
]s  [
    DynamicSchedule('%(defaultGroup)s.%(durationSeconds)s.%(version)s'),
    CompositeSchedule([
        StaticSchedule('Fallback%(durationSeconds)s'),
        StaticSchedule('FallbackLdl%(durationSeconds)s'),
    ]),
    StaticSchedule('Fallback%(durationSeconds)s'),
]sL   [
    DynamicSchedule('%(defaultGroup)s.%(durationSeconds)s.%(version)s'),
]sŽ   [
    DynamicSchedule('%(group)s.%(durationSeconds)s.%(version)s'),
    DynamicSchedule('%(defaultGroup)s.%(durationSeconds)s.%(version)s'),
]c     së  Ó Ô Ö t  i d ƒ } Ø | t j p | i t j p | i t j o Ù t i i d ƒ Ú t Sn Ü t	 t j p t	 i | i j o; Ý d g t
 | i ƒ } Þ t i d | i d | ƒ a	 n á d }	 â t t i ƒ  ƒ } ã g  } ä x9| i Dä ]+} å yç æ | \ } } } }  è | | j o
 | | j o± ë t i | ƒ d }
 ì x‘ | Dì ]† \ } } í | | j o  î |
 t | | d ƒ j } n ð |
 t | d | ƒ j } ò | o$ ó | i |	 t	 i |	 |  f ƒ n qYWn Wn+ ö ÷ t i i d |	 d ƒ ú qø n Xü |	 d 7}	 qø Wþ t
 | ƒ d j o ÿ t i i d ƒ  t Sn t i i d	 t  d
 „  | ƒ f ƒ | i! d „  ƒ | d \ }	 } }  	|  }  
t i i d |	 f ƒ | t	 i |	 <|  Sd  S(   Ns   Ldl_LASCrawls   NO crawls valid at this timei    s	   serialNums   lastUsedTimesi   i   sJ   There is an error in the configuration                 for crawl number %ds   crawls valid at this time: %sc    s   |  d S(   Ni    (   s   e(   s   e(    (    s   local.pys   <lambda>s    c    s   t  i |  d | d ƒ S(   Ni   (   s	   twccommons   compares   as   b(   s   as   b(    (    s   local.pys   <lambda>s    s5   crawl %d selected because it is least recently viewed(#   s   dsms   defaultedConfigGets   paramss   Nones	   serialNums   crawlss	   twccommons   Logs   infos	   _ldlStates   lens   timess   Datas   is   ints   times   nows	   validLists   crawls	   startTimes   endTimes   displayTimess   texts	   localtimes   hs   sdhs   edhs   ranges   matchs   appends   lastUsedTimess   errors   maps   sorts   lut(   s   texts   edhs	   startTimes	   validLists   displayTimess   nows   crawls   sdhs   luts   is   hs   timess   paramss   endTimes   match(    (    s   local.pys   _getLasCrawlTextÓ sL   0#"		 	
  
0
&	c   	  s¢   t  i  d ƒ }  |  i ƒ  t |  ƒ } | d j o t SnS  t i ƒ  \	 } } } } } } }	 } } !| d d | |	 | }
 "|  |
 Sd  S(   Ns   /rsrc/audio/background/*mp3i    i   i
   (   s   globs   filess   sorts   lens   numFiless   Nones   times   gmtimes   ys   ms   ds   Hs   Ms   Ss   dws   jds   dsts   ndx(   s   filess   ds   dsts   Hs   Ms   ms   jds   Ss   ys   dws   ndxs   numFiles(    (    s   local.pys   _getBkgAudioFilenames   *c     s#  %(t  i d ƒ } )| t j	 o *t i | ƒ }  n
 ,h  }  /d } 0xa |  i ƒ  D0]P \ } } 3| i t i j o 4d } n 7| i d j o 8|  | =n q] W;t  i d ƒ } =d } ?t |  ƒ d j o @d } n A| t j o Bd } n D|  | | g Sd  S(   Ns   interestlist.countyi    i   s   hurricaneStatement(   s   dsms   defaultedConfigGets   countiess   Nones   BulletinInfos   loadActiveBulletinss	   bulletinss   activeWarningss   itemss   keys   vals   categorys   CAT_WARNINGs   ldls   defaultedGets   hurricaneStatements   ldlWarningModes   len(   s	   bulletinss   vals   ldlWarningModes   activeWarningss   countiess   keys   hurricaneStatement(    (    s   local.pys   _activeBulletins%s$   		 	c    s‰   GJ|  t j o Kd Sn Pt i d ƒ } S|  | j o Td Sn Zt i d ƒ } `| t j p
 | d j o ad Sn d  S(   Ni    s   irdLastRequestedChannels   irdSlaves   0i   (   s   channels   Nones   dsms   defaultedConfigGets   lastRequestedChannels   irdSlave(   s   channels   irdSlaves   lastRequestedChannel(    (    s   local.pys   _channelChangeNeededGs   c     sž   deg  } ft i ƒ  } gxD t i ƒ  Dg]3 \ }  } h| | i j o i| i |  ƒ n q+ Wkx/ | Dk]$ }  lt	 i
 d |  ƒ mt |  =qo Wd  S(   Ns    removing expired presentation %s(   s   culleds   times   nows   _presentationss   itemss   keys   vals
   expireTimes   appends   Logs   info(   s   keys   vals   culleds   now(    (    s   local.pys   _cullds   	 
 	c    s  pqt  } s|  i o tt |  i } nØ v|  i oE wt i d |  i	 |  i
 f ƒ z|  i o {t |  i } n n† }|  i o> ~|  i |  i j o t |  i } n ‚t |  i } n; …|  i |  i j o †t |  i } n ‰t |  i } ‹| Sd  S(   Ns8   AltFeed: Suppressing local %s / alternate feed %d frames(   s   Nones   schedss   press   overrides   _schedOverrideTmpls   __dict__s   suppressLocals   Logs   infos   flavors   durations   hasLdls   _schedLdlOnlyTmpls   squeezeBacks   groups   defaultGroups   _schedNoFallbackTmpls!   _schedNoFallbackGroupOverrideTmpls   _schedGroupDefaultTmpls   _schedGroupOverrideTmpl(   s   press   scheds(    (    s   local.pys   _selectScheduleps   	 c    s&   Žt  d |  | | | | f ƒ d  S(   Ns   playman.playCmd.pm.load(   s
   _signalRPCs   ids   durations   expires   schedss   params(   s   ids   durations   expires   schedss   params(    (    s   local.pys   _loadŽs   c    s#   “”t  d |  | | | f ƒ d  S(   Ns   playman.playCmd.pm.run(   s
   _signalRPCs   ids	   startTimes
   startFrames   params(   s   ids	   startTimes
   startFrames   params(    (    s   local.pys   _run“s   c    s&   —˜t  i i t |  t | ƒ ƒ d  S(   N(   s   twcs   MiscCorbaInterfaces   signalEvents   CHANNEL_NAMEs   rpcNames   reprs   args(   s   rpcNames   args(    (    s   local.pys
   _signalRPC—s   (,   s   domestics   domestic.wxdatas   domestic.BulletinInfos   BulletinInfos   oss   copys   times   globs   twc.EventLogs   EventLogs	   twccommons   twccommon.Logs   Logs   twccommon.PluginManagers   twc.dsmarshals	   dsmarshals   dsms   twc.MiscCorbaInterfaces   twcs   CHANNEL_NAMEs	   TAG_DELAYs   inits   loads   runs   _presentationss   defaultedConfigGets   Nones   _starIds	   _ldlStates   _schedOverrideTmpls   _schedLdlOnlyTmpls   _schedGroupOverrideTmpls   _schedGroupDefaultTmpls   _schedNoFallbackTmpls!   _schedNoFallbackGroupOverrideTmpls   _getLasCrawlTexts   _getBkgAudioFilenames   _activeBulletinss   _channelChangeNeededs   _culls   _selectSchedules   _loads   _runs
   _signalRPC(!   s   loads   _getLasCrawlTexts   _starIds   runs   oss   _activeBulletinss   globs   _schedLdlOnlyTmpls   domestics   _runs   _getBkgAudioFilenames   CHANNEL_NAMEs   _channelChangeNeededs   _schedGroupOverrideTmpls   _schedOverrideTmpls   copys   Logs   twcs   _selectSchedules   BulletinInfos   EventLogs   _culls
   _signalRPCs   _schedGroupDefaultTmpls!   _schedNoFallbackGroupOverrideTmpls   inits   dsms	   twccommons   _schedNoFallbackTmpls   times   _loads	   TAG_DELAYs   _presentations(    (    s   local.pys   ? sF   		e						
		@"