o
    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|< q3d 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r'g S i }	|D ]M}
|
|vr2q+||
 }|j	|}|
|vrQt
d| d|
 d| tjd q+||
 }|j	|}|| }|dk rtt
| d|
 d| tjd d }||	|
< q+|	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|sdS t|}t|dkr(d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 s&t|dkr(dS t|dkr0dS d}|j| jd }t|t|jd k rHd}|t|jd krWd| }|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   r   )__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    