
    i$                         S r SSKrSSKrSSKJ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KJr  SSKJr  SSKJr   " S S5      r g)zderivied, automated web pages    N)Doker)Ausfu)Folda)Ishus)Otria)Recon)Relpo)Riffer)Rixer)Staff)Trans)Xpafsc                   H    \ rS rSrS
S jrS
S jrSS jrSS jrS rS r	S	r
g)Blata   c                 l   Xl         X l        [        XS9U l        [	        XS9U l        [        XS9U l        [        XS9U l	        [        XS9U l        [        XS9U l        [        XS9U l        [!        XS9U l        [%        XS9U l        [)        XS9U l        [-        XS9U l        [1        XS9U l        g )N)
do_verbose)er   r   ausfur   reconr   transr   ishusr   otriar   dokerr	   relpor   rixerr
   rifferr   xpafsr   staffr   folda)selferimpr   s      !/home/ernad/ernad/python/blata.py__init__Blata.__init__   s    $58
58
58
58
58
58
58
58
U:58
58
58
    c                    U R                   R                  (       d  U R                  R                  U5        U R                  R                  U0 S9nU R
                  R                  U5      nUR                  5       n[        R                  " U[        R                  " U R                   R                  S   S5      U R                   R                  S9nU R                  R                  5       Ul        U R                  R!                  U5      n[        R"                  " U5        U(       a;  SU-   S-   n[$        R&                  " UR                  5       U5        [)        SU 35        U R                   R*                  U   R,                  S   S	-   nXpR                   R.                  R0                  S
   -  nU R2                  (       a  [)        SU 35        U R4                  R7                  SX75        g )N	add_stateernad
last_issuensmapz/tmp/z.xmlblata wrote blatt/
index_htmlzblata writes rehopa)r   
is_testingr   docr   r   add_currencygetrootet
SubElementQNamensr   last_issuedatetextr   inject_updatecleanup_namespacesfilerinstall_xmlprintreportdirsabovo	constantsr   r   ingest_to_fufi)r!   repcode	do_extendr4   elelast_issue_elexml_test_fufiout_fufis           r#   r2   Blata.rehopa,   sh    vv  JJNN7#jjnnWn3jj%%c* kkmsBHHTVVYYw5G5A-C-1VVYY8 #jj779jj&&s+
c"#g-6Mckkm];L0166==)..w7#=FFLL**<88??M(,-

!!(C:r&   c                    U R                   nU R                   R                  nU R                   R                  nUca  U R                   R                  c  [        S[        R
                  S9  gU R                   R                  c  [        S[        R
                  S9  gO|U R                  R                  U5      nU R                  R                  U5      nUc  [        SU 3[        R
                  S9  gUc$  [        R                  R                  U5      nUSS nUb  U R                  R                  U5      nOU R                  R                  XV5      nSn	U R                  (       a  [        S	U S
U 35        U(       a  U R                  R!                  U5      n	O[        R                  R#                  U5      (       d  U(       a  U R                  R%                  X5      (       a  U R                  R!                  U5      n	OIU R                  (       a"  [&        R(                  " U5      n	[        S5        O[&        R(                  " U5      n	[+        U	[,        R.                  5      (       d5  [&        R(                  " U5      n	U	c  [        SU 3[        R
                  S9  gUR0                  S   SU SU S3-   n
U(       d<  [&        R$                  " X/5      (       d   U R                  (       a  [        SU
 35        g[3        U R4                  R7                  U5      5      S:X  a;  [        R                  R#                  U
5      (       a  [        R8                  " U
5        gU R:                  R=                  U	5      nU R4                  R?                  U5      nUR@                  RC                  SU5      n[&        RD                  " X5        U R                  (       a  [        SU
 35        g)z(report issue page on the web, via exportNz%blata: with no fufi, I need a repcodefileFz(blata: with no fufi, I need an issuedatez!blata can't see the repcode from r   
   zblata: repcode z, issuedate z!blata does not renew {ausfu_fufi}zblata can't parse r/   z	/reports/r0   z.htmlzblata skips update of 
html_vypotr.   T)#r   given_repcodegiven_issuedaterA   sysstderrr   rG   	issuedateospathbasenamer   get_fufibuild_out_fufir   by_fufiisfiledonerer?   	parse_lax
isinstancer7   _ElementTreerC   lenr   docsremover   r=   r5   t
get_resultinstall_html)r!   
repis_fufido_force	no_exportr   rG   rW   bana
ausfu_fufi	ausfu_doc	html_fufir4   htmls                r#   werisBlata.werisG   s   FF&&&&FF**	vv##+=::'vv%%-@::' .
 kk))*5G--j9I9*F::' ww''
3 2J	
 !,,Z8J227FJ	??OG9LDE

**:6IWW^^J''9zz  88 JJ..z:	!OOJ7	9:!OOJ7	)R__55
3I *:,7cjjIFF7O	'!I;e&LL	Y E E.yk:;tzzz*+q0ww~~i((		)$jj&&y1jj%%c*ss~~lC04+??L,-r&   Nc                    U R                   R                  U   R                  S   nU R                  R	                  U5      nUc  g U H9  nUb  Xb:  a  M  Ub  Xc:  a  M  XV   n[        SU 35        U R                  USS9  M;     g)Nsentzblata: repis_fufi is T)rj   )r   rB   rC   r    by_datesrA   rq   )r!   rG   do_fromdo_until	sent_fudiru   rW   ri   s           r#   weris_reportBlata.weris_report   s    FFMM'*//7	::&&y1!I"y':#	(<!,J)*67JJzDJ1 " r&   c                 
   U R                   R                  U5      nUc  [        SU 3[        R                  S9  g U R
                  R                  US/S9n[        U5      S:X  a  [        SU S35        g U H  nU R                  (       a  [        SU 35        X4   nS nS nS	UR                  ;   a  UR                  S	   nS
UR                  ;   a  UR                  S
   nU R                  XFUS9  U R                  U5        M     g)Nzblata sees no staff rO   
iseditorof)
only_verbsr   zblata: z does not edit anythingzblata staff does fromuntil)rv   rw   T)r   r4   rA   rU   rV   r   get_refsrc   r   attribry   r2   )r!   stidr4   rep_elesrG   rI   rv   rw   s           r#   by_staffBlata.by_staff   s    jjnnT";(/cjjA::&&s~&Fx=AGD6!89:G)'34#CGH#**V,#**$::g.gJKK    r&   c                    U R                   R                  5       nU R                   R                  SU5      nU R                  R	                  US5      n0 nU R
                  R                  S   nU R                  R                  5        GH  nU R                  R                  USS/S9nU R                  R                  US5      n[        U5      S:  aa  US   n	S	U R
                  R                  ;   aB  U R                  R                  U	5      [!        U R
                  R                  S	   5      :  a    GOp["        R$                  " U["        R&                  " US
5      U R
                  R                  S9n
U
R)                  UR+                  5       5        U R                  R                  US5       H"  nUR-                  5       R/                  U5        M$     U R                  R                  US5      n[        U5      S:X  a  GMz  U R                  R                  US5      S   n	X;  a^  SXI'   [        UR1                  5       5      S:  a=  [3        [        UR1                  5       5      5      UR+                  5       R4                  S'   U R6                  R9                  U5      nGM     U R:                  R=                  U5      nU R
                  R>                  S   S-   nUS-   nUS-   nU R                  R                  US5       H"  nUR-                  5       R/                  U5        M$     [@        RB                  " U5      nURE                  SS5      n[F        RH                  " UU5        U R                   RK                  SX/5        g )Nimpcolz/a:amf/a:collectionamfsubbersissuesr(   z//e:issues/@untilr   bremsehaspartr,   z	//e:issuez
//e:issues   isbrakr/   z/sbornz/reports.xmlz/reports.htmlz//a:iseditorofz<amfz
<amfreport_sborn)&r   create_base_docrg   r   none_or_oner   r:   r   	by_timelyr   r4   runrc   confr   posintr7   r8   r9   appendr6   	getparentre   keysstrr   r   r5   r   r=   rC   docingshowreplacer?   sriterF   )r!   r4   imp_docimp_eleisbraksamf_nsrG   repdocuntilsr   haspart_elerI   issues_elesout_fudixml_fufiro   outstrings                     r#   r   Blata.report_sborn   s   jj((***''#6**((2GH 5!zz++-GZZ^^G	87L^MFZZ^^F,?@F6{Qq	tvv{{*::>>%(3tvv{{8/D+EE--&)1L.2ffii9Kv~~/0zz~~fk:&&s+ ;**..>K;1$JJNN6+>?BE#!"w||~&*8;C<O8PFNN$++H5ZZ,,V4F1 .2 ****7366;;w'(2n,.	 ::>>'+;<CMMO""3' =kk'"VX.Hf%

!!.'Er&   )r   r   r   r   r    r   r   r   r   r   r   r   r   r   )F)FF)NN)__name__
__module____qualname____firstlineno__r$   r2   rq   ry   r   r   __static_attributes__ r&   r#   r   r      s#    ";6CJ0/Fr&   r   )!__doc__rX   rU   
lxml.etreeetreer7   r?   r   r   r   r   r   r    r   r   r   r   r   r   r   r   r	   r   r
   r   r   r   r   r   r   r   r   r   r   r&   r#   <module>r      sK    # 	 
               IF IFr&   