a
    `                     @   s6   d dl Z d dlZd dlZd dlmZ G dd dZdS )    N)datetimec                   @   s&   e Zd Zdd Zdd Zd
ddZd	S )Runerc                 C   s   || _ | j jd | _d S )Nlog)edirslogdir)selferimp r
   !/home/ernad/ernad/python/runer.py__init__
   s    zRuner.__init__c                 C   sj   | j d | d }t| t|d}| j d | d }t|d}tj|dd||d |  |  d S )N/z.outw.errT)shellcheckstderrstdout)r   filerprepareopen
subprocessrunclose)r   commandloggerout_fufiout_fileerr_fufierr_filer
   r
   r   r      s    


z	Runer.runQ Fc                 C   s.  | j d | d }t| d}t |}tj|rB|rBd S tj|stt	|d}|
d| d  |  nt|}	|	|k rt	|d}|
d| d  |  d	S | j d | d
 }
t	|d}| }|  t	|
d}|
d |
| |
d |  t| | || t| dS )Nr   z.locku   %Y‒%m‒%d %H:%M:%SZr   z	start at 
azseen at Fr   rzI removed a lock:
zEnd of lock.
T)r   r   r   r   nowstrftimeospathisfiler   writer   agereadremover   )r   r   r   timeoutZdo_skip	lock_fufipretty_formatZ
pretty_now	lock_filelock_ager   Zlock_stringr   r
   r
   r   run_with_lock   s:    











zRuner.run_with_lockN)r    F)__name__
__module____qualname__r   r   r2   r
   r
   r
   r   r      s
     r   )r&   r   r   r   r   r
   r
   r
   r   <module>   s   