
    A_d                     \    d dl Z d dlZd dlZd dlmZ d dlZd dlmZ d dl	m
Z
  G d d      Zy)    N)Rixer)Folderc                   ,    e Zd ZddZd Zd Zd Zd Zy)Impstc                 x   || _         || _        | j                   j                  d   | _        t        j
                  j                  | j                        s`t        j                  t        j                  | j                   j                  d   d            }t        j                  || j                         t        j                  | j                        | _        | j                  j                         | _        | j                   j                  d   | _
        |j                  d   |j                  d   d| _        y )N	state_xmlernadstateamf)ae)r   
do_verbosefufisfufiospathisfileetElementQNamensfilerinstall_xml	parse_laxdocgetrootelexpspaces)selferimpr   	state_eles       !/home/ernad/ernad/python/impst.py__init__zImpst.__init__   s    $FFLL-	ww~~dii(

288DFFIIg,>#HIIi3??499-88##%&&))G$#hhuo#hhw/1    c                     t        j                  | j                  t        j                  | j                  |            }|S )N)r   
SubElementr   r   r   )r   namemade_eles      r"   make_elezImpst.make_ele   s*    ==288DGGT+BCr$   c                     | j                   j                  d|z   | j                        }|D ]!  }|j                         j	                  |       # y )N./e:
namespaces)r   xpathr   	getparentremove)r   r'   foundsfounds       r"   
remove_elezImpst.remove_ele    sD    $--H 	,EOO$$U+	,r$   c                 J   | j                  |       | j                  |      }|D ]  }t        ||         |j                  |<    t	        j
                  | j                  | j                  j                         t        j                  | j                  | j                         y )N)	top_nsmap)r3   r)   strattribr   cleanup_namespacesr   r   r   r   r   r   )r   r'   dataname_elepoints        r"   fixz	Impst.fix%   sy    ==& 	6E%(e%5HOOE"	6
dhh$&&))<$((DII.r$   c                 |    d|z   dz   |z   }| j                   j                  || j                        }|g k(  ry |d   S )Nr+   z/@r,   r   )r   r.   r   )r   r'   fieldxpouts        r"   showz
Impst.show.   sB    d]T!E)hhnnRDMMn:"91vr$   N)F)__name__
__module____qualname__r#   r)   r3   r<   rA    r$   r"   r   r      s    ,
r$   r   )globr   sys
lxml.etreeetreer   r   rixerr   folderr   r   rE   r$   r"   <module>rL      s$     	 
    ' 'r$   