
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 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% d  d k& l' Z' l( Z( d  d k) l* Z* l) Z) d  d k+ l, Z, e- Z. e/ Z0 d d Z1 d e$ f d     YZ2 d e e
 f d     YZ3 d   Z4 d   Z5 e/ d  Z6 d   Z7 e- d  Z8 e- d   Z9 d S(!   i(   t   _N(   t	   ActionMap(   t   Button(   t   config(   t   GUIComponent(   t   HTMLComponent(   t   Label(   t   MultiContentEntryText(   t   ServiceEvent(   t   Event(   t   eServiceReferencet   eServiceCentert
   getDesktopt	   eEPGCachet   eListboxt   eListboxPythonMultiContentt   RT_HALIGN_RIGHT(   t	   ChoiceBox(   t   InfoBar(   t
   MessageBox(   t   Screen(   t   ServiceReference(   t
   parseColort	   parseFont(   t	   localtimet   time(   t   resolveFilenames      Cool TV Guide st   .
   (c) 2012 by Coolman

   New Version Is Now Available ,
   Please upgrade it at: 

   http://www.CoolTVGuide.comt   CoolSingleGuidec           B   s  e  Z d  Z d Z d Z d Z d3 d3 d3 d3 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 d3 d3 d  Z d   Z  e! 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+   Z0 d,   Z1 d-   Z2 d.   Z3 d/   Z4 d0   Z5 d1   Z6 d2   Z7 RS(4   i    i   i   c         C   sQ  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 <t d  |  d <t d  |  d <t d  |  d <t d  |  d <|  i |  _ |  i |  _ |  i |  _ |  i |  _ t   |  d <t |  |  _  d |  _! | |  _" | |  _# t$ d |  i% d | i& i'  |  d <t( d g h |  i) d 6|  i* d 6|  i+ d 6|  i, d 6|  i- d  6|  i. d! 6|  i/ d" 6|  i0 d# 6|  i1 d$ 6|  i2 d% 6|  i3 d& 6|  i4 d' 6|  i5 d( 6|  i6 d) 6 |  d* <t( d+ d, d- g h |  i7 d. 6|  i8 d/ 6|  i9 d0 6|  i: d1 6|  i; d2 6|  i< d3 6d  |  d4 <|  |  d4 _= t( d5 g h |  i> d6 6|  i? d7 6|  i> d8 6|  i@ d9 6d  |  d: <tA iB iC iD |  _E tA iB iF iD |  _G tA iB iH iD |  _I tA iB iJ iD |  _K |  iE d; j p0 |  iE d< j p  |  iE d= j p |  iE d> j o d? |  _E n |  iG d; j p0 |  iG d< j p  |  iG d= j p |  iG d> j o d@ |  _G n |  iI d; j p0 |  iI d< j p  |  iI d= j p |  iI d> j o dA |  _I |  iL   n |  d iM t |  iI   |  iK d; j p0 |  iK d< j p  |  iK d= j p |  iK d> j o dB |  _K n |  d iM t |  iE   |  d iM t |  iG   |  d iM t |  iK   |  iN iO |  iP  |  iQ   d  S(C   Ni    R   i  sW   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSkin/CoolSingleGuide_720.xmli   sX   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSkin/CoolSingleGuide_1024.xmlsX   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSkin/CoolSingleGuide_1280.xmlt   Mont   Tuet   Wedt   Thut   Frit   Satt   Sunit   ServiceR	   t    t   key_redt	   key_greent
   key_yellowt   key_bluet   datet   selChangedCBt   timert   listt   CoolTVGuideActionst   CoolRedt   CoolRedLongt	   CoolGreent   CoolGreenLongt
   CoolYellowt   CoolYellowLongt   CoolBluet   CoolBlueLongt   CoolOKt
   CoolOKLongt   CoolInfot
   CoolRecordt   CoolTimet	   CoolKeyTVt   Coolmant   EPGSelectActionst   OkCancelActionst   PowerKeyActionst	   powerdownt   cancelt   nextBouquett   prevBouquett   nextServicet   prevServicet   actionst   InputActionst   0t   7t   8t   9t   input_actionst	   PrimeTimes	   Bouquet +s	   Bouquet -t   Bouquetlistt   Zapt   Timers   Sort A-Zt
   CoolSearch(R   R   t   __init__t   strR   R   t   sizet   widtht   skinNamet   opent   readt   skint   closet   servicelistt   bouquetChangeCBt   serviceChangeCBR    t   dayst   ask_timet   Falset   closeRecursivet   Nonet   saved_titleR   R	   R   t   EMPTYt   key_red_choicet   key_green_choicet   key_yellow_choicet   key_blue_choiceR   R   t   currentServicet	   sort_typet   servicest   zapFunct   SingleEPGListt   onSelectionChangedt   navt   RecordTimerR   R.   R/   R0   R1   R2   R3   R4   R5   R6   R7   R8   R9   t
   CoolSortAZt   openTimerEditListt	   CoolPowert   TimerAlarmExitt   nextChannelt   prevChannelRD   RE   t   cselt   openCoolSinglet   openCoolTVGt   openCoolEasyR   t   CTVGt   Cool_Redt   valuet   CRt
   Cool_Greent   CGt   Cool_Yellowt   CYt	   Cool_Bluet   CBt   setSortDescriptiont   setTextt   onLayoutFinisht   appendt   onCreatet
   checkImage(   t   selft   sessiont   servicet   ServicelistRl   t   eventidR\   R]   t   skinpatht   CoolWideRY   t   Cool(    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyRR   3   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_mont   closeScreen(   R   t   now(    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR      s    	c         C   s;   d d k  l } |  i   | |  i |  i  |  i   d  S(   Ni(   t   Man(   t   pluginR   t   hideR   R[   R   (   R   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyRy      s    
c         C   s;   |  i  i t  |  i   t |  i |  i   |  i   d  S(   N(   R[   t   setCurrentSelectiont   CoolCurServiceR   t   CSGManR   R   (   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyRx      s    
c         C   s;   d d k  l } |  i   | |  i |  i  |  i   d  S(   Ni(   t   CEGMan(   t   CoolEasyGuideR   R   R   R[   R   (   R   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyRz      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   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(   NRO   s
   Zap + ExitRQ   s   IMDb Searcht   GuideSwitchs   Cool Info GuideRP   t   QuickRect	   AutoTimers
   EPG Select(   R~   t   zapTot   zapt   CSt
   IMDbSearchRy   t   infoKeyPressedt   timerAddR9   t   CoolAutoTimert   closeScreenZap(   R   t   x(    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.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   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(   NRO   s
   Zap + ExitRQ   s   IMDb SearchR   s   Cool Info GuideRP   R   R   s
   EPG Select(   R   R{   t   Cool_RedLongR}   R   R   R   R   Ry   R   R   R9   R   R   (   R   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.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   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(   NRO   s
   Zap + ExitRQ   s   IMDb SearchR   s   Cool Info GuideRP   R   R   s
   EPG Select(   R   R   R   R   R   Ry   R   R   R9   R   R   (   R   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR0      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   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(   NRO   s
   Zap + ExitRQ   s   IMDb SearchR   s   Cool Info GuideRP   R   R   s
   EPG Select(   R   R{   t   Cool_GreenLongR}   R   R   R   R   Ry   R   R   R9   R   R   (   R   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR1      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   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(   NRO   s
   Zap + ExitRQ   s   IMDb SearchR   s   Cool Info GuideRP   R   R   s
   EPG Select(   R   R   R   R   R   Ry   R   R   R9   R   R   Rq   (   R   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR2     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   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(   NRO   s
   Zap + ExitRQ   s   IMDb SearchR   s   Cool Info GuideRP   R   R   s
   EPG Select(   R   R{   t   Cool_YellowLongR}   R   R   R   R   Ry   R   R   R9   R   R   (   R   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR3   /  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   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(   NRO   s
   Zap + ExitRQ   s   IMDb SearchR   s   Cool Info GuideRP   R   R   s
   EPG Select(   R   R   R   R   R   Ry   R   R   R9   R   R   (   R   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR4   H  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   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(   NRO   s
   Zap + ExitRQ   s   IMDb SearchR   s   Cool Info GuideRP   R   R   s
   EPG Select(   R   R{   t   Cool_BlueLongR}   R   R   R   R   Ry   R   R   R9   R   R   (   R   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR5   a  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   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(   NRO   s
   Zap + ExitRQ   s   IMDb SearchR   s   Cool Info GuideRP   R   R   s
   EPG Select(   R   R{   t   Cool_OKR}   R   R   R   R   Ry   R   R   R9   R   (   R   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR6   z  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   n | d j o |  i	   nq | d j o |  i
   nV | d j o |  i   n; | d	 j o |  i   n  | d
 j o |  i   n d  Sd  S(   NRO   s
   Zap + ExitRQ   s   IMDb SearchR   s   Cool Info GuideRP   R   R   s
   EPG Select(   R   R{   t   Cool_OKLongR}   R   R   R   R   Ry   R   R   R9   R   (   R   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR7     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   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR8     s    c         C   s   |  i    |  i   d  S(   N(   RD   R   (   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyRu     s    
c         C   s   |  i    |  i   d  S(   N(   RE   R   (   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyRv     s    
c         C   s/   |  i  o! |  i  d |   |  i i   n d  S(   Ni   (   R]   R[   t   moveDown(   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyRD     s    
c         C   s/   |  i  o! |  i  d |   |  i i   n d  S(   Ni(   R]   R[   t   moveUp(   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyRE     s    
c         C   s$   d d k  l } |  i i |  d  S(   Ni(   t   SleepTimerEdit(   t   Screens.SleepTimerEditR   R   RW   (   R   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyRs     s    c         C   s  d d k  l } t i   |  _ |  i   t   } t    } t } t i	 i
 i ox |  i i i i D] } | i } | i } | | | d } y" |  i i | i i | i  }	 Wn" |  i i | i i |  }	 n X|	 oo |	 i   }
 |
 |	 i   } |
 | j  p | | j o5 |	 i   d j o | | j o | i |  qGqKqd qd Wn t i	 i i oB x? |  i i i i D]' } | | i j  o | i |  qvqvWn t d  } x | D] } t | i  } t | d t | i    } t | i i     } | i! o t d  n
 t d  } | | d	 | d
 | d | d 7} qW| t d  7} | o |  i i" t# | t# i$  n |  i%   d  S(   Ni(   t   strftimei   i,  s$   
          !! Cool Timer Alarm !! 

s   %d.%m.%Y - %H:%Ms   is disableds	   has moveds    - s   
t    s   

s   -- please check your Timer --(&   R   R   R   t   getInstancet   epgcacheR   t   setR`   R   R{   t
   TimerAlarmR}   R   Ro   Rp   t
   timer_listt   begint   endt   lookupEventIdt   service_reft   reft   eitt   lookupEventTimet   getBeginTimet   getDurationt   addt   TimerAlarmDisablet   processed_timersR    RS   t   nameR   t   getServiceNamet   disabledRW   R   t
   TYPE_ERRORR   (   R   R   R   R   t   tnameR   t   begR   t   mittet   eventt   evtbegint   evtendt   msgt   ttimet   tchannelt   ttype(    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyRt     sN    
		 		" !  #*c         C   s#   t  t i i _ |  i |  i  d  S(   N(   R`   R   R{   t	   ScreenZapR}   RZ   Ra   (   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR     s    c         C   s2   t  i i i o |  i |  i  n |  i   d  S(   N(   R   R{   R   R}   RZ   Ra   Rz   (   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR     s    c         C   sS   |  i  oE | d j o |  i  i   n |  i  i   | i |  i  i    n d  S(   Ni    (   t
   serviceSelRD   RE   t
   setServiceRi   (   R   t	   directiont   epg(    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyt   changeServiceCB  s
    
c   
      C   s   t  t i i _ d d k l } d d k l } |  i } |  d i	   } | d } | d } | p d  St
 t |   } | ov | i   } t |  }	 | |	  |  _ |  i i |  o8 |  i i |  i | | | d  | | |  i d |  i q n d  S(   Ni(   t   CoolInfoGuide(   t   SimpleServicelistR,   i   i    R]   (   R`   R   R{   t   SinfoR}   R   t   Screens.InfoBarGenericsR   R[   t
   getCurrentR
   RS   t   getRoott   getBouquetServicesR   t   selectServiceR   t   openWithCallbackt
   InfoClosedRb   t   eventViewCallbackR   (
   R   R   R   R   t   curR   R   R   t   current_pathRk   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR     s     	

 c         C   s   |  i  i   } t i i i o@ | a |  i   t |  i	 |  i   |  i
   t t i i _ n |  d } |  i } | i |  | i |  d d  k } | i | i  d  S(   NR,   i(   R[   t   getCurrentSelectionR   R{   R   R}   R   R   t   CSGmainR   R   R`   Ri   t   fillSingleGuidet   moveToServiceR   t   moveToEventIdt   coolEID(   R   t   retR   t   lR   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR     s    


	c         C   s   | |  _  |  i   d  S(   N(   Rk   R   (   R   Rk   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyt   setServices(  s    	c         C   s   | |  _  |  i   d  S(   N(   Ri   R   (   R   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR   ,  s    	c         C   sq   |  d } |  i  } |  i d  j o |  i i   |  _ n |  i d | i   } |  i i |  | i |  d  S(   NR,   s    - (   Ri   Rc   Rb   t   instancet   getTitleR   t   setTitleR   (   R   R   R   t   title(    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR   0  s    
	c         C   sy   |  d } | i    } | d j o |  i   n | d 
j o |  i   n | i    } | | d  | | d  d  S(   NR,   ii   i    (   R   R   R   (   R   t   setEventR   t   valR   t   oldR   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR   9  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(   NR,   i   (   t   TrueR   R{   R   R}   R[   R   R   R   R   R   R   (   R   R   R   t
   servicereft   refstr(    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR   D  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(   NR,   i   (   R   R   R{   R   R}   R[   R   R   R   R   R   R   R   (   R   R   R   R   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR   S  s    
	c         C   sH   |  i  d j o d |  _  n
 d |  _  |  d i |  i   |  i   d  S(   Ni    i   R,   (   Rj   t   sortSingleGuideR   (   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyRq   c  s
    	c         C   sZ   |  i  d j oF |  i d j o |  d i t d   qV |  d i t d   n d  S(   Ns   Sort A-Zi   R'   s	   Sort Time(   R   Rj   R   R    (   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR   k  s    c         C   s   |  d i    d  S(   NR,   (   R   (   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR   r  s    c         C   s   |  d i    d  S(   NR,   (   R   (   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR   u  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(   RQ   R,   i    R$   (   RQ   R   t   getEventNameR   RW   R`   (   R   RQ   R   R   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR   x  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   IMDBEPGSelectionR,   i    (
   t   Plugins.Extensions.IMDb.pluginR   R   t   ImportErrorRb   R   R   R   RW   R`   (   R   R   R   R   R   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR     s    
 c         C   s   |  d i    } | d } | p d  S| d } yv d d k l } |  i i |  i t 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(   NR,   i    i   i(   t   addAutotimerFromEventR   s      check Autotimer ?t   Yest   Not   evtR   sM   No AutoTimer seems to be installed. Please install it for this functionality.(   R   t,   Plugins.Extensions.AutoTimer.AutoTimerEditorR  R   R   t   CoolAutoTimerSafeR   R    RW   R   R   (   R   R   R   R   R  (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.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(   NR,   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   RW   R   R    R   (   R   t   answerR   R   R   t   AutoTimerSafe(    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR    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(   NR,   i   i    i(   t   RecordTimerEntryt
   parseEvent(   t   TimerSanityConflictt   checkOldTimers(   R   t
   getEventIdR   t   toStringR   Ro   Rp   R   R   R   t   removeEntryR   t
   invalidateR  R  t   Screens.TimerEditR  R   t   NavigationInstanceR   t   recordRb   t   setAutoincreaseEndt   timeChangedR   t   finishSanityCorrectionRn   (   R   R   R   R   R   R   R+   R  R  R  t   newEntryR  t	   conflictsR   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR9     s8    

  )	 !c      
   C   sH  |  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 t d t d d  | i   d t d  d f t d	  d
 f g Pq^ q^ Wd d k l } l } d d k l }	 | | d t | |  }
 |  i i
 |  i |	 |
  d  S(   NR,   i   i    R   s   Cool Timer Edit :s   

%ss   edit this Timer ?t   edits   delete this Timer ?t   deletei(   R  R  (   t
   TimerEntryR  (   R   R  R   R  R   Ro   Rp   R   R   R   R   t   CoolTimerEditR   R    R   R  R  t   Screens.TimerEntryR  R   t   finishedAdd(   R   R   R   R   R   R   R+   R  R  R  R  (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR     s     

  )T	c         C   s$   d d k  l } |  i i |  d  S(   Ni(   t   TimerEditList(   R  R#  R   RW   (   R   R#  (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyRr     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  R,   i   i    R  R  (   R!  R  R   R  R   R  R   Ro   Rp   R   R   R   R  Rn   RW   (	   R   R  R  R   R   R   R   R   R+   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR     s(    

  )
	)c         C   s  | d o| 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|  i d j o' |  d
 i t d   |  i |  _ qn |  i d j o' |  d i t d   |  i |  _ 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  RP   R&   t	   TimerEditR%   R'   R(   (   R   Ro   Rp   R  Rb   R  R  R  R  R   R  R   R   R    t   REMOVE_TIMERRf   R~   Re   R   Rg   R   Rh   t	   ADD_TIMER(   R   R  t   entryt   simulTimerListR   R  (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR"    sH    
 !c         C   s   |  i  |  d  S(   N(   R"  (   R   R  (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.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 |  _ n |  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 |  _ q8|  i d j o' |  d i t d   |  i |  _ q8|  i d j o' |  d i t d   |  i |  _ q8|  i d j o' |  d i t d   |  i |  _ q8n | p |  i d j o' |  d i t d   |  i |  _ q8|  i d j o' |  d i t d   |  i |  _ q8|  i d j o' |  d i t d   |  i |  _ q8|  i d j o' |  d i t d   |  i |  _ q8n d  S(   NR,   i    R	   R$   i   s	   %s %d.%d.i   i   t   TodayR)   R#   RP   R&   R%   R'   R(   R$  (    R   t   newEventRb   R   R   R   R^   R    R   t
   newServiceR   R   Rd   Rf   R~   Re   R   Rg   R   Rh   R  R  R`   R   Ro   Rp   R   R   R   R   R%  R&  (   R   R   R   t   datestrR   R   t   nowTimet   begTimeR   R   R   t   isRecordEventR+   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyRn     s    
	*%
 )	N(8   t   __name__t
   __module__Rd   R&  R%  t   ZAPRb   RR   R   Ry   Rx   Rz   R.   R/   R0   R1   R2   R3   R4   R5   R6   R7   R8   Ru   Rv   RD   RE   Rs   Rt   R   R   R   R   R`   R   R   R   R   R   R   R   Rq   R   R   R   R   R   R   R  R9   R   Rr   R   R"  R  Rn   (    (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR   ,   sh   h																						)																							&	Rm   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  |  _ t d d d f  |  _ |  i i d
 |  i  |  i i d |  i  |  i i |  i  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;22i   i    i   iF   i   i2   i f iɘ; i i``` i i (   i   i   (   i   i   (   i   i   (   i   i   ("   R    R^   R+   t   onSelChangedRb   R   R   RR   R   R   t   serviceHandlerR   R   R   t   CoolFontt   CoolEventFontt   setFontt   setBuildFunct   buildSingleGuideEntryt
   CoolDayPost   CoolTimePost   CoolEventPost   CoolDaySizet   CoolTimeSizet   CoolDayColort   CoolTimeColort   CoolEventColort   CoolBackColort   CoolBackColorSelt   CoolTunerColt   CoolRecPreColort   CoolRecColorR   R   (   R   R*   R+   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyRR   c  s6    H															c         C   s  g  } |  i  d  j	 ox||  i  D]m\ } } | d j o2 t | d d f  |  _ |  i i d |  i  q  | 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 |  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(   NR5  i   i    R6  i   R:  R;  R<  R=  R>  R?  R@  RA  RB  RC  RD  RE  RF  (   i   i   (   i   i   (   i   i   (   i   i   (   t   skinAttributesRb   R   R5  R   R7  R6  t   intR:  R;  R<  R=  R>  R   t   argbR?  R@  RA  RB  RC  RD  RE  RF  R   R   t	   applySkin(   R   t   desktopt   parentt   attribst   attribR}   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyRJ    sN    
 	c         C   sC   d  } |  i d  j	 o) | d  j	 o |  i i | i |  } n | S(   N(   Rb   R   R   R   (   R   R   R   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyt   getEventFromId  s    c         C   sa   d } |  i  i   } | d  j o d S| | d } t | |  } |  i | |  } | | f S(   Ni    i   (   NN(   R   R   Rb   R   RO  (   R   t   idxt   tmpR   R   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR     s    c         C   s   |  i  i |  i  i  d  S(   N(   R   t   moveSelectionR   (   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR     s    c         C   s   |  i  i |  i  i  d  S(   N(   R   RR  R   (   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR     s    c         C   s0   x) |  i  D] } | d  j	 o |   q
 q
 Wd  S(   N(   R3  Rb   (   R   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyt   selectionChanged  s    
 c         C   s:   | i  t  | i i   i |  i  | i |  i  d  S(   N(   t   setWrapAroundR   RS  t   getR   t
   setContentR   (   R   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyt   postWidgetCreate  s    c         C   s*   | i  i   i |  i   | i d   d  S(   N(   RS  RU  t   removeRV  Rb   (   R   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyt   preWidgetRemove  s    c   
      C   s+  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 WxF |  i  i D]8 } | i i i   | j o | i | j o d Sq q Wd  S(   Ni   t   recordxR  (	   R+   R   R   R   R  R   R   R   R   (
   R   R   t	   beginTimet   durationt   eventIdR   t   endTimeR   R   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyt
   CoolRecRed  s(     
		 c         C   s0   |  i  i |  } | o | i | |  p t S(   N(   R4  t   infot
   isPlayableR`   (   R   t	   refToPlayt
   refPlayingR`  (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyt   isServiceAvailable  s    c         C   s  t  i i   i   } |  i t |  t |   } |  i | | | |  } t |  }	 | d j o |  i }
 } } nZ | d j o |  i	 }
 } } n8 | p |  i
 }
 } } n |  i }
 |  i } |  i } d  t i |  i d |  i d d t |  i |	 d |
 |
 |  i |  i f g } | i t d |  i d f d d d	 d
 d | d | d | d |  i   | i t d |  i d f d |  i d f d	 d d d |	 d |	 d f d | d | d |  i d |  i d d d |  i  
 | S(   NR  RZ  i    i   i   t   posRT   i  t   fonti   t   textt   colort	   color_selt   backcolor_sels	   %02d:%02di   i   t	   backcolort   border_widtht   border_color(   i  i   (   R  R   t#   getCurrentlyPlayingServiceReferenceR  Rd  R
   R_  R   RF  RE  RD  R?  RA  R@  Rb   R   t	   TYPE_TEXTR:  R=  R   R^   RB  RC  R   R   R<  R;  R>  (   R   R   R]  R[  R\  t	   EventNamet   curservicerefstrt	   FreeTunert   cooltypt   tt   FTDCt   FTECt   FTTCt   res(    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR9    s"    			JFyc         C   sI   |  i  d  j	 o5 | d  j	 o |  i  i | |  S|  i  i |  Sn g  S(   N(   R   Rb   t   lookupEvent(   R   R,   t	   buildFunc(    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyt   queryEPG  s
    c         C   sT   d | i  i   d d d f g } |  i |  |  _ |  i i |  i  |  i   d  S(   Nt   RIBDTi    i(   R   R  R{  R,   R   t   setListRS  (   R   R   t   test(    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR     s    !c         C   su   |  i  } | oa |  i   } | d j o | i d d    n | i d d    |  i i   |  i |  n d  S(   Ni   t   keyc         S   s#   |  d  o |  d  i    |  d f S(   i   i   (   t   lower(   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyt   <lambda>#  s    c         S   s   |  d  S(   i   (    (   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR  &  s    (   R,   t   getSelectedEventIdt   sortR   R  R   (   R   t   typeR,   t   event_id(    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR     s    	c         C   s   |  i  i   } | o | d S(   Ni   (   R   R   (   R   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.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   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR   .  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   R]  R  R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR   9  s    
 N(   R0  R1  Rb   RR   RJ  RO  R   R   R   RS  R   t
   GUI_WIDGETRW  RY  R_  Rd  R9  R{  R   R   R  R   R   (    (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyRm   b  s&   &	-		
												c         C   sS   |  i  oE | d j o |  i  i   n |  i  i   | i |  i  i    n d  S(   Ni    (   R   RD   RE   R   Ri   (   R   R   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR   C  s
    
c      	   C   s   d d k  l } |  i i i   } | ov t i   } |  i |  } | |  |  _ | a	 t
 } |  i i |  o) |  i i t t | d |  i d t q n d  S(   Ni(   R   R]   R   (   R   R   R   Ro   Rn  R   R   R   R   R   R   R   R   t   CoolSingleGuideClosedR   R   (   R   R   R   R   Rk   t	   SingleZap(    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyt   openCoolSingleGuideK  s    c         C   s   t  o t i t  n d  S(   N(   R  R   R   R   (   R   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR  X  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,   Rb   R   t   getNextt   validt   flagsR
   t   isDirectoryt   isMarkerR   R   (   t   bouquetRk   R[   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR   \  s     c         C   s   | d  j oU d d k l } | o | i o | i i } qb |  i t t d  t i  d  Sn | a	 d d k l } | o | i o t
 | i  n d  S(   Ni(   R   s    No function with your Image(   Rb   t   Screens.InfoBarR   R   R[   RW   R   R    R   R   R  (   R   R[   R   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR   i  s    c         K   s   t    i t    i f d j o |  i t t t i  n | d  j oU d d k l	 } | o | i
 o | i
 i } q |  i t t d  t i  d  Sn | a d d k l	 } | o | i
 o t | i
  n d  S(   Ni  i   i(   R   s    No function with your Image(   i  i   (   R   R   R   RW   R   t   CoolTVGuideProt	   TYPE_INFORb   R  R   R   R[   R    R   R   R  (   R   R[   t   kwargsR   (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyR   w  s    (:   RR   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   enigmaR
   R   R   R   R   R   R   t   Screens.ChoiceBoxR   R  R   t   Screens.MessageBoxR   t   Screens.ScreenR   R   RY   R   R   R   R   t   Tools.DirectoriesR   Rb   R  R`   t   mepg_config_initializedR  R   Rm   R   R  R  R   R   R   (    (    (    sI   /usr/lib/enigma2/python/Plugins/Extensions/CoolTVGuide/CoolSingleGuide.pyt   <module>   sB   4
   9			