
    :e                         d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZmZmZmZmZmZ  G d	 d
e          ZdS )    )Screen)Console)
MessageBox)	ActionMap)Label)Button)MenuList)listdirmkdirpathaccessX_OKchmodc                   0    e Zd ZdZd Zd Zd Zd Zd ZdS )ScriptRunnera  <screen name="ScriptRunner" position="center,center" size="560,400" title="Script Runner" flags="wfBorder" resolution="1280,720">
		<ePixmap pixmap="skin_default/buttons/red.png" position="0,0" size="140,40" alphatest="on" />
		<ePixmap pixmap="skin_default/buttons/green.png" position="140,0" size="140,40" alphatest="on" />
		<widget name="key_red" position="0,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
		<widget name="key_green" position="140,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
		<widget name="lab1" position="0,50" size="560,50" font="Regular; 20" zPosition="2" transparent="0" halign="center"/>
		<widget name="list" position="10,105" size="540,300" scrollbarMode="showOnDemand" />
		<applet type="onLayoutFinish">
			self["list"].instance.setItemHeight(25)
		</applet>
	</screen>c                    t          j        | |           |                     t          d                     t	                      | d<   g | _        |                                  t          | j                  | d<   t          g d| j	        | j	        | j
        | j
        dd          | d<   t          t          d                    | d	<   t          t          d
                    | d<   d S )NzScript Managerlab1list)ColorActionsOkCancelActionsDirectionActions)cancelredgreenok	myactionsClosekey_redRun	key_green)r   __init__setTitle_r   r   populate_Listr	   r   close	runscriptr   )selfsessions     //usr/lib/enigma2/python/Screens/ScriptRunner.pyr"   zScriptRunner.__init__   s    /$   --"##$$$$v,$)$)$$$v, W W Wj:^
.	 
 	
 
${ 1W::&&$y/QuXX&&${    c                    t          j        d          st          dd           | d                             t	          d                     | j        d d = t          d          }|D ]Q}|                                }|d         }|                    d          dk    r| j        	                    |           R| j        
                                 d S )Nz/usr/script2  r   zSelect a script to run:r   z.sh)r   existsr   setTextr$   r   r
   splitfindappendsort)r(   flinepartspkgs        r*   r%   zScriptRunner.populate_List*   s    	^	$	$  v,q233444
iln!  d::<<5	q3	hhuooIS)..r+   c                    | d                                          | _        | j        rdt          d          }| j                            | j        t          |t          j                  }|                    t          d                     d S | j        	                    t          t          d          t          j
        d           d S )Nr   z!Are you ready to run the script ?zRun ConfirmationzYou have no script to run.
   )timeout)
getCurrentselr$   r)   openWithCallbackr    r   
TYPE_YESNOr#   open	TYPE_INFO)r(   messageyboxs      r*   r'   zScriptRunner.runscript7   s    &\$$&&$(	X d2337
,
'
'*gzG\
]
]4==%&&'''''<Z#?!@!@*BV`bcccccr+   c                     |du rjt          d| j        z   t                    st          d| j        z   d           d| j        z   }| j                            t          | j        |gd           d S d S )NTz/usr/script2/r-   z. /usr/script2/F)titlecmdlistcloseOnSuccess)r   r<   r   r   r)   r?   r   )r(   answercmd1s      r*   r    zScriptRunner.Run@   sw    t^^
48+T
2
2 -	/DH
$e,,,
dh
&4<WDHtfUSSSSS	 ^r+   c                 .    |                                   d S )N)r&   )r(   s    r*   myclosezScriptRunner.mycloseG   s    **,,,,,r+   N)	__name__
__module____qualname__skinr"   r%   r'   r    rJ    r+   r*   r   r      sl        
	' ' '$  d d dT T T    r+   r   N)Screens.Screenr   Screens.Consoler   Screens.MessageBoxr   Components.ActionMapr   Components.Labelr   Components.Buttonr   Components.MenuListr	   osr
   r   r   r   r   r   r   rO   r+   r*   <module>rX      s    ! ! ! ! ! ! # # # # # # ) ) ) ) ) ) * * * * * * " " " " " " $ $ $ $ $ $ ( ( ( ( ( ( 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8= = = = =6 = = = = =r+   