a
    /`                     @   sB   d dl Z d dlZd dlZd dlmZ d dlmZ G dd dZdS )    N)Alfit)Tifinc                   @   s8   e Zd ZdddZdd Zdd Zdd	 Zdd
dZdS )SepapFc                 C   s"   || _ t| j | _t| j | _d S )N)er   alfitr   tifin)selferimp
do_verbose r   !/home/ernad/ernad/python/sepap.py__init__   s    zSepap.__init__c                 C   s   t j|s"td| tjd dS i | _|drD| |}|| _	n(|dr`t
|| _|}ntd|  |  }|rtd|  t
| j| | jS )z--> feed input into a sepapzsepap can't open fileN.txtz.json.gzz$sepap does not know what to do with zsepap saves )ospathisfileprintsysstderrsepapendswithboot_from_sidfiout_fufifilerloadbeak_updump)r   fufir   has_it_changedr   r   r   boot   s     


z
Sepap.bootc                 C   s  | j }ddlm} || j }|  || j d}tj|}|dd}||jvrdt	d| t
jd || _||}tj|rt	d|  t|| _|S ||}tj|r| | n8t	d	|  |j|d
 tj|rt	d| t
jd ||}	tj|	rb|| |j|	}
t|
}|D ].}|| jvrLi | j|< || | j| d< q2t| j| t	d|  |S )Nr   )Sidat)r	   r    zsepap does not know the report r   zsepap reads from zno )Zonly_repcodez"sepap: sidat.build() did not make azsepap wrote )r   sidatr"   fill_reconsr   r   basenamereplacereportr   r   r   repcode
sedat_fufir   r   r   r   
sidis_fufiread_from_sidisZbuild
krikt_fufiZupdate_reportr   update_for_krikt_fufir   )r   r   r   r"   r%   banar*   r+   r,   r.   Zalfit_seed_fufiZalfits_from_external_seedspapidr   r   r   r   (   sL    







zSepap.boot_from_sidfic                 C   sh   t |}tdddd |D ]:}| jj||| d}|| jvrHi | j|< || j| d< qtddd d S )	Nzreading sidis papids ... r#   T)endflush)	issuedater$   done)r3   )r   r   r   r   fetchr   )r   r,   Zsidisr1   r   r   r   r   r-   R   s    


zSepap.read_from_sidisc                 C   s   t | jdkrtd dS d}|sRd}| jD ]}d| j| v r@q,d}q,|sRd}|S | jD ]H}d| j| v rx|sxtd qX| j| j| d }|| j| d< d}qX|S )Nr   zsepap sees nothing to beak upFbTZcontr$   )lenr   r   r   beaks)r   Zdo_renewr    Zneeds_to_be_beakedr1   r9   r   r   r   r   \   s*    

zSepap.beak_upN)F)F)__name__
__module____qualname__r   r!   r   r-   r   r   r   r   r   r   
   s
   
*
r   )r   r   r   r   r   r   r   r   r   r   r   r   <module>   s
   