o
    'a/                     @   s   d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ G dd dZdS )    N)Abovo)Folder)Otria)Rexer)Rixer)Riffer)Recon)Report)Transc                   @   sx   e Zd ZdddZdd Zdd Zdd	 Zd
d ZdddZdd Z	dd Z
dd Zdd Zdd Zdd Zdd ZdS )ErimpFc                 C   s   || _ d | _t| d}|| _| | || _|   d | _d | _|j	| _	|j
| _
|   |   |   |   | | | | |   |   d S )Ne)bipas
given_fufir   abovo	use_abovo
do_verbosefill_for_impnagiven_repcodegiven_issuedatensextfirst_helpers	read_conffill_reconsfill_issuedateshint_repcodehint_issuedatesecond_helpersfill_learist)selfr   r   r    r!   !/home/ernad/ernad/python/erimp.py__init__   s(   



zErimp.__init__c                 C   s   | j d d d }tj|std| t| }i }|D ]!}| jj	d 
|}|d}|d u r5q t|d}|||< q || _|S )Nstyle/zconf.xslt.xmlzI don't see 	conf_line      )dirsospathisfile	Exceptionfilersread
splitlinesRrsmatchgroupstringsde_xmlconf)r    fufi
conf_linesclinematcheskeyvaluer!   r!   r"   r   -   s   

zErimp.read_confc                 C   s`   | j }i | _| j j| jd< |jd D ]}|jd | | j|< q|j|| d| _|j| _|| _ d S )Nhometopr   )r   r)   home_dirguess_impnaimpnar   )r    r   r   topdirr!   r!   r"   r   >   s   
zErimp.use_abovoc                 C   s6   t | | _t| | _t| | _t| | _t| | _	d S N)
r   dr   fr   r1   r
   tr   xr    r!   r!   r"   r   K   s
   



zErimp.first_helpersc                 C   s   t | | _d S rE   )r   orJ   r!   r!   r"   r   R   s   zErimp.second_helpersNc                 C   s   t | ds	td| j}|jd D ]}| j| d | j | j|< q| D ]*}|dkr/td|j| D ]}| jj|d |  }| j| d | }|| j|< q4q%| jj| d d S )	NrC   zI need an impna.resignr%   blablattdir_r   )hasattrr-   r   r)   rC   forked_dirnas	constantsset_blatt_dirs)r    rC   	do_creater   dirnakindr>   fudir!   r!   r"   r   U   s   
zErimp.fill_for_impnac                 C   s   t | }|d}|d}|| _i | _i | _i | _i | _|D ] }|| | j|< ||v r2d | j|< nd | j|< t| || j|< qd S )N	availableenabled)r   fillreconslivedeadreportsreportr	   )r    reconrecons_availablerecons_enabledrepcoder!   r!   r"   r   i   s   


zErimp.fill_reconsc                 C   s2   t | j| jd }|  |d | _|| _d S )Nissuesr   )sortedrF   datesr)   reversemax_issuedate
issuedates)r    ri   r!   r!   r"   r   }   s   

zErimp.fill_issuedatesc                 C   s*   | j jD ]}| jd d | | j|< qd S )Nlearnr%   )r   learistsr)   )r    learistr!   r!   r"   r      s   zErimp.fill_learistc                 C   s   | j | jd | _d S )Nrd   )rF   dates_uniquer)   rd   rJ   r!   r!   r"   fill_issues   s   zErimp.fill_issuesc                 C   sd   |D ]}| j D ]}||v r|| _|    S qqt d}|D ]}|| j v r/|| _|  S q!d S )Nr%   )r[   r   r*   getcwdsplit)r    r   biparc   r)   folderr!   r!   r"   r      s   

zErimp.hint_repcodec                 C   s4   | j D ]}|D ]}||v r|| _|    S qqd S rE   )ri   r   )r    r   	issuedaterq   r!   r!   r"   r      s   
zErimp.hint_issuedatec                 C   s   d}t j|r
dS dS )Nz/etc/wpa_supplicant.confTF)r*   r+   r,   )r    	test_fufir!   r!   r"   
is_testing   s   zErimp.is_testing)F)NF)__name__
__module____qualname__r#   r   r   r   r   r   r   r   r   rn   r   r   ru   r!   r!   r!   r"   r      s    

r   )r*   r5   r.   r   r   rr   r   otriar   rexerr   rixerr   rifferr   r`   r   r_   r	   transr
   r   r!   r!   r!   r"   <module>   s    