3
NZ	                 @   sh   d dl Z d dlZ d dlZd dlZddlmZ ejdejjejjZ	dd Z
dd Zd	d
 ZdddZdS )    N   )logger c             C   s$   | rt j| S tjd|   dS d S )NzCommand not found 
   )ossystemlogerror)cmd r   !/usr/share/hplip/base/os_utils.pyexecute!   s    
r   c             C   s   t jj| sdS t jj| S )Nr   )r   pathexistsgetsize)filenamer   r   r   getFileSize,   s    r   c              C   s   t jjd} t jj| d}d}t jj|sy>t jd t j| }t j|d t j||tj	 |tj
  W n& tk
r   d}tjd|  Y nX ||fS )N~z.hplipr   i  r   zFailed to create %s)r   r   
expanduserjoinr   umaskstatmkdirchownST_UIDST_GIDOSErrorr   r	   )ZhomedirZhplipdirstatussr   r   r   getHPLIPDir2   s    

r    Fc       
      C   s   d}y~|rrxtt j| D ]V\}}}x$|D ]}t jt jj|||| q&W x$|D ]}	t jt jj||	|| qLW qW nt j| || W n& tk
r   d}tjd|   Y nX |S )Nr   r   z Failed to change ownership of %s)r   walkr   r   r   r   r   r	   )
r   usergroupZ	Recursiver   rootdirsfilesZdrZflr   r   r   changeOwner@   s    

"r'   )F)r   os.pathZlocaler   r   r   ZLoggerZLOG_LEVEL_INFOZLOG_TO_CONSOLEr   r   r   r    r'   r   r   r   r   <module>   s   