
    f                     <    d dl Z d dlZd dlZd dlmZ  G d d      Zy)    N)datetimec                   $    e Zd Zd Zd Z	 	 ddZy)Runerc                 N    || _         | j                   j                  d   | _        y )Nlog)edirslogdir)selferimps     !/home/ernad/ernad/python/runer.py__init__zRuner.__init__
   s     ffkk%(    c                 &   | j                   dz   |z   dz   }t        j                  |       t        |d      }| j                   dz   |z   dz   }t        |d      }t	        j
                  |dd||       |j                          |j                          y )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_files          r   r   z	Runer.run   s    ;;$v-6h#&;;$v-6#&wt4&	(r   c                     | j                   dz   |z   dz   }t        j                  |       d}t        j                         j                  |      }t        j                  j                  |      r|ry t        j                  j                  |      s4t        |d      }|j                  d|z   dz          |j                          nt        j                  |      }	|	|k  r4t        |d      }|j                  d|z   dz          |j                          y	| j                   dz   |z   d
z   }
t        |d      }|j                         }|j                          t        |
d      }|j                  d       |j                  |       |j                  d       |j                          	 t        j                  |       | j!                  ||       	 t        j                  |       y# t        $ r Y 4w xY w# t        $ r Y yw xY w)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removeOSErrorr   )r   r   r   timeoutdo_skip	lock_fufipretty_format
pretty_now	lock_filelock_ager"   lock_stringr#   s                r   run_with_lockzRuner.run_with_lock   s   KK#%.8	i 0\\^,,];
77>>)$ww~~i(Y,IOOK*4t;<OOyy+H'! C0	
Z 7$ >?!;;,v5> C0	'nn.!#.45{+/0 IIi( 	&!	IIi    
  		s$   $G" G1 "	G.-G.1	G=<G=N)iQ F)__name__
__module____qualname__r   r   r:    r   r   r   r      s    
	 6;#'r   r   )r*   r   r   r   r   r>   r   r   <module>r?      s    	   9 9r   