o
    `                     @   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|r!|r!d S tj|s:t	|d}|
d| d  |  nPt|}	|	|k rWt	|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   timeout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   r3   r
   r
   r
   r   r      s    r   )r&   r   r   r   r   r
   r
   r
   r   <module>   s
    