-
BOc       s8     d  k  Z   d  k Z  d  k Z  d  k Z  d  k Z  d  k Z  d  k Z 	 d  k Z 
 d  k	 Z	  d  k
 Z	  e i Z  e i Z  e i Z  e	 i Z  d Z  d Z  d Z  d Z  d a  e a  e a  e a  d a  d a " d   Z A d   Z Z d	   Z b d
   Z f d   Z  o d   Z! s d   Z" | d   Z#  d   Z$  d   Z%  e d  Z& d   Z' *d   Z( Ld   Z) ^d   Z* xd   Z+ d   Z, d   Z- d   Z. d   Z/ d   Z0 d   Z1 d   Z2 d   Z3 d   Z4 d  S(    Ns	   BullLayers   bulletin.actives   interestlist.countyi   i    i   c    s   " # % t  i   a & t i i |  i  ( t i d  + t  i   a 2 t	 i
 t d  } 5 | o 6 t d  n > t t  d  S(   Ns   initializing bulletin plugini   (   s	   twccommons   Datas   _configs   __dict__s   updates   configs   Logs   infos   _paramss   dsms   defaultedGets   DSKEY_CRAWL_ACTIVEs   actives	   _activates   setCountyInterestLists   _interestlist(   s   configs   active(    (    s   bulletin.pys   init" s   
c     s   A B D t  d j o E d a  H t t i    } K d }  L xz t i   DL ]i } M | | i j oP N |  d 7}  O t	 i
 d | i | i | i f  R t t | i | i  n qM WT |  d j o U t   n n W t  d 7a  d  S(   Ni
   i    i   s   bulletin expired %s-%s-%s(   s   _idleCnts   ints   times   nows   changeds
   _bulletinss   valuess   bulletins   dispExpirations   Logs   infos   pils   pilExts   countys   _delBulletins   groups   _updateBulletinRotation(   s   changeds   nows   bulletin(    (    s   bulletin.pys   idleA s   		 	&!c    s)   Z [ ^ t  |   \ a a _ t   d  S(   N(   s   _processNewInterestLists   ils   _interestlists
   _bulletinss   _updateBulletinRotation(   s   il(    (    s   bulletin.pys   setCountyInterestListZ s   c    s   b c t  |  | f g  d  S(   N(   s   setLists   countys   group(   s   countys   group(    (    s   bulletin.pys   setb s   c    sG   f g i x- |  Di ]" \ } } j t t t | |  q Wl t   d  S(   N(   s   ls   countys   groups   _addBulletins   _interestlists
   _bulletinss   _updateBulletinRotation(   s   ls   countys   group(    (    s   bulletin.pys   setListf s
   
 c    s   o p t  |  | f g  d  S(   N(   s
   cancelLists   countys   group(   s   countys   group(    (    s   bulletin.pys   cancelo s   c    sD   s t v x* |  Dv ] \ } } w t t | |  q Wy t   d  S(   N(   s   ls   countys   groups   _delBulletins
   _bulletinss   _updateBulletinRotation(   s   ls   countys   group(    (    s   bulletin.pys
   cancelLists s
   
 c     sD   | } d } ~ t i d  }   |  o  d |  } n  | Sd  S(   Ns   Bulletin.bulletin1s   BulletinPlaylistOverrides   Bulletin.%s(   s   playlistNames   dsms   defaultedConfigGets   playlistOverride(   s   playlistOverrides   playlistName(    (    s   bulletin.pys   getPlaylistName| s
   	
c   	  sI     t  }  g  }  x t i D ] }  t i   }
  | i	 |
 _	  | i
 |
 _
  | i |
 _  | i |
 _  | i |
 _  | i |
 _  | i |
  q% W t i   }  | | _  t i | _  t | _  t | _  d | _  t |  d j o  d | _ n  t t i    }  d }  x7 t i D ]) }  | i | j o  | i } n qJW | | }  | d j  o  d } n  | d }   |  }	  | | }  d t!   f }  t# i$ i% d  d  t& | |	 | | | f    t# i$ i% d  d  t& | d d f    d a d  S(   Ni    i   i   s   [DynamicSchedule('%s')]s   SystemEventChannels   playman.playCmd.pm.loads   playman.playCmd.pm.run('   s   BULLETIN_LAYER_IDs   ids   bulletinCrawls   _paramss	   bulletinss   bulletins	   twccommons   Datas	   crawlInfos   pils   pilExts   headlines   texts   colors   beepss   appends   paramss   immediateReplacements   _crawlActives   activates
   _firstLoads	   firstLoads   bulletinActives   lens   ints   times   nows   expires   dispExpirations   durations   durationFramess
   pmDurations   pmExpires   getPlaylistNames	   scheduless   twcs   MiscCorbaInterfaces   signalEvents   repr(   s   durationFramess   bulletinCrawls   durations   expires	   scheduless   pmExpires   nows   ids   paramss
   pmDurations	   crawlInfos   bulletin(    (    s   bulletin.pys   load sR   		 		 		c  	  sK    t  |   }   |  t j o9  |  o  t i d  n  t i d   d  Sn  t }  d }  t  t i    | }  t
 i   }  |  | _  t | _  d | _  g  | _  d t   f }  t i i d  d  t | | | | | f    t i i d  d  t | d d f    t |   d  S(	   Ns    bulletin layer already activateds"   bulletin layer already deactivatedi   i   s   [DynamicSchedule('%s')]s   SystemEventChannels   playman.playCmd.pm.loadi    (   s   ints   activates   _crawlActives   Logs   infos   BULLETIN_LAYER_IDs   ids
   pmDurations   times   pmExpires	   twccommons   Datas   paramss
   _firstLoads	   firstLoads   immediateReplacements   bulletinCrawls   getPlaylistNames	   scheduless   twcs   MiscCorbaInterfaces   signalEvents   reprs	   _activate(   s   activates	   scheduless   paramss   pmExpires
   pmDurations   id(    (    s   bulletin.pys   run s,   
		c    sY    t  t i    }  y |  t j o&  t i d  t i t	  }  n t i d  t
 i |   } h  } y xu d oj 	| i   \ } } 
| | i j  o> t i d | i | i f  t |  | | | <n q WWn n X|  | f SWn3 t j
 o$ t i d  g  h  f Sn Xd  S(   Ns!   loading bulletin interest list...s)   searching for already active bulletins...i   s$   found active bulletin @ start: %s.%ss:   no interest list set for bulletins; none will be displayed(   s   ints   times   nows   interestlists   Nones   Logs   infos   dsms	   configGets   DSKEY_ILIST_COUNTYs   BulletinInfos   loadActiveBulletinss	   bulletinss   bullss   popitems   keys   bulletins   dispExpirations   countys   groups   _initBulletins   KeyErrors   warning(   s   interestlists	   bulletinss   bullss   keys   nows   bulletin(    (    s   bulletin.pys   _processNewInterestList s,   	 
 c    s   h  } xd |  D]Y }  | |  } !y "| | i |  Wn& $t j
 o %| g | | <n Xq W'| Sd  S(   N(   s   datas   lists   es   selectors   keys   appends   KeyError(   s   lists   selectors   es   keys   data(    (    s   bulletin.pys   _splits   	
 	c    sX  *,|  i | i j o -d Sn .|  i | i j  o /d Sn 2|  i | i j o 3d Sn 4|  i | i j  o 5d Sn 8|  i | i j o 9d Sn :|  i | i j  o ;d Sn >|  i | i j  o ?d Sn @|  i | i j o Ad Sn D|  i | i j  o Ed Sn F|  i | i j o Gd Sn Id Sd  S(   Nii   i    (   s   ls   primarys   rs   prioritys	   issueTimes   lastDisplayTimes   displaySequence(   s   ls   r(    (    s   bulletin.pys   _compareBulletin*s*   c    s   LN|  i | i j o Od Sn P|  i | i j  o Qd Sn V|  i | i j o Wd Sn X|  i | i j  o Yd Sn [d Sd  S(   Nii   i    (   s   ls   prioritys   rs
   expiration(   s   ls   r(    (    s   bulletin.pys   _compareCrawlGroupBulletinLs   c    s   ^_|  o `g  Sn dt |  i   d    } e| i   } f| i   g| i   h| | d } mt	 |  } p| i t
  ut | |  Sd  S(   Nc    s
   d|  i S(   N(   s   es   category(   s   e(    (    s   bulletin.pys   <lambda>ds    i    (   s	   bulletinss   _splits   valuess   datas   keyss
   categoriess   sorts   reverses   bulls   _squashCrawlGroupss   _compareBulletins   _debigulates
   windowSize(   s	   bulletinss
   windowSizes   bulls   datas
   categories(    (    s   bulletin.pys   _selectBulletinRotation^s   c    s   xyg  } {t |  d    } |xb | i   D|]Q \ } } }| t j o ~| | 7} n% | i t	  | i
 | d  q1 W| Sd  S(   Nc    s
   {|  i S(   N(   s   es
   crawlGroup(   s   e(    (    s   bulletin.pys   <lambda>{s    i    (   s   ress   _splits   rotations   datas   itemss   keys   blists   Nones   sorts   _compareCrawlGroupBulletins   append(   s   rotations   blists   keys   ress   data(    (    s   bulletin.pys   _squashCrawlGroupsxs   	 c 	   sB  d } x7 t t |    D]  } |  | i o Pn q% W|  |  } |  | } t |  } t |  } | d j o | Sn | d j o | Sn | | j o | Sn g  } | | } xF t |  o5 | i |  | i | |   | | } q W| Sd S(   sv   Make it where the is no gap in the rotation
    bigger than windowSize that contains only secondary
    counties.
    i    N(   s   is   ranges   lens   rotations   primarys   primaryLists   secondaryLists   nps   nss
   windowSizes   ress   cnts   extend(	   s   rotations
   windowSizes   cnts   is   ress   primaryLists   secondaryLists   nps   ns(    (    s   bulletin.pys   _debigulates0   	 		 c    s   d } | o d | } n xq |  D]f } t | d t  } | d | i | i | i	 f 7} | t j o | d | f 7} n q2 W| d 7} t
 |   d j o | d 7} n t i |  d  S(	   Ns   bulletin rotations
   unchanged s   qatexts	   |%s-%s-%ss   -%ss   |i    s    no active bulletins|(   s   strs   rotationChangeds   rotations   es   getattrs   Nones   qatexts   pils   pilExts   countys   lens   Logs   info(   s   rotations   rotationChangeds   qatexts   es   str(    (    s   bulletin.pys   _logRotations   	
 	#c    s
   d  S(   N(    (   s   rotation(    (    s   bulletin.pys   _setModes   c    s   d } | t _ t i   } g  t _ d } xF | D]; } | | _	 | | _
 | d 7} t i i |  qF Wt   d  S(   Ni   (   s	   immediates   _paramss   immediateReplacements   times   nows	   bulletinss   is   rotations   es   lastDisplayTimes   displaySequences   appends   load(   s   lastRotations   rotations   es	   immediates   is   now(    (    s   bulletin.pys   _updatePresentations   		
 	c    s   d |  _ d |  _ d  S(   Ni    (   s   bulletins   lastDisplayTimes   displaySequence(   s   bulletin(    (    s   bulletin.pys   _initBulletins   c    s   yf d } t t  o t d } n t i | | |  } t |  | | | | f <Wn t i
 j
 o& } t i d | | | f  nV t j
 o! t i d | | f  n' t j
 o t i d  n Xd  S(   Ns   BOGUS1i    s   invalid bulletin for %s.%s: %ss>   got a bulletin event for %s.%s; but could not properly load its<   BUG - bulletin set but no interest list; contact a developer(   s   primaryCountys   lens   _interestlists   BulletinInfos   loadBulletins   countys   groups   bulletins   _initBulletins	   bulletinss   InvalidBulletins   es   Logs   warnings   KeyErrors
   IndexErrors   error(   s   interestlists	   bulletinss   countys   groups   primaryCountys   es   bulletin(    (    s   bulletin.pys   _addBulletins   	!c    sQ   y |  | | f =Wn0 t j
 o! t i d | | f  n Xd  S(   NsD   got a bulletin cancellation for a bulletin that is not active: %s.%s(   s	   bulletinss   countys   groups   KeyErrors   Logs   warning(   s	   bulletinss   countys   group(    (    s   bulletin.pys   _delBulletins   c     so   t  t t  a 
t t j }  |  o: t t |   t t  t t t  t a n d  S(   N(	   s   _selectBulletinRotations
   _bulletinss   _rotationSizes	   _rotations   _lastRotations   rotationChangeds   _logRotations   _setModes   _updatePresentation(   s   rotationChanged(    (    s   bulletin.pys   _updateBulletinRotations   
c    s?   |  a t } t i | t d  t i   d  S(   Ni    (   s   activates   _crawlActives   DSKEY_CRAWL_ACTIVEs   keys   dsms   sets   dss   commit(   s   activates   key(    (    s   bulletin.pys	   _activates
   		(5   s
   exceptionss   domestics   domestic.dataUtils   domestic.BulletinInfos   oss   times   twc.dsmarshals   twcs   twc.DataStoreInterfaces	   twccommons   twccommon.Logs   DataStoreInterfaces   dss	   dsmarshals   dsms   BulletinInfos   Logs   BULLETIN_LAYER_IDs   DSKEY_CRAWL_ACTIVEs   DSKEY_ILIST_COUNTYs   _rotationSizes   _idleCnts   Nones   _interestlists   _lastRotations	   _rotations   _crawlActives
   _firstLoads   inits   idles   setCountyInterestLists   sets   setLists   cancels
   cancelLists   getPlaylistNames   loads   runs   _processNewInterestLists   _splits   _compareBulletins   _compareCrawlGroupBulletins   _selectBulletinRotations   _squashCrawlGroupss   _debigulates   _logRotations   _setModes   _updatePresentations   _initBulletins   _addBulletins   _delBulletins   _updateBulletinRotations	   _activate('   s   loads	   _activates   sets   Logs   _processNewInterestLists   domestics   DSKEY_CRAWL_ACTIVEs   _logRotations   _updatePresentations   cancels   _selectBulletinRotations   twcs   setCountyInterestLists   DSKEY_ILIST_COUNTYs   getPlaylistNames   BULLETIN_LAYER_IDs   inits   dsms   _setModes   _compareBulletins   runs   _addBulletins   _delBulletins   _compareCrawlGroupBulletins   setLists   _squashCrawlGroupss   dss   BulletinInfos   _debigulates
   cancelLists   _rotationSizes   _updateBulletinRotations   idles   _initBulletins	   twccommons   times
   exceptionss   oss   _split(    (    s   bulletin.pys   ? s`   													G/!"(
