
    ҙ1iD                         S SK r S SKrS SKrS SKrS SKrS SKJr  S SKJr  S SK	J
r
  S SKJr  S SKJr  S SKJr  S SKJr  S S	KJr  S S
KJr   " S S5      rg)    N)Abovo)Beric)Folda)Otria)Rexer)Rixer)Riffer)Recon)Transc                   p    \ rS rSrSS jrS rS rS rS rSS jr	S	 r
S
 rS rS rS rS rS rS rSrg)Erimp   c                 $   Xl         S U l        [        U S9nX0l        U R	                  U5        X l        U R                  5         S U l        S U l        UR                  U l	        UR                  U l
        U R                  5         U R                  5         U R                  5         U R                  5         U R                  U5        U R!                  U5        U R#                  5         U R%                  5         U R                  R&                  U l        g )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
is_testing)selfr   r   r   s       !/home/ernad/ernad/python/erimp.py__init__Erimp.__init__   s    

u %!#((99% E"**//    c                    U R                   S   S-   S-   n[        R                  R                  U5      (       d  [	        SU-   5      e[
        R                  " U5      R                  5       n0 nU H  nU R                  R                  S   R                  U5      nUR                  S5      nUc  MA  [        R                  " UR                  S5      5      nUS:X  a  S	X6'   Mr  US
:X  a  SX6'   M~  XsU'   M     X0l        U$ )Nstyle/zconf.xslt.xmlzI don't see 	conf_line      trueTfalseF)dirsospathisfile	Exceptionfilersread
splitlinesRrsmatchgroupstringsde_xmlconf)r%   fufi
conf_linesclinematcheskeyvalues           r&   r   Erimp.read_conf0   s    yy!C'/9ww~~d##NT122[[&113
Dffii,2248G--"C{NN7==#34EcF  	r)   c                 0   U R                   n0 U l        U R                   R                  U R                  S'   UR                  S    H"  nUR                  S   U   U R                  U'   M$     UR                  XS9U l        UR
                  U l        X l         g )Nhometopr   )r   r2   home_dirguess_impnaimpnar   )r%   r   r   topdirs       r&   r   Erimp.use_abovoG   s    

	 JJ//		&jj'F %

5 1& 9DIIf (&&u&5
** 
r)   c                     [        U 5      U l        [        U 5      U l        [        U 5      U l        [	        U 5      U l        [        U 5      U l        [        U 5      U l	        [        U 5      U l        g N)r   dfolderfoldar	   fr   r:   r   tr   xr%   s    r&   r   Erimp.first_helpersT   sO    tDk4[
tttr)   c                 $    [        U 5      U l        g rR   )r   orY   s    r&   r"   Erimp.second_helpers]   s    tr)   Nc                 4   [        U S5      (       d  [        S5      eU R                  nUR                  S    H/  nU R                  U   S-   U R                  -   U R                  U'   M1     UR                  5        H[  nUR                  U    HE  nU R                  R                  US-   U-      nU R                  U   S-   U-   nXpR                  U'   MG     M]     0 U l        U R                  S   S-   U R                  S'   U R                  R                  U S	9  g )
NrN   zI need an impna.resignr,   dir_indatz
/state.xml	state_xmlr   )	hasattrr6   r   r2   rN   forked_dirnas	constantsfufisset_blatt_dirs)r%   rN   	do_creater   dirnakindrG   fudis           r&   r   Erimp.fill_for_impna`   s    tW%%.//

ZZ)E#yy/#5

BDIIe * '')D D)

,,TF]U-BCyy,u4#'		%  *	 * 
"&))G"4|"C

;

!!D!)r)   c                 N   [        U 5      nUR                  S5      nUR                  S5      nX l        0 U l        0 U l        0 U l        0 U l        U HP  nX$   U R
                  U'   XC;   a  S U R                  U'   OS U R                  U'   [        X5      U R                  U'   MR     g )N	availableenabled)r
   fillreconslivedeadreportsreportr   )r%   reconrecons_availablerecons_enabledrepcodes        r&   r   Erimp.fill_reconsv   s    d ::k2I.&		'G$4$=DLL!(%)		'"%)		'"#(#7DKK  (r)   c                 t   U R                  5       n[        R                  R                  U5      (       d1  [	        SU 3[
        R                  S9  [
        R                  " S5        [        U5      n/ nUR                  5        H1  nUR                  S5      (       d  M  USS nUR                  U5        M3     U$ )z/get the issues from the relaxng issuedates filezerimp does not have )filer.   z<value>      )get_issuedates_fufir3   r4   r5   printsysstderrexitopen	readlines
startswithappend)r%   issuedates_fufiissuedates_fileout
issue_line	issuedates         r&   get_issuedates_testingErimp.get_issuedates_testing   s    224ww~~o..((9:zz#HHQK/)335J ((33"1R(IJJy! 6 
r)   c                    U R                   R                  5       nU(       a  U R                  5       nOAU R                  R	                  U R
                  S   5      n[        UR                  5       5      n[        SS5      nUR                  [        U5      5        UR                  5         UR                  5         US   U l        SU R                  ;   aE  [        U R                  S   5      nSn0 U l        Xe:  a  X&   nSU R                   U'   US-  nXe:  a  M  ["        R$                  " US   S5      nSU R                   U'   X l        g )Nissuesz/tmp/issuedates.textwr   traspir.   r}   )r   r$   r   rU   dafusr2   sortedkeysr   writestrclosereversemax_issuedater@   intactive_issuedatesdaterahead
issuedates)	r%   r$   r   r   	test_filer   countr   future_issuedates	            r&   r   Erimp.fill_issuedates   s   ZZ**,
446J JJ$$TYYx%89E

-J/5	J(']tyy 8,-FE%'D".&-	45&&y1
 .
 !;;z!}a834/0$r)   c                     U R                   R                   H%  nU R                  S   S-   U-   U R                  U'   M'     g )Nlearnr,   )r   learistsr2   )r%   learists     r&   r#   Erimp.fill_learist   s7    zz**G!%7!3c!9G!CDIIg +r)   c                 ^    U R                   R                  U R                  S   5      U l        g )Nr   )rU   dates_uniquer2   r   rY   s    r&   fill_issuesErimp.fill_issues   s!    jj--dii.ABr)   c                    U H'  nU R                    H  nX2;   d  M
  X0l        Us  s  $    M)     [        R                  " 5       R	                  S5      nU H  nXPR                   ;   d  M  XPl        Us  $    S nU H+  n[        R
                  R                  U5      (       d  M)  UnM-     Uc  g UR	                  S5      S S S2   nUb"  U H  nXPR                   ;   d  M  XPl        Us  $    g )Nr,   )rq   r   r3   getcwdsplitr4   r5   )r%   r   bipary   r2   rT   rA   s          r&   r    Erimp.hint_repcode   s    D;;?)0&"N '  yy{  %F$%+" 
 D77>>$''D  <zz#tt$[[()/&!M  r)   c                 ^    U R                    H  nU H  nX#;   d  M
  X l        Us  s  $    M     g rR   )r   r   )r%   r   r   r   s       r&   r!   Erimp.hint_issuedate   s1    I$+4($$  )
 r)   c                     U R                   R                  5       (       a&  U R                  S   S-   U R                  -   nUS-  nU$ U R                  S   S-   nU$ )Nopskir,   z_issuedates.rng.xmlz/issuedates.rng.xml)r   r$   r2   rN   )r%   rA   s     r&   r   Erimp.get_issuedates_fufi   s^    ::  ""99W%+djj8D))D  99W%(==Dr)   )r:   r   r   r   r@   rS   rs   r2   r   r   rV   rU   rT   rf   r   r   r   rN   r$   r   r   rr   r   r   r\   rq   ru   rt   rW   rX   )F)NF)__name__
__module____qualname____firstlineno__r'   r   r   r   r"   r   r   r   r   r#   r   r    r!   r   __static_attributes__ r)   r&   r   r      sJ    8.*,8(&8DC8r)   r   )r3   r   r>   r   r7   r   r   bericr   rU   r   otriar   rexerr   rixerr   rifferr	   rv   r
   transr   r   r   r)   r&   <module>r      s;    	 
            X Xr)   