
    @We3                     D   d dl Z d dlZd dlmZ d dlmc mc mc m	Z
 d?dZd?dZdZdZ G d de
j                  Zee
j        _         G d	 d
e
j                  Zee
j        _         G d de
j                  Zee
j        _         G d de
j                  Zee
j        _         G d de
j                  Zee
j        _         G d de
j                  Zee
j        _         G d de
j                  Zee
j        _         G d de
j                  Zee
j        _         G d de
j                   Z!e!e
j         _         G d de
j"                  Z#e#e
j"        _         G d de
j$                  Z%e%e
j$        _         G d de
j&                  Z'e'e
j&        _         G d d e
j(                  Z)e)e
j(        _         G d! d"e
j*                  Z+e+e
j*        _         G d# d$e
j,                  Z-e-e
j,        _         G d% d&e
j.                  Z/e/e
j.        _         G d' d(e
j0                  Z1e1e
j0        _         G d) d*e
j2                  Z3e3e
j2        _         G d+ d,e
j4                  Z5e5e
j4        _         G d- d.e
j6                  Z7e7e
j6        _         G d/ d0e
j8                  Z9e9e
j8        _         G d1 d2e
j:                  Z;e;e
j:        _         G d3 d4e
j<                  Z=e=e
j<        _        d5 Z>d@d7Z?d@d8Z@d@d9ZAd@d:ZBd;ZCd< ZDd= ZEeFd>k    r eE             dS dS )A    N)etreec                     |t          j                    }	 t          | t          j                  rt          j                            |           } n# t          $ r Y nw xY wt          j        | fd|i|}|S Nparser)	etree_ETCompatXMLParser
isinstanceosPathLikepathjoinAttributeErrorparse)infiler   kwargsdocs       S/Users/daniilossinkin/PycharmProjects/ShopsBackend/src/data/exports/schema/order.py	parsexml_r      s    ~ )++fbk** 	*W\\&))F   
,v
7
7f
7
7
7CJs   9A 
AAc                     |8	 t          j                    }n## t          $ r t          j                    }Y nw xY wt          j        | fd|i|}|S r   )r   r   r   	XMLParser
fromstring)instringr   r   elements       r   parsexmlstring_r   )   sm    ~	(-//FF 	( 	( 	(%''FFF	( BBB6BBGNs    88 Tc                         e Zd Zd fd	Z xZS )semiramisSubNSINGLE_LANGUAGE
NORMALIZEDc                 R     t          t          |           j        |||||fi | d S N)superr   __init__)selfcreatedlocalenlsModedateTimeMode
SalesOrderkwargs_	__class__s          r   r#   zsemiramisSub.__init__B   s8    *lD!!*7FG\S]jjbijjjjj    )NNr   r   N__name__
__module____qualname__r#   __classcell__r+   s   @r   r   r   A   sG        k k k k k k k k k kr,   r   c                         e Zd Zd fd	Z xZS )SalesOrderTypeSubNc	           
      X     t          t          |           j        ||||||||fi |	 d S r!   )r"   r4   r#   )r$   markmodeinvalidcustomerOrderDatacustomerDatainvoicingPartyDataTypeDetailsr*   r+   s             r   r#   zSalesOrderTypeSub.__init__I   s`    /&&/dGEVXdfxz~  AH  	U  	U  MT  	U  	U  	U  	U  	Ur,   )NNNNNNNNr-   r2   s   @r   r4   r4   H   sG        U U U U U U U U U Ur,   r4   c                         e Zd Zd fd	Z xZS )customerOrderDataTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   r?   r#   )r$   r6   r7   r8   purchaseOrderr*   r+   s         r   r#   z!customerOrderDataTypeSub.__init__P   s6    6&--6tT7Mff^efffffr,   NNNNr-   r2   s   @r   r?   r?   O   sG        g g g g g g g g g gr,   r?   c                         e Zd Zd fd	Z xZS )customerDataTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   rD   r#   )r$   r6   r7   r8   CustomerPartnerr*   r+   s         r   r#   zcustomerDataTypeSub.__init__W   s6    1!4((1$gcc[bcccccr,   rB   r-   r2   s   @r   rD   rD   V   sG        d d d d d d d d d dr,   rD   c                         e Zd Zd fd	Z xZS )CustomerPartnerTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   rH   r#   r$   r6   r7   r8   numberr*   r+   s         r   r#   zCustomerPartnerTypeSub.__init__^   s6    4$d++4T4&]]U\]]]]]r,   rB   r-   r2   s   @r   rH   rH   ]   sG        ^ ^ ^ ^ ^ ^ ^ ^ ^ ^r,   rH   c                         e Zd Zd fd	Z xZS )invoicingPartyDataTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   rM   r#   )r$   r6   r7   r8   Partnerr*   r+   s         r   r#   z"invoicingPartyDataTypeSub.__init__e   s6    7'..7dGWaaY`aaaaar,   rB   r-   r2   s   @r   rM   rM   d   sG        b b b b b b b b b br,   rM   c                         e Zd Zd fd	Z xZS )PartnerTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   rQ   r#   rJ   s         r   r#   zPartnerTypeSub.__init__l   s4    ,nd##,T4&UUWUUUUUr,   rB   r-   r2   s   @r   rQ   rQ   k   sG        V V V V V V V V V Vr,   rQ   c                         e Zd Zd fd	Z xZS )TypeTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   rT   r#   r$   r6   r7   r8   coder*   r+   s         r   r#   zTypeTypeSub.__init__s   s4    )k4  )$gtPPPPPPPr,   rB   r-   r2   s   @r   rT   rT   r   sG        Q Q Q Q Q Q Q Q Q Qr,   rT   c                         e Zd Zd fd	Z xZS )DetailsTypeSubNc                 \     t          t          |           j        |||||||||	|
f
i | d S r!   )r"   rY   r#   )r$   r6   r7   r8   totalQuantitypriceOriginType
grossPriceimp_deliveryDateimp_recommendedGrossPriceimp_customerItemNumberItemr*   r+   s               r   r#   zDetailsTypeSub.__init__z   sl    ,nd##,T4-Q`bln~  AZ  \r  tx  	E  	E  }D  	E  	E  	E  	E  	Er,   )
NNNNNNNNNNr-   r2   s   @r   rY   rY   y   sG        E E E E E E E E E Er,   rY   c                         e Zd Zd fd	Z xZS )totalQuantityTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   rc   r#   )r$   r6   r7   r8   amountUomr*   r+   s          r   r#   ztotalQuantityTypeSub.__init__   s9    2"D))24wPS``X_`````r,   NNNNNr-   r2   s   @r   rc   rc      sG        a a a a a a a a a ar,   rc   c                         e Zd Zd fd	Z xZS )
UomTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   ri   r#   rV   s         r   r#   zUomTypeSub.__init__   s4    (j$(tWdOOwOOOOOr,   rB   r-   r2   s   @r   ri   ri      sG        P P P P P P P P P Pr,   ri   c                         e Zd Zd fd	Z xZS )grossPriceTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   rl   r#   r$   r6   r7   r8   re   Currencyr*   r+   s          r   r#   zgrossPriceTypeSub.__init__   s8    /&&/dGVXbbZabbbbbr,   rg   r-   r2   s   @r   rl   rl      G        c c c c c c c c c cr,   rl   c                         e Zd Zd fd	Z xZS )CurrencyTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   rr   r#   r$   r6   r7   r8   isoCoder*   r+   s         r   r#   zCurrencyTypeSub.__init__   s4    -ot$$-dD'7WWwWWWWWr,   rB   r-   r2   s   @r   rr   rr      sG        X X X X X X X X X Xr,   rr   c                         e Zd Zd fd	Z xZS )imp_deliveryDateTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   rw   r#   )r$   r6   r7   r8   dateFrom	dateUntilr*   r+   s          r   r#   z imp_deliveryDateTypeSub.__init__   s9    5%t,,5dD'8U^kkcjkkkkkr,   rg   r-   r2   s   @r   rw   rw      sG        l l l l l l l l l lr,   rw   c                         e Zd Zd fd	Z xZS )dateFromTypeSubNc                 T     t          t          |           j        ||||||fi | d S r!   )r"   r|   r#   	r$   r6   r7   r8   specialValuedatetimeZoner*   r+   s	           r   r#   zdateFromTypeSub.__init__   s;    -ot$$-dD'<QUW_lldklllllr,   NNNNNNr-   r2   s   @r   r|   r|      sG        m m m m m m m m m mr,   r|   c                         e Zd Zd fd	Z xZS )dateUntilTypeSubNc                 T     t          t          |           j        ||||||fi | d S r!   )r"   r   r#   r~   s	           r   r#   zdateUntilTypeSub.__init__   s<    .%%.tT7LRVX`mmelmmmmmr,   r   r-   r2   s   @r   r   r      sG        n n n n n n n n n nr,   r   c                         e Zd Zd fd	Z xZS ) imp_recommendedGrossPriceTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r   r#   rn   s          r   r#   z)imp_recommendedGrossPriceTypeSub.__init__   s:    >.55>tT7TZ\dqqipqqqqqr,   rg   r-   r2   s   @r   r   r      sG        r r r r r r r r r rr,   r   c                         e Zd Zd fd	Z xZS )CurrencyType1SubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   r   r#   rt   s         r   r#   zCurrencyType1Sub.__init__   s6    .%%.tT7GXXPWXXXXXr,   rB   r-   r2   s   @r   r   r      G        Y Y Y Y Y Y Y Y Y Yr,   r   c                         e Zd Zd fd	Z xZS )ItemTypeSubNc           	      V     t          t          |           j        |||||||fi | d S r!   )r"   r   r#   )
r$   r6   r7   r8   materialType	Imp_ColorImp_SizeReferenceItemr*   r+   s
            r   r#   zItemTypeSub.__init__   s=    )k4  )$g|YX`bo||t{|||||r,   )NNNNNNNr-   r2   s   @r   r   r      sG        } } } } } } } } } }r,   r   c                         e Zd Zd fd	Z xZS )Imp_ColorTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r   r#   )r$   r6   r7   r8   rW   collectionFlagr*   r+   s          r   r#   zImp_ColorTypeSub.__init__   s8    .%%.tT7D.ee]deeeeer,   rg   r-   r2   s   @r   r   r      sG        f f f f f f f f f fr,   r   c                         e Zd Zd fd	Z xZS )Imp_SizeTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r   r#   )r$   r6   r7   r8   rW   SizeRegisterr*   r+   s          r   r#   zImp_SizeTypeSub.__init__   s7    -ot$$-dD'4bbZabbbbbr,   rg   r-   r2   s   @r   r   r      rp   r,   r   c                         e Zd Zd fd	Z xZS )SizeRegisterTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   r   r#   rV   s         r   r#   zSizeRegisterTypeSub.__init__   s6    1!4((1$gtXXPWXXXXXr,   rB   r-   r2   s   @r   r   r      r   r,   r   c                         e Zd Zd fd	Z xZS )ReferenceItemTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   r   r#   rJ   s         r   r#   zReferenceItemTypeSub.__init__   s6    2"D))24w[[SZ[[[[[r,   rB   r-   r2   s   @r   r   r      sG        \ \ \ \ \ \ \ \ \ \r,   r   c                    t           j                            | j                                                  d         }d }t           j                            |          }|*t          t           |          rt          t           |          }||fS )N)	supermodTag_pattern_matchtaggroupsGDSClassesMappinggethasattrgetattr)noder   	rootClasss      r   get_root_tagr      st    


%
%dh
/
/
6
6
8
8
<CI*..s33IWXs33Hc**		>r,   Fc                    d }t          | |          }|                                }t          |          \  }}|d}t          j        }|                                }|                    |           t          sd }d }|sCt          j	        
                    d           |                    t          j	        d|dd           |S )N	semiramis<?xml version="1.0" ?>
r   r   T)name_namespacedef_pretty_print)r   getrootr   r   r   factorybuildSaveElementTreeNodesysstdoutwriteexport
inFilenamesilencer   r   rootNoderootTagr   rootObjs           r   r   r      s    F
J
'
'C{{}}H%h//GY&	!!GMM(  
3444J 	 	 	 	 Nr,   c                    d }t          | |          }|                                }t          |          \  }}|d}t          j        }|                                }|                    |           i }|                    d ||          }	|                    |          }
t          sd }d }|sVt          j        |	ddd          }t          j                            |           t          j                            d           ||	||
fS )Nr   )r   mapping_Tzutf-8)r   xml_declarationencoding
)r   r   r   r   r   r   r   to_etreegds_reverse_node_mappingr   r   tostringr   r   r   )r   r   r   r   r   r   r   r   mappingrootElementreverse_mappingcontents               r   
parseEtreer     s   F
J
'
'C{{}}H%h//GY&	!!GMM(G""4w"IIK66w??O  /d 74 4 4 	
!!!
K/99r,   c                    t           j        j        dk    rddlm} nddlm} d }t          | |          }t          |          \  }}|d}t          j	        }|
                                }|                    |           t          sd }|sBt           j                            d           |                    t           j        d|d           |S )	N   r   )StringIO)BytesIOr   r   r   )r   r   )r   version_infomajorr   ior   r   r   r   r   r   r   r   r   r   r   )inStringr   r   r   r   r   r   r   s           r   parseStringr     s    
""%%%%%%%******Fh//H%h//GY&	!!GMM(  
3444J 	 	 	 	 Nr,   c                 >   d }t          | |          }|                                }t          |          \  }}|d}t          j        }|                                }|                    |           t          sd }d }|st          j	        
                    d           t          j	        
                    d           t          j	        
                    d           |                    t          j	        d|           t          j	        
                    d           |S )Nr   z#from ??? import *

zimport ??? as model_

zrootObj = model_.rootClass(
r   )r   z)
)r   r   r   r   r   r   r   r   r   r   r   exportLiteralr   s           r   parseLiteralr   4  s   F
J
'
'C{{}}H%h//GY&	!!GMM(   
1222
3444
8999cj!7;;;
Nr,   z#
Usage: python ???.py <infilename>
c                  V    t          t                     t          j        d           d S )N   )print
USAGE_TEXTr   exit r,   r   usager   P  s!    	*HQKKKKKr,   c                      t           j        dd          } t          |           dk    rt                       | d         }t	          |           d S )Nr   r   )r   argvlenr   r   )args
infilenames     r   mainr   U  sF    8ABB<D
4yyA~~aJ	*r,   __main__r!   )F)Gr
   r   lxmlr   r   !src.data.exports.schema.order_libdataexportsschema	order_libr   r   r   ExternalEncodingr   r   r   subclassSalesOrderTyper4   customerOrderDataTyper?   customerDataTyperD   CustomerPartnerTyperH   invoicingPartyDataTyperM   PartnerTyperQ   TypeTyperT   DetailsTyperY   totalQuantityTyperc   UomTyperi   grossPriceTyperl   CurrencyTyperr   imp_deliveryDateTyperw   dateFromTyper|   dateUntilTyper   imp_recommendedGrossPriceTyper   CurrencyType1r   ItemTyper   Imp_ColorTyper   Imp_SizeTyper   SizeRegisterTyper   ReferenceItemTyper   r   r   r   r   r   r   r   r   r.   r   r,   r   <module>r	     s(  , 
			 



             4 4 4 4 4 4 4 4 4 4 4 4 4 4 4   
 
 
 
    k k k k k8% k k k +  U U U U U/ U U U $5   g g g g gx= g g g +C  'd d d d d(3 d d d &9  "^ ^ ^ ^ ^X9 ^ ^ ^ )?  %b b b b b ? b b b ,E  (V V V V VX) V V V !/  Q Q Q Q Q(# Q Q Q )  E E E E EX) E E E !/  a a a a a85 a a a ';  #P P P P P! P P P '  c c c c c/ c c c $5   X X X X Xh+ X X X "1  l l l l lh; l l l *A  &m m m m mh+ m m m "1  n n n n nx- n n n #3  r r r r rx'M r r r 3S & /Y Y Y Y Yx- Y Y Y #3  } } } } }(# } } } )  f f f f fx- f f f #3  c c c c ch+ c c c "1  Y Y Y Y Y(3 Y Y Y &9  "\ \ \ \ \85 \ \ \ ';  #     .: : : :4   0   .

  
   zDFFFFF r,   