
    e/5                        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:        _        d3 Z<d>d5Z=d>d6Z>d>d7Z?d>d8Z@d9ZAd: ZBd; ZCeDd<k    r eC             dS dS )?    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       U/Users/daniilossinkin/PycharmProjects/ShopsBackend/src/data/imports/schema/partner.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COMPACTc                 R     t          t          |           j        |||||fi | d S N)superr   __init__)selfcreatedlocalenlsModedateTimeModePartnerkwargs_	__class__s          r   r#   zsemiramisSub.__init__B   s8    *lD!!*7FG\SZgg_fggggg    )NNr   r   N__name__
__module____qualname__r#   __classcell__r+   s   @r   r   r   A   sG        h h h h h h h h h hr,   r   c                         e Zd Zd fd	Z xZS )PartnerTypeSubNc                 b     t          t          |           j        |||||||||	|
|||fi | d S r!   )r"   r4   r#   )r$   markmodeinvalidnumbersearchStringnamepersonorganizationalUnitcustomerStatusaddressDataCustomerPartnerAccountingDataCommunicationDatar*   r+   s                  r   r#   zPartnerTypeSub.__init__I   s|    ,nd##,T4&,X\^dfx  {I  KV  X`  bw  yJ  	W  	W  OV  	W  	W  	W  	W  	Wr,   )NNNNNNNNNNNNNr-   r2   s   @r   r4   r4   H   sG        W W W W W W W W W Wr,   r4   c                         e Zd Zd fd	Z xZS )personTypeSubNc
                 Z     t          t          |           j        |||||||||	f	i |
 d S r!   )r"   rD   r#   )r$   r6   r7   r8   	givenNamesurnamefullNamegender
SalutationTitler*   r+   s              r   r#   zpersonTypeSub.__init__P   s\    +mT""+D$GU]_egqsx  	F  	F  ~E  	F  	F  	F  	F  	Fr,   )	NNNNNNNNNr-   r2   s   @r   rD   rD   O   sG        F F F F F F F F F Fr,   rD   c                         e Zd Zd fd	Z xZS )SalutationTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   rM   r#   r$   r6   r7   r8   r;   r*   r+   s         r   r#   zSalutationTypeSub.__init__W   s5    /&&/dGTVVgVVVVVr,   NNNNr-   r2   s   @r   rM   rM   V   sG        W W W W W W W W W Wr,   rM   c                         e Zd Zd fd	Z xZS )TitleTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   rR   r#   rO   s         r   r#   zTitleTypeSub.__init__^   s4    *lD!!*4wQQQQQQQr,   rP   r-   r2   s   @r   rR   rR   ]   sG        R R R R R R R R R Rr,   rR   c                         e Zd Zd fd	Z xZS )organizationalUnitTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   rU   r#   )r$   r6   r7   r8   	ilnNumberr*   r+   s         r   r#   z"organizationalUnitTypeSub.__init__e   s6    7'..7dGYcc[bcccccr,   rP   r-   r2   s   @r   rU   rU   d   G        d d d d d d d d d dr,   rU   c                         e Zd Zd fd	Z xZS )addressDataTypeSubNc           	      V     t          t          |           j        |||||||fi | d S r!   )r"   rZ   r#   )
r$   r6   r7   r8   streetcity
postalCodeCountryr*   r+   s
            r   r#   zaddressDataTypeSub.__init__l   s>    0 $''0tWfdT^`gttlstttttr,   )NNNNNNNr-   r2   s   @r   rZ   rZ   k   sG        u u u u u u u u u ur,   rZ   c                         e Zd Zd fd	Z xZS )CountryTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   ra   r#   )r$   r6   r7   r8   isoCodedescriptionr*   r+   s          r   r#   zCountryTypeSub.__init__s   s7    ,nd##,T4';cc[bcccccr,   NNNNNr-   r2   s   @r   ra   ra   r   rX   r,   ra   c                         e Zd Zd fd	Z xZS )CustomerTypeSubNc                 `     t          t          |           j        |||||||||	|
||fi | d S r!   )r"   rg   r#   )r$   r6   r7   r8   allowOrdersdeliveryDataInfoclassification1classification2classification5PriceListingImp_SizeSurchargeListingImp_CustomerPossibleSalesItemImp_CustomerPossibleOrderTypesr*   r+   s                 r   r#   zCustomerTypeSub.__init__z   s~    -ot$$-dD';P`bq  tC  ET  Vb  d|  ~[  ]{  	H  	H  @G  	H  	H  	H  	H  	Hr,   )NNNNNNNNNNNNr-   r2   s   @r   rg   rg   y   sG        H H H H H H H H H Hr,   rg   c                         e Zd Zd fd	Z xZS )deliveryDataInfoTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   rs   r#   )r$   r6   r7   r8   ShippingTermsr*   r+   s         r   r#   z deliveryDataInfoTypeSub.__init__   s6    5%t,,5dD'=ee]deeeeer,   rP   r-   r2   s   @r   rs   rs      sG        f f f f f f f f f fr,   rs   c                         e Zd Zd fd	Z xZS )ShippingTermsTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   rw   r#   r$   r6   r7   r8   coderd   r*   r+   s          r   r#   zShippingTermsTypeSub.__init__   s8    2"D))24wkff^efffffr,   re   r-   r2   s   @r   rw   rw      G        g g g g g g g g g gr,   rw   c                         e Zd Zd fd	Z xZS )PriceListingTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   r}   r#   r$   r6   r7   r8   rz   r*   r+   s         r   r#   zPriceListingTypeSub.__init__   s6    1!4((1$gtXXPWXXXXXr,   rP   r-   r2   s   @r   r}   r}      sG        Y Y Y Y Y Y Y Y Y Yr,   r}   c                         e Zd Zd fd	Z xZS )Imp_SizeSurchargeListingTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r   r#   ry   s          r   r#   z(Imp_SizeSurchargeListingTypeSub.__init__   s:    =-t44=dD'SWYdqqipqqqqqr,   re   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 )$Imp_CustomerPossibleSalesItemTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   r   r#   )r$   r6   r7   r8   Itemr*   r+   s         r   r#   z-Imp_CustomerPossibleSalesItemTypeSub.__init__   s7    B2D99B4wX\iiahiiiiir,   rP   r-   r2   s   @r   r   r      sG        j j j j j j j j j jr,   r   c                         e Zd Zd fd	Z xZS )ItemTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   r   r#   )r$   r6   r7   r8   eansr*   r+   s         r   r#   zItemTypeSub.__init__   s4    )k4  )$gtPPPPPPPr,   rP   r-   r2   s   @r   r   r      sG        Q Q Q Q Q Q Q Q Q Qr,   r   c                         e Zd Zd fd	Z xZS )eansTypeSubNc                 L     t          t          |           j        ||fi | d S r!   )r"   r   r#   )r$   indexvalueOf_r*   r+   s       r   r#   zeansTypeSub.__init__   s0    )k4  )%FFgFFFFFr,   )NNr-   r2   s   @r   r   r      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 )%Imp_CustomerPossibleOrderTypesTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   r   r#   )r$   r6   r7   r8   rn   r*   r+   s         r   r#   z.Imp_CustomerPossibleOrderTypesTypeSub.__init__   s8    C3T::CD$PWYerrjqrrrrrr,   rP   r-   r2   s   @r   r   r      sG        s s s s s s s s s sr,   r   c                         e Zd Zd fd	Z xZS )PriceListingType1SubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   r   r#   r   s         r   r#   zPriceListingType1Sub.__init__   s6    2"D))24wYYQXYYYYYr,   rP   r-   r2   s   @r   r   r      sG        Z Z Z Z Z Z Z Z Z Zr,   r   c                         e Zd Zd fd	Z xZS )PartnerAccountingDataTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   r   r#   )r$   r6   r7   r8   SalesPaymentTermsr*   r+   s         r   r#   z%PartnerAccountingDataTypeSub.__init__   s7    :*D11:4wPannfmnnnnnr,   rP   r-   r2   s   @r   r   r      sG        o o o o o o o o o or,   r   c                         e Zd Zd fd	Z xZS )SalesPaymentTermsTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r   r#   ry   s          r   r#   z!SalesPaymentTermsTypeSub.__init__   s9    6&--6tT7DR]jjbijjjjjr,   re   r-   r2   s   @r   r   r      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 )CommunicationDataTypeSubNc                 T     t          t          |           j        ||||||fi | d S r!   )r"   r   r#   )	r$   r6   r7   r8   commDatanormalizedCommDataMethodr*   r+   s	           r   r#   z!CommunicationDataTypeSub.__init__   s<    6&--6tT7HVhjp}}u|}}}}}r,   NNNNNNr-   r2   s   @r   r   r      sG        ~ ~ ~ ~ ~ ~ ~ ~ ~ ~r,   r   c                         e Zd Zd fd	Z xZS )MethodTypeSubNc                 T     t          t          |           j        ||||||fi | d S r!   )r"   r   r#   )	r$   r6   r7   r8   r;   rd   mediar*   r+   s	           r   r#   zMethodTypeSub.__init__   s:    +mT""+D${TYff^efffffr,   r   r-   r2   s   @r   r   r      r{   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   -  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   I  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   N  sF    8ABB<D
4yyA~~aJ	*r,   __main__r!   )F)Er
   r   lxmlr   r   #src.data.imports.schema.partner_libdataimportsschemapartner_libr   r   r   ExternalEncodingr   r   r   subclassPartnerTyper4   
personTyperD   SalutationTyperM   	TitleTyperR   organizationalUnitTyperU   addressDataTyperZ   CountryTypera   CustomerTyperg   deliveryDataInfoTypers   ShippingTermsTyperw   PriceListingTyper}   Imp_SizeSurchargeListingTyper   !Imp_CustomerPossibleSalesItemTyper   ItemTyper   eansTyper   "Imp_CustomerPossibleOrderTypesTyper   PriceListingType1r   PartnerAccountingDataTyper   SalesPaymentTermsTyper   CommunicationDataTyper   
MethodTyper   r   r   r   r   r   r   r   r   r.   r   r,   r   <module>r     s  , 
			 



             6 6 6 6 6 6 6 6 6 6 6 6 6 6 6   
 
 
 
    h h h h h8% h h h +  W W W W WX) W W W !/  F F F F FH' F F F  -  W W W W W/ W W W $5   R R R R R8% R R R +  d d d d d ? d d d ,E  (u u u u u1 u u u %7  !d d d d dX) d d d !/  H H H H Hh+ H H H "1  f f f f fh; f f f *A  &g g g g g85 g g g ';  #Y Y Y Y Y(3 Y Y Y &9  "r r r r rh&K r r r 2Q % .j j j j j8+U j j j 7[ * 3Q Q Q Q Q(# Q Q Q )  G G G G G(# G G G )  s s s s sH,W s s s 8] + 4Z Z Z Z Z85 Z Z Z ';  #o o o o o8#E o o o /K " +k k k k kx= k k k +C  '~ ~ ~ ~ ~x= ~ ~ ~ +C  'g g g g gH' g g g  -       .: : : :4   0   .

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