a
    U8ê`¨  ã                   @   s*   d dl Z d dlZd dlZG dd„ dƒZdS )é    Nc                   @   sL   e Zd ZdZdd„ Zdd„ Zddd„Zdd
d„Zdd„ Zdd„ Z	dd„ Z
d	S )ÚReportzbasic functions for a reportc                 C   s   || _ || _|  ¡  d S ©N)ÚeÚrepcodeÚset_dirs)ÚselfÚerimpr   © r	   ú"/home/ernad/ernad/python/report.pyÚ__init__   s    zReport.__init__c                 C   s„   | j jd d | j | _i | _i | _| j jjD ],}| jd | | j|< | jd | | j|< q.| j jjD ]}| jd | | j|< qfd S )NÚreportsú/z/opt/learn/)r   Údirsr   ÚfudiÚstageÚabovoÚlearests)r   Zgiven_stageZlearestr	   r	   r
   r      s    zReport.set_dirsé   c                 C   sö   | j }|jd|… }| j}|j | j| ¡}|j | j| ¡}t|ƒdkrNg S i }	|D ]š}
|
|vrdqV||
 }|j 	|¡}|
|vr¢t
d|› d|
› d|› tjd qV||
 }|j 	|¡}|| }|dk rèt
|› d|
› d|› tjd d }||	|
< qV|	S )Nr   zno earlier for ú z in )Úfilez, z: negative delay )r   Ú
issuedatesr   ÚdÚlastsr   ÚfirstsÚlenÚfÚtistÚprintÚsysÚstderr)r   ZearlierZlaterÚspanr   Zrecent_issuedatesr   Zlater_datesZearlier_datesÚdelaysÚ	issuedateZ
later_fufiZ
later_tistZearlier_fufiZearlier_tistÚdelayr	   r	   r
   r!   %   s8    ÿÿ
zReport.delaysNc                 C   sd   | j | }|d }|dur&|d | }tj |¡s6dS t |¡}t|ƒdkrPdS t|tjjd}|S )zalso fills the model timez/*Nr   r   )Úkey)r   ÚosÚpathÚisdirÚglobr   ÚmaxÚgetmtime)r   ÚwhatÚkindZwhat_dirÚglob_stringZlist_of_fufisZ	last_fufir	   r	   r
   ÚlastA   s    

zReport.lastc                 C   sB   | j }|  d¡}|j |¡}|  d¡}|j |¡}||kr>dS dS )NÚselectedÚsentTF)r   r.   r   r"   )r   r   Zlast_selectedZlast_selected_issuedateÚ	last_sentÚlast_sent_issuedater	   r	   r
   Úhas_it_labourO   s    

zReport.has_it_labourc                 C   s
   | j }d S r   )r   )r   r   r	   r	   r
   ÚlafiseY   s    zReport.lafisec                 C   s²   | j }d|jvrdS |j | jd ¡}|j | jd ¡}|du sLt|ƒdkrPdS t|ƒdkr`dS d}|j | jd ¡}t|ƒt|jd ƒk rd}|t|jd ƒkr®d| }|S dS )z0: not, 1: laya, 2: camilaZbremser   ÚsourceNé   r0   )r   Úconfr   Údatesr   r   Úcount_gap_issuesÚint)r   r   Zsource_dafuZ	sent_dafuZ
has_camilar9   Úbremse_levelr	   r	   r
   r;   \   s"    
zReport.bremse_level)r   )N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r!   r.   r3   r4   r;   r	   r	   r	   r
   r      s   


r   )r   r%   r(   r   r	   r	   r	   r
   Ú<module>   s   