
Nc           @   s  d  d k  l Z d  d k Z d  d k l Z d  d k l Z d  d k l Z d  d k	 l
 Z
 d  d k l Z d  d k l Z d  d	 k l Z d  d
 k l Z d  d k l Z d  d k l Z d  d k l Z l Z l Z l Z l Z l Z l Z l Z l  Z  d  d k! l" Z" d  d k# l$ Z$ d  d k% l& Z& d  d k' l' Z' d  d k( l) Z) l* Z* d  d k+ l, Z, l+ Z+ d  d k- l. Z. l/ Z/ e0 a1 e0 a2 e0 Z3 e0 Z4 e0 Z5 e0 Z6 e0 Z7 e8 Z9 d d Z: d e& f d     YZ; d e e
 f d     YZ< d   Z= d   Z> e8 d  Z? d   Z@ e0 d  ZA d S(    i(   t   _N(   t	   ActionMap(   t   Button(   t   config(   t   GUIComponent(   t   HTMLComponent(   t   Label(   t   MultiContentEntryText(   t   ServiceEvent(   t   Event(   t   ScrollLabel(	   t   eServiceReferencet   eServiceCentert   eTimert
   getDesktopt	   eEPGCachet   eListboxt   eListboxPythonMultiContentt   RT_HALIGN_LEFTt   RT_HALIGN_RIGHT(   t   InfoBar(   t
   MessageBox(   t   Screen(   t   ServiceReference(   t
   parseColort	   parseFont(   t	   localtimet   time(   t   resolveFilenamet
   fileExistss      Cool TV Guide st   .
   (c) 2012 by Coolman

   New Version Is Now Available ,
   Please upgrade it at: 

   http://www.CoolTVGuide.comt   CoolInfoGuidec        
   B   s  e  Z d  Z d Z d Z d Z d1 d1 d1 d1 d1 d1 d1 d1 d1 d 	 Z d   Z d   Z	 d   Z
 d   Z d   Z d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z  d   Z! d   Z" d   Z# d    Z$ d!   Z% d"   Z& d1 d#  Z' d$   Z( d%   Z) d&   Z* d'   Z+ d(   Z, d)   Z- d*   Z. d+   Z/ d,   Z0 d-   Z1 d.   Z2 d/   Z3 d0   Z4 RS(2   i    i   i   c         C   s`  t  i |  |  t t  } t d  i   i   } d |  _ | d j o
 d } n | d j o
 d } n d } t |  } | i	   |  _
 | i   | |  _ | |  _ |	 |  _ |
 |  _ t d  t d	  t d
  t d  t d  t d  t d  f |  _ d |  _ t |  _ d  |  _ t   |  d <t   |  d <| o! |  d i |  | i   a n | |  _ t   |  d <t   |  d <t   |  d <t   |  d <t d  |  d <t d  |  d <t d  |  d <|  i  |  _! |  i  |  _" |  i  |  _# |  i  |  _$ t% |  |  _& | |  _' t(   |  _) |  i) i* i+ |  i,  t d  |  d <t- d |  i. d | i/ i0  |  d <t1 d g h |  i2 d  6|  i3 d! 6|  i4 d" 6|  i5 d# 6|  i6 d$ 6|  i7 d% 6|  i8 d& 6|  i9 d' 6|  i: d( 6|  i; d) 6|  i< d* 6|  i= d+ 6 |  d, <t1 d- d. d/ d0 g h |  i> d1 6|  i? d2 6|  i@ d3 6|  iA d4 6|  iB d5 6|  iC d6 6|  iD d7 6|  iE d8 6|  iF d9 6|  iG d: 6|  iH d; 6d  |  d< <|  |  d< _I t1 d= g h |  iJ d> 6|  iK d? 6|  iL d@ 6|  iM dA 6d  |  dB <tN iO iP iQ |  _R tN iO iS iQ |  _T tN iO iU iQ |  _V |  iR dC j p0 |  iR dD j p  |  iR dE j p |  iR dF j o dG |  _R n |  iT dC j p0 |  iT dD j p  |  iT dE j p |  iT dF j o dH |  _T n |  iV dC j p0 |  iV dD j p  |  iV dE j p |  iV dF j o dI |  _V n |  d iW t |  iR   |  d iW t |  iT   |  d iW t |  iV   |  iX i+ |  iY  |  iZ   d  S(J   Ni    R   i  sU   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSkin/CoolInfoGuide_720.xmli   sV   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSkin/CoolInfoGuide_1024.xmlsV   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSkin/CoolInfoGuide_1280.xmlt   Mont   Tuet   Wedt   Thut   Frit   Satt   Sunit   ServiceR	   t   CoolSimilart   CoolDescriptiont	   CoolShortt   datet    t   key_redt	   key_greent
   key_yellowt
   CoolSearcht   key_bluet   selChangedCBt   timert	   CoolEventt   CoolTVGuideActionst   CoolMenut   CoolRedt   CoolRedLongt	   CoolGreent   CoolGreenLongt
   CoolYellowt   CoolYellowLongt   CoolBluet   CoolBlueLongt   CoolOKt
   CoolRecordt	   CoolKeyTVt   Coolmant   EPGSelectActionst   EventViewActionst   OkCancelActionst   PowerKeyActionst	   powerdownt   cancelt   pageUpt   pageDownt	   prevEventt	   nextEventt   infot   nextBouquett   prevBouquett   nextServicet   prevServicet   actionst   InputActionst   0t   7t   8t   9t   input_actionst	   PrimeTimes	   Bouquet +s	   Bouquet -t   Bouquetlistt   Zapt   Timers   IMDb Search([   R   t   __init__t   strR   R   t   sizet   widtht   skinNamet   opent   readt   skint   closet   cbFunct   servicelistt   bouquetChangeCBt   serviceChangeCBR    t   dayst   ask_timet   Falset   closeRecursivet   Nonet   saved_titleR   R	   t   newEventt
   getEventIdt   CoolEventidt   eventR
   R   R   t   EMPTYt   key_red_choicet   key_green_choicet   key_yellow_choicet   key_blue_choiceR   t   currentServicet   zapFuncR   t   SimilarBroadcastTimert   callbackt   appendt   getSimilarEventst   InfoEPGListt   onSelectionChangedt   navt   RecordTimerR   t	   showSetupR6   R7   R8   R9   R:   R;   t   CSR=   R>   R?   t   openTimerEditListt	   CoolPowert   closeScreenRH   RI   t   moveUpt   moveDownt   CoolInfot   nextChannelt   prevChannelRO   RP   t   cselt   openCoolInfot   openCoolTVGt   openCoolSinglet   openCoolEasyR   t   CTVGt   Cool_Redt   valuet   CRt
   Cool_Greent   CGt   Cool_Yellowt   CYt   setTextt   onLayoutFinisht   onCreatet
   checkImage(   t   selft   sessionRr   t   RefR{   t   servicet   ServicelistRy   t   eventidRg   Rh   t   skinpatht   CoolWideRc   t   Cool(    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR\   8   s    	


				H					"	





















	



@@@c         C   s4   t    } | i | i f d j o |  i   n d  S(   Ni  i	   (   i  i	   (   R   t   tm_yeart   tm_monR   (   R   t   now(    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR      s    	c         C   s5   d d k  l } |  i   | |  i  |  i   d  S(   Ni(   t   Man(   t   pluginR   t   hideR   R   (   R   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR      s    
c         C   sM   y5 |  i  i t  |  i   t |  i  |  i   Wn |  i   n Xd  S(   N(   Rf   t   setCurrentSelectiont
   CoolCurRefR   t   CIGmainR   R   (   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR      s    
c         C   s5   d d k  l } |  i   | |  i  |  i   d  S(   Ni(   t   CSGMan(   t   CoolSingleGuideR   R   R   R   (   R   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR      s    
c         C   s5   d d k  l } |  i   | |  i  |  i   d  S(   Ni(   t   CEGMan(   t   CoolEasyGuideR   R   R   R   (   R   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR      s    
c         C   s
  |  i  } | d j o |  i   n | d j o |  i   n | d j o |  i   n | d j o |  i   n | d j o |  i   nw | d j o |  i   n\ | d j o |  i   nA | d j o |  i   n& | d	 j o |  i	   n |  i   d  S(
   NRZ   s
   Zap + ExitR/   s   IMDb Searcht   GuideSwitchR[   t   QuickRect	   AutoTimers
   EPG Select(
   R   t   zapTot   zapR   t
   IMDbSearchR   t   timerAddR?   t   CoolAutoTimerR   (   R   t   x(    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR6      s(    	c         C   s  t  i i i } | d j o |  i   n | d j o |  i   n | d j o |  i   n | d j o |  i   n | d j o |  i   nw | d j o |  i	   n\ | d j o |  i
   nA | d j o |  i   n& | d	 j o |  i   n |  i   d  S(
   NRZ   s
   Zap + ExitR/   s   IMDb SearchR   R[   R   R   s
   EPG Select(   R   R   t   Cool_RedLongR   R   R   R   R   R   R   R?   R   R   (   R   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR7      s(    c         C   s
  |  i  } | d j o |  i   n | d j o |  i   n | d j o |  i   n | d j o |  i   n | d j o |  i   nw | d j o |  i   n\ | d j o |  i   nA | d j o |  i   n& | d	 j o |  i	   n |  i   d  S(
   NRZ   s
   Zap + ExitR/   s   IMDb SearchR   R[   R   R   s
   EPG Select(
   R   R   R   R   R   R   R   R?   R   R   (   R   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR8      s(    	c         C   s  t  i i i } | d j o |  i   n | d j o |  i   n | d j o |  i   n | d j o |  i   n | d j o |  i   nw | d j o |  i	   n\ | d j o |  i
   nA | d j o |  i   n& | d	 j o |  i   n |  i   d  S(
   NRZ   s
   Zap + ExitR/   s   IMDb SearchR   R[   R   R   s
   EPG Select(   R   R   t   Cool_GreenLongR   R   R   R   R   R   R   R?   R   R   (   R   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR9     s(    c         C   s
  |  i  } | d j o |  i   n | d j o |  i   n | d j o |  i   n | d j o |  i   n | d j o |  i   nw | d j o |  i   n\ | d j o |  i   nA | d j o |  i   n& | d	 j o |  i	   n |  i   d  S(
   NRZ   s
   Zap + ExitR/   s   IMDb SearchR   R[   R   R   s
   EPG Select(
   R   R   R   R   R   R   R   R?   R   R   (   R   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR:   "  s(    	c         C   s  t  i i i } | d j o |  i   n | d j o |  i   n | d j o |  i   n | d j o |  i   n | d j o |  i   nm | d j o |  i	   nR | d j o |  i
   n7 | d j o |  i   n | d	 j o |  i   n d  S(
   NRZ   s
   Zap + ExitR/   s   IMDb SearchR   R[   R   R   s
   EPG Select(   R   R   t   Cool_YellowLongR   R   R   R   R   R   R   R?   R   R   (   R   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR;   9  s&    c         C   s  t  i i i } | d j o |  i   n | d j o |  i   n | d j o |  i   n | d j o |  i   n | d j o |  i   nw | d j o |  i	   n\ | d j o |  i
   nA | d j o |  i   n& | d	 j o |  i   n |  i   d  S(
   NRZ   s
   Zap + ExitR/   s   IMDb SearchR   R[   R   R   s
   EPG Select(   R   R   t   Cool_BlueLongR   R   R   R   R   R   R   R?   R   t   closeScreenZap(   R   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR=   N  s(    c         C   s  t  i i i } | d j o |  i   n | d j o |  i   n | d j o |  i   n | d j o |  i   n | d j o |  i   nw | d j o |  i	   n\ | d j o |  i
   nA | d j o |  i   n& | d	 j o |  i   n |  i   d  S(
   NRZ   s
   Zap + ExitR/   s   IMDb SearchR   R[   R   R   s
   EPG Select(   R   R   t   Cool_OKR   R   R   R   R   R   R   R?   R   R   R   (   R   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR>   e  s(    c         C   sS   t  i i i } | d j o |  i   n& | d j o |  i   n |  i   d  S(   Ns
   EPG Selects   Cool Info Guide(   R   R   t	   Cool_InfoR   R   R   (   R   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR   |  s    c         C   s"   |  d i    |  i |  i  d  S(   NR3   (   R   t   setEventRr   (   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR     s    c         C   s"   |  d i    |  i |  i  d  S(   NR3   (   R   R   Rr   (   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR     s    c         C   s.   |  d i    |  d i    |  d i    d  S(   NR'   R(   R)   (   RH   (   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyRH     s    c         C   s.   |  d i    |  d i    |  d i    d  S(   NR'   R(   R)   (   RI   (   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyRI     s    c         C   s   |  i    |  i   d  S(   N(   RO   R   (   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR     s    
c         C   s   |  i    |  i   d  S(   N(   RP   R   (   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR     s    
c         C   s/   |  i  o! |  i  d |   |  i i   n d  S(   Ni   (   Rh   Rf   R   (   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyRO     s    
c         C   s/   |  i  o! |  i  d |   |  i i   n d  S(   Ni(   Rh   Rf   R   (   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyRP     s    
c         C   s$   d d k  l } |  i i |  d  S(   Ni(   t   SleepTimerEdit(   t   Screens.SleepTimerEditR   R   Ra   (   R   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR     s    c         C   s$   |  d i    a |  i |  i  d  S(   NR3   (   t   getSelectedEventIdt   coolEIDRd   Rl   (   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR     s    c         C   s   | |  _  |  i   d  S(   N(   t   servicesR   (   R   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyt   setServices  s    	c         C   s   | |  _  |  i   d  S(   N(   Rx   R   (   R   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyt
   setService  s    	c         C   s   |  d } |  i  } |  i |  i  |  i d  j o |  i i   |  _ n |  i d | i   } |  i i |  | i	 |  d  S(   NR3   s    - (
   Rx   R   Rr   Rn   Rm   t   instancet   getTitlet   getServiceNamet   setTitlet   fillInfoGuide(   R   t   lR   t   title(    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR     s    
	c         C   s   ys t  t i i _ |  i i   } |  d i   } | d } | o | i } |  i i	 |  n | a
 |  i i   Wn d  SXd  S(   NR3   i   (   t   TrueR   R   t   SinfoR   Rf   t   getCurrentSelectiont
   getCurrentt   refR   R   R   (   R   R   t   curt
   servicereft   refstr(    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR     s    
	c         C   s   y} t  t i i _ |  i i   } |  d i   } | d } | o | i } |  i i	 |  n | a
 |  i i   |  i   Wn d  SXd  S(   NR3   i   (   R   R   R   R   R   Rf   R   R   R   R   R   R   R   (   R   R   R   R   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR     s    
	c         C   sk  |  d i    } | d } | p' |  d i d  |  d i d  d  S|  d i | i    | i   } | d j o |  d i | i    n |  d i |  | d } | i i   } | i   } t i	   } | i
 d d	 t i | | f  } | d  j	 od|  d
 }	 |	 i   }
 | i |  i  x*| D]"} t | d  } d } | i d j o t d  } n | i d j o t d  } n | i d j o t d  } n | i d j o t d  } na | i d j o t d  } nA | i d j o t d  } n! | i d j o t d  } n |
 d | | d | d | d f 7}
 q0W|	 i |
  n d  S(   NR3   i    R)   s   --- No EPG Data ---R(   R+   i   t   NBid   R'   R   R    i   R!   i   R"   i   R#   i   R$   i   R%   s   %s  %02d:%02d   %s
(   R   R   t   getExtendedDescriptiont   getShortDescriptiont   getEventNameR   t   toStringRp   R   t   getInstancet   searcht   SIMILAR_BROADCASTINGS_SEARCHRm   t   getTextt   sortt	   sort_funcR   t   tm_wdayR    (   R   R   Rr   t   shortR   R   t   idt   epgcachet   rett   descrt   textR   t   tt   cDay(    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR}     sP    

!
 *c         C   s<   | d | d j  o d S| d | d j o d Sd Sd  S(   Ni   ii    (    (   R   R   t   y(    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR     s
    c         C   s   d } |  d i  |  |  i d  j	 o |  i i d t  n |  d i   } | d } | p d  S| i   } | d j o |  d i  | i    n |  d i  |  |  d i  | i    d  S(   NR+   R'   i  R3   i    R)   R(   (	   R   Rz   Rm   t   startR   R   R   R   R   (   R   Rr   R   R   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR     s    
 c         C   sw   d d k  l  } y= |  d i   } | d } | p d  S| i   p d } Wn d } n X|  i i | | t  d  S(   Ni(   R/   R3   i    R+   (   R/   R   R   R   Ra   Rk   (   R   R/   R   Rr   t   name(    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR   %  s    
 
c         C   s   y d d k  l } l } Wn t j
 o d  } n Xy6 |  d i   } | d } | p d  S| i   } Wn t j
 o d  } n X| d  j	 o |  i i | | t	  n d  S(   Ni(   t   IMDBt   IMDBEPGSelectionR3   i    (
   t   Plugins.Extensions.IMDb.pluginR   R   t   ImportErrorRm   R   R   R   Ra   Rk   (   R   R   R   R   Rr   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR   0  s    
 c         C   s   |  d i    } | d } | p d  S| d } y d d k l } d d k l } |  i i |  i | d t d  d	 t d
  d
 f t d  d f g | |  i d | d | f Wn& |  i i	 t
 t d  t
 i  n Xd  S(   NR3   i    i   i(   t   addAutotimerFromEvent(   t	   ChoiceBoxR   s      check Autotimer ?t   listt   Yest   Not   evtR   sM   No AutoTimer seems to be installed. Please install it for this functionality.(   R   t,   Plugins.Extensions.AutoTimer.AutoTimerEditorR   t   Screens.ChoiceBoxR   R   t   openWithCallbackt   CoolAutoTimerSafeR    Ra   R   t
   TYPE_ERROR(   R   R   Rr   R   R   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR   ?  s    
 
F c         C   s   |  d i    } | d } | p d  S| d } | o | d } | d j oN y! d d k l } | |  i  Wq |  i i t t d  t i  q Xn d  S(   NR3   i    i   R   i(   t   mainsM   No AutoTimer seems to be installed. Please install it for this functionality.(   R   t#   Plugins.Extensions.AutoTimer.pluginR   R   Ra   R   R    R   (   R   t   answerR   Rr   R   t   AutoTimerSafe(    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR   L  s    
 
c         C   s  |  d i    } | d } | d } | p d  S| i   } | i i   } xp|  i i i i D][ } | i | j oE | i	 i i   | j o, |  i i i i
 |  |  d i i   Pq^ q^ Wd d k l } l } d d k l }	 | | d t | |  }
 d d  k } | i i i |
  } | d  j	 o x8 | D]0 } | i |
  o |  i i i i |  q3q3W|  i i i i |
  } | d  j	 o |  i i |  i |	 |  qn |  d i i   |  i   d  S(   NR3   i   i    i(   t   RecordTimerEntryt
   parseEvent(   t   TimerSanityConflictt   checkOldTimers(   R   Rp   R   R   R   R   R   t
   timer_listt   eitt   service_reft   removeEntryR   t
   invalidateR  R  t   Screens.TimerEditR  R   t   NavigationInstanceR   t   recordRm   t   setAutoincreaseEndt   timeChangedR   t   finishSanityCorrectionR   (   R   R   R   Rr   R   R   R2   R  R  R  t   newEntryR  t	   conflictsR   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR?   Y  s8    

  )	 !c         C   sX  d d k  l } d d k l } |  d i   } | d } | d } | p d  S| i   } | i i   } x |  i i	 i
 i D] } | i | j or | i i i   | j oY |  i i |  i | d t d d	  | i   d
 t d  d f t d  d f g Pq~ q~ Wd d k
 l }	 l }
 |	 | d t |
 |  } |  i i |  i | |  d  S(   Ni(   t
   TimerEntry(   R   R3   i    i   R   s   Cool Timer Edit :s   

%sR   s   edit this Timer ?t   edits   delete this Timer ?t   delete(   R  R  R  (   t   Screens.TimerEntryR  R   R   R   Rp   R   R   R   R   R   R  R	  R
  R   t   CoolTimerEditR    R   R  R  R   t   finishedAdd(   R   R  R   R   Rr   R   R   R   R2   R  R  R  (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR   u  s"    

  )T	c         C   s$   d d k  l } |  i i |  d  S(   Ni(   t   TimerEditList(   R  R  R   Ra   (   R   R  (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR     s    c   	      C   s>  d d k  l } |  d i   } | d } | d } | p d  S| i   } | i i   } | o | d } x |  i i i i	 D] } | d j oR | i
 | j o> | i i i   | j o% |  i i i i |  |  i   Pq n | d j oE | i
 | j o1 | i i i   | j o |  i i | |  Pq6q q Wd  S(   Ni(   R  R3   i    i   R  R  (   R  R  R   Rp   R   R   R   R   R   R  R	  R
  R  R   Ra   (	   R   R  R  R   Rr   R   R   R   R2   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR    s(    

  )
	)c         C   s  | d oi| d } |  i  i i i |  } | d  j	 o x8 | D]0 } | i |  o |  i  i i i |  qA qA W|  i  i i i |  } | d  j	 o- d d k l } |  i  i	 |  i
 | |  q n |  i d j o' |  d i t d   |  i |  _ q|  i d j o' |  d i t d   |  i |  _ q|  i d j o' |  d	 i t d   |  i |  _ qn |  i d j o' |  d i t d   |  i |  _ no |  i d j o' |  d i t d   |  i |  _ n8 |  i d j o' |  d	 i t d   |  i |  _ n d  S(
   Ni    i   i(   R  R[   R-   t	   TimerEditR,   R.   (   R   R   R   R  Rm   R  R  R  R  R   R  R   R   R    t   REMOVE_TIMERRu   R   Rt   R   Rv   t	   ADD_TIMER(   R   R  t   entryt   simulTimerListR   R  (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR    s<    
 !c         C   s   |  i  |  d  S(   N(   R  (   R   R  (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR    s    c         C   s  |  d i    } | d } |  d i |  d } | d  j	 o t   } | i   } t |  } t |  } | d | d j o* d |  i | d | d | d f } q d t d	  | d | d f } n |  d
 i |  | d d  j o |  d i	 d   n |  d i	 | d i
  | p |  i d j o! |  d i d  |  i |  _ nc |  i d j o! |  d i d  |  i |  _ n2 |  i d j o! |  d i d  |  i |  _ n d  S| d } | i   }	 | i
 i   }
 t } xN |  i i i i D]: } | i |	 j o$ | i i
 i   |
 j o t } PqqW| o |  i d j o' |  d i t d   |  i |  _ q|  i d j o' |  d i t d   |  i |  _ q|  i d j o' |  d i t d   |  i |  _ qn | p |  i d j o' |  d i t d   |  i |  _ q|  i d j o' |  d i t d   |  i |  _ q|  i d j o' |  d i t d   |  i |  _ qn d  S(   NR3   i    R	   R+   i   s	   %s %d.%d.i   i   t   TodayR*   R&   R[   R-   R,   R.   R  (   R   Ro   Rm   R   t   getBeginTimeR   Ri   R    R   t
   newServiceR   R   Rs   Ru   R   Rt   R   Rv   Rp   R   Rk   R   R   R   R  R	  R
  R   R  R  (   R   R   Rr   t   datestrR   t   begt   nowTimet   begTimeR   R   R   t   isRecordEventR2   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR     sp    
	*%
 )	c         C   s8   d d k  l } y |  i i |  i |  Wn n Xd  S(   Ni(   t   CoolTVGuideSetup(   R   R)  R   R   t   onSetupClose(   R   R)  (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR     s
    c         C   sT   d d k  l } |  i   t |  i |  i  |  i i t | t i  |  i	   d  S(   Ni(   t   CoolTVGuideAbout(
   R   R+  R   R   R   Rf   Ra   R   t	   TYPE_INFOR   (   R   R+  (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR*    s
    
N(5   t   __name__t
   __module__Rs   R  R  t   ZAPRm   R\   R   R   R   R   R   R6   R7   R8   R9   R:   R;   R=   R>   R   R   R   RH   RI   R   R   RO   RP   R   R   R   R   R   R   R   R}   R   R   R   R   R   R   R?   R   R   R  R  R  R   R   R*  (    (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR   1   sd   $n																													
			+										 		?	R~   c           B   s   e  Z d d d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 e
 Z d   Z d   Z d	   Z d
   Z d   Z d d  Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   s  t  d  t  d  t  d  t  d  t  d  t  d  t  d  f |  _ | |  _ g  |  _ | d  j	 o |  i i |  n t i |   t i	   |  _
 t   |  _ t d d d f  |  _ |  i i d
 |  i  |  i i |  i  d
 |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d  |  _  d  |  _! d |  _" d |  _# d |  _$ t% i	   |  _& d  S(   NR   R    R!   R"   R#   R$   R%   s
   Regular;24i   i    i<   i   i   i$  i  i   ix   i   i f iɘ; i i``` i i (   i   i   (   i   i   ('   R    Ri   R2   t   onSelChangedRm   R|   R   R\   R   R   t   serviceHandlerR   R   R   t   CoolFontt   setFontt   setBuildFunct   buildInfoGuideEntryt
   CoolDayPost   CoolTimePost   CoolTimeHPost   CoolEventPost   CoolDurationPost   CoolEventSizet   CoolDaySizet   CoolTimeSizet   CoolDurationSizet   CoolEventHeightt   CoolDayColort   CoolTimeColort   CoolEventColort   CoolDurationColort   CoolBackColort   CoolBackColorSelt   CoolTunerColt   CoolRecPreColort   CoolRecColorR   R   (   R   R1   R2   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR\     s>    H																					c         C   s8  g  } |  i  d  j	 ox|  i  D]\ } } | d j o2 t | d d f  |  _ |  i i d |  i  q  | d j o t |  |  _ q  | d j o t |  |  _ q  | d j o t |  |  _	 q  | d j o t |  |  _
 q  | d j o t |  |  _ q  | d	 j o t |  |  _ q  | d
 j o t |  |  _ q  | d j o t |  |  _ q  | d j o t |  |  _ q  | d j o t |  |  _ q  | d j o t |  i   |  _ q  | d j o t |  i   |  _ q  | d j o t |  i   |  _ q  | d j o t |  i   |  _ q  | d j o t |  i   |  _ q  | d j o t |  i   |  _ q  | d j o t |  i   |  _ q  | d j o t |  i   |  _ q  | d j o t |  i   |  _ q  | i | | f  q  Wn | |  _  t i |  | |  S(   NR2  i   i    R6  R7  R9  R;  R<  R=  R:  R8  R>  R?  R@  RA  RB  RD  RE  RC  RF  RG  RH  (   i   i   (   i   i   (   t   skinAttributesRm   R   R2  R   R3  t   intR6  R7  R9  R;  R<  R=  R:  R8  R>  R?  R   t   argbR@  RA  RB  RD  RE  RC  RF  RG  RH  R|   R   t	   applySkin(   R   t   desktopt   parentt   attribst   attribR   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyRL  <  s`    
 	c         C   sC   d  } |  i d  j	 o) | d  j	 o |  i i | i |  } n | S(   N(   Rm   R   t   lookupEventIdR   (   R   R   R   Rr   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyt   getEventFromIdq  s    c         C   sa   d } |  i  i   } | d  j o d S| | d } t | |  } |  i | |  } | | f S(   Ni    i   (   NN(   R   R   Rm   R   RR  (   R   t   idxt   tmpR   R   Rr   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR   w  s    c         C   s   |  i  i |  i  i  d  S(   N(   R   t   moveSelectionR   (   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR     s    c         C   s   |  i  i |  i  i  d  S(   N(   R   RU  R   (   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR     s    c         C   s0   x) |  i  D] } | d  j	 o |   q
 q
 Wd  S(   N(   R0  Rm   (   R   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyt   selectionChanged  s    
 c         C   s:   | i  t  | i i   i |  i  | i |  i  d  S(   N(   t   setWrapAroundR   RV  t   getR|   t
   setContentR   (   R   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyt   postWidgetCreate  s    c         C   s*   | i  i   i |  i   | i d   d  S(   N(   RV  RX  t   removeRY  Rm   (   R   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyt   preWidgetRemove  s    c   
      C   s5  x |  i  i D] } | i i i   | j o | | } | i } | i } | | | d }	 | i | j o' | | j  p | | j o d Sd Sq | |	 j o
 | j n o' | | j  p | | j o d Sd Sq q q WxP |  i  i D]B } | i	 o2 | i i i   | j o | i | j o d Sq q Wd  S(   Ni   t   recordxR  (
   R2   R  R
  R   R   t   begint   endR	  t   processed_timerst   disabled(
   R   R   t	   beginTimet   durationt   eventIdR   t   endTimeR%  R_  t   mitte(    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyt
   CoolRecRed  s(     
		 #c         C   s0   |  i  i |  } | o | i | |  p t S(   N(   R1  RL   t
   isPlayableRk   (   R   t	   refToPlayt
   refPlayingRL   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyt   isServiceAvailable  s    c         C   s  t  i i   i   } |  i t |  t |   } t |  } |  i | | | |  }	 |	 d j o |  i }
 } } } nk |	 d j o |  i	 }
 } } } nE | p |  i
 }
 } } } n% |  i }
 |  i } |  i } |  i } d  t i |  i d |  i |  i d t |  i | d |
 |
 |  i |  i f g } | i t d |  i d f d |  i |  i f d d d | d	 | d
 | d |  i d |  i   | d  j	 oHt   } t |  } t | |  } | | j  o | d } n | | | d } | i t d |  i d f d |  i |  i f d d d d | d | d | d | d f d	 | d
 | d |  i d |  i d d d |  i  
 | i t d |  i  |  i! f d |  i" |  i f d d d t# d d | d	 | d
 | d |  i d |  i  	 n | S(   NR  R]  i    i   t   posR^   t   fontR   t   colort	   color_selt	   backcolort   backcolor_seli<   s   %02d:%02d  -  %02d:%02di   i   t   border_widtht   border_colort   flagss
   + %02d min($   R  R   t#   getCurrentlyPlayingServiceReferenceR   Rk  R   R   Rg  RH  RG  RF  R@  RA  RB  RC  Rm   R   t	   TYPE_TEXTR6  R<  R?  R   Ri   RD  RE  R|   R   R9  R;  R   R7  R=  R:  R8  R>  R   (   R   R   Rd  Rb  Rc  t	   EventNamet   curservicerefstrt	   FreeTunerR^  t   cooltypt   FTDCt   FTTCt   FTECt   FTDt   resR   R&  R_  t   CoolDuration(    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR5    s4    				M[	lc         C   sI   |  i  d  j	 o5 | d  j	 o |  i  i | |  S|  i  i |  Sn g  S(   N(   R   Rm   t   lookupEvent(   R   R   t	   buildFunc(    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyt   queryEPG  s
    c         C   sa   d | i  i   d d d f g } |  i |  |  _ |  i i |  i  |  i   |  i t  d  S(   Nt   RIBDTi    i(	   R   R   R  R   R   t   setListRV  t   moveToEventIdRq   (   R   R   t   test(    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR     s
    !
c         C   sb   |  i  } | oN t o
 t } n |  i   } | i d d    |  i i   |  i |  n d  S(   Nt   keyc         S   s   |  d  S(   i   (    (   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyt   <lambda>  s    (   R   t   cooleventidR   R   R   R  R  (   R   R   t   event_id(    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyt   sortInfoGuide  s    	
c         C   s   |  i  i   } | o | d S(   Ni   (   R   R   (   R   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR     s    c         C   sf   | p d  Sd } | i    } xA |  i D]6 } | d | j o |  i i |  Pn | d 7} q( Wd  S(   Ni    i   (   R   R   R   t   moveSelectionTo(   R   R   t   indexR   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyt   moveToService  s    
 c         C   sZ   | p d  Sd } xA |  i  D]6 } | d | j o |  i i |  Pn | d 7} q Wd  S(   Ni    i   (   R   R   R  (   R   Rd  R  R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR    s    
 N(   R-  R.  Rm   R\   RL  RR  R   R   R   RV  R   t
   GUI_WIDGETRZ  R\  Rg  Rk  R5  R  R   R  R   R  R  (    (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR~     s&   +	5		
								'				c         C   sS   |  i  oE | d j o |  i  i   n |  i  i   | i |  i  i    n d  S(   Ni    (   t
   serviceSelRO   RP   R   Rx   (   R   t	   directiont   epg(    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyt   changeServiceCB  s
    
c         C   s   d d k  l } t i i   } | o t i   } |  i |  } | |  |  _ | a	 t
 } |  i i |  o2 |  i i t t d  d  d  | d |  i d t q n d  S(   Ni(   t   SimpleServicelistRh   R   (   t   Screens.InfoBarGenericsR  t   SessionR   Ru  R   t   getRoott   getBouquetServicesR  R   R   t   selectServiceR   R   t   CoolInfoGuideClosedR   Rm   R  (   R   R  R   t   current_pathR   t   InfoZap(    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyt   openCoolInfoGuide  s    c         C   s   t  o t i t  n d  S(   N(   R  R   R   R   (   R   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR  !  s    c         C   s   g  } t  i   i |   } | d  j	 oc x` t oT | i   } | i   p Pn | i t i	 t i
 B@o q+ n | i t |   q+ Wn | S(   N(   R   R   R   Rm   R   t   getNextt   validRt  R   t   isDirectoryt   isMarkerR|   R   (   t   bouquetR   Rf   R   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR  %  s     c         K   s   | d  j oU d d k l } | o | i o | i i } qb |  i t t d  t i  d  Sn |  a	 | a
 d d k l } | o | i o t | i  n d  S(   Ni(   R   s    No function with your Image(   Rm   t   Screens.InfoBarR   R   Rf   Ra   R   R    R   R  R   R  (   R   Rf   t   kwargsR   (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyR   2  s    (B   R\   R    R  t   Components.ActionMapR   t   Components.ButtonR   t   Components.configR   t   Components.GUIComponentR   t   Components.HTMLComponentR   t   Components.LabelR   t   Components.MultiContentR   t   Components.Sources.ServiceEventR   t   Components.Sources.EventR	   t   Components.ScrollLabelR
   t   enigmaR   R   R   R   R   R   R   R   R   R  R   t   Screens.MessageBoxR   t   Screens.ScreenR   R   Rc   R   R   R   R   t   Tools.DirectoriesR   R   Rm   Rq   R   Rg   Rh   R   Ry   R  Rk   t   mepg_config_initializedt   CoolTVGuideProR   R~   R  R  R  R  R   (    (    (    sG   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolInfoGuide.pyt   <module>   sJ   @
  			