
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
ßœ¿j~  ã               @   sD   d dl Z d dlZdd„ Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ ZdS )é    Nc             C   s   | d dkr|dkrdS dS )Nr   ú"é   © )ÚlineÚisquotfr   r   ú-/usr/share/lve/modlscapi/user/exec_command.pyÚ
first_quot   s    r   c             C   s$   | t | ƒd  dkr |dkr dS dS )Nr   r   r   )Úlen)r   r   r   r   r   Ú	last_quot   s    r
   c             C   s¤   | j dƒ} d}d}g }x€tt| ƒƒD ]p}| | dkr$t| | |ƒdkrTd}| | }q$t| | |ƒdkr†d}|d| |  7 }|j|ƒ q$|j| | ƒ q$W t|ƒ d S )Nú r   Ú r   )ÚsplitÚranger	   r   r
   ÚappendÚprint)ÚcommandZisquotÚresÚresultÚir   r   r   Úparse_command   s"    

r   c             C   sŠ   g }yNt j| dt jt jd�}x2|jjƒ }|s.P |jƒ dkr|j|jƒ jƒ ƒ qW W n2 tk
r„ } zt	dt
|ƒ ƒ W Y d d }~X nX |S )NT)ÚshellÚstdoutÚstderrr   zCall process error: )Ú
subprocessÚPopenÚPIPEr   ÚreadlineÚstripr   ÚdecodeÚ	Exceptionr   Ústr)r   r   ÚpÚoutputÚinstr   r   r   Úexec_command'   s    
"r$   c             C   s
   t j| ƒS )z¤
    Run command via os.system and return its exit status

    :param command: Command to execute in a subshell
    :return: Exit status of the command process
    )ÚosÚsystem)r   r   r   r   Úexec_command_out6   s    r'   c             C   s&   t | ƒ}x|D ]}||kr|S qW dS )Nr   éÿÿÿÿ)r$   )r   Z	substringr   r   r   r   r   Úexec_command_find_substring@   s
    
r)   )r%   r   r   r
   r   r$   r'   r)   r   r   r   r   Ú<module>   s   
