
    el                        d dl Z d dlZd dlmZ d dlmc mc mc m	Z
 ddZdd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<        _         G d5 d6e
j>                  Z?e?e
j>        _         G d7 d8e
j@                  ZAeAe
j@        _         G d9 d:e
jB                  ZCeCe
jB        _         G d; d<e
jD                  ZEeEe
jD        _         G d= d>e
jF                  ZGeGe
jF        _         G d? d@e
jH                  ZIeIe
jH        _         G dA dBe
jJ                  ZKeKe
jJ        _         G dC dDe
jL                  ZMeMe
jL        _         G dE dFe
jN                  ZOeOe
jN        _         G dG dHe
jP                  ZQeQe
jP        _         G dI dJe
jR                  ZSeSe
jR        _         G dK dLe
jT                  ZUeUe
jT        _         G dM dNe
jV                  ZWeWe
jV        _         G dO dPe
jX                  ZYeYe
jX        _         G dQ dRe
jZ                  Z[e[e
jZ        _         G dS dTe
j\                  Z]e]e
j\        _         G dU dVe
j^                  Z_e_e
j^        _         G dW dXe
j`                  Zaeae
j`        _         G dY dZe
jb                  Zcece
jb        _         G d[ d\e
jd                  Zeeee
jd        _         G d] d^e
jf                  Zgege
jf        _         G d_ d`e
jh                  Zieie
jh        _         G da dbe
jj                  Zkeke
jj        _         G dc dde
jl                  Zmeme
jl        _         G de dfe
jn                  Zoeoe
jn        _         G dg dhe
jp                  Zqeqe
jp        _         G di dje
jr                  Zsese
jr        _         G dk dle
jt                  Zueue
jt        _         G dm dne
jv                  Zwewe
jv        _         G do dpe
jx                  Zyeye
jx        _         G dq dre
jz                  Z{e{e
jz        _         G ds dte
j|                  Z}e}e
j|        _         G du dve
j~                  Zee
j~        _         G dw dxe
j                  Zee
j        _         G dy dze
j                  Zee
j        _         G d{ d|e
j                  Zee
j        _        d} ZddZddZddZddZdZd Zd Zedk    r e             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       Y/Users/daniilossinkin/PycharmProjects/ShopsBackend/src/data/imports/schema/article_b2b.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Itemkwargs_	__class__s          r   r#   zsemiramisSub.__init__B   s8    *lD!!*7FG\SWdd\cddddd    )NNr   r   N__name__
__module____qualname__r#   __classcell__r+   s   @r   r   r   A   G        e e e e e e e e e er,   r   c                         e Zd Zd fd	Z xZS )ItemTypeSubNc%                      t          t          |           j        g |||||||||	|
|||||||||||||||||||||| |!|"|#|$R i |% d S r!   )r"   r5   r#   )'r$   markmodeinvalidnumberdescriptionlongDescriptionimp_activeColorDefaultVariantItemReferenceItemImp_CareReference1Imp_CareReference2Imp_CareReference3Imp_CareReference4Imp_CareReference5Imp_CareReference6Imp_CareReferenceGroupImp_CollectionImp_ItemGroupImp_ItemThemeGroupImp_KindOfFabricImp_MaterialComposition1Imp_MaterialComposition2Imp_MaterialComposition3Imp_PackagingTypeImp_SizeRegisterImp_Size	Imp_ColorUomsTextsItemPackagingUomsOrganizationalUnitItemsInventoryItems
SalesItemsImp_ItemDeliveryDatesImp_ItemColorImagesImp_ItemProductLinesr*   r+   s'                                         r   r#   zItemTypeSub.__init__I   s   )k4  )  	Y
$  	Y
  	Y
g  	Y
v  	Y
{  	Y
Tc  	Y
et  	Y
  wI  	Y
  KX  	Y
  Zl  	Y
  n@  	Y
  BT  	Y
  Vh  	Y
  j|  	Y
  ~P  	Y
  Rh  	Y
  jx  	Y
  zG  	Y
  I[  	Y
  ]m  	Y
  oG  	Y
  Ia  	Y
  c{  	Y
  }N  	Y
  P`  	Y
  bj  	Y
  lu  	Y
  w{  	Y
  }B  	Y
  DU  	Y
  Wn  	Y
  p~  	Y
  @	J	  	Y
  L	a	  	Y
  c	v	  	Y
  x	L
  	Y
  	Y
  	Y
  Q
X
  	Y
  	Y
  	Y
  	Y
  	Y
r,   )$NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNr-   r2   s   @r   r5   r5   H   sG        Y
 Y
 Y
 Y
 Y
 Y
 Y
 Y
 Y
 Y
r,   r5   c                         e Zd Zd fd	Z xZS )DefaultVariantItemTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   r\   r#   )r$   r7   r8   r9   rG   r*   r+   s         r   r#   z"DefaultVariantItemTypeSub.__init__P   s6    7'..7dG^hh`ghhhhhr,   NNNNr-   r2   s   @r   r\   r\   O   G        i i i i i i i i i ir,   r\   c                         e Zd Zd fd	Z xZS )Imp_CollectionTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   ra   r#   r$   r7   r8   r9   coder;   r*   r+   s          r   r#   zImp_CollectionTypeSub.__init__W   s8    3#T**3D${gg_fgggggr,   NNNNNr-   r2   s   @r   ra   ra   V   G        h h h h h h h h h hr,   ra   c                         e Zd Zd fd	Z xZS )ReferenceItemTypeSubNc           	      V     t          t          |           j        |||||||fi | d S r!   )r"   rh   r#   )
r$   r7   r8   r9   r:   r;   r<   textr*   r+   s
            r   r#   zReferenceItemTypeSub.__init__^   s?    2"D))24wP[]lnrw~r,   NNNNNNNr-   r2   s   @r   rh   rh   ]   sG        @ @ @ @ @ @ @ @ @ @r,   rh   c                         e Zd Zd fd	Z xZS )Imp_CareReference1TypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   rm   r#   rc   s          r   r#   z"Imp_CareReference1TypeSub.__init__e   9    7'..7dGTS^kkcjkkkkkr,   re   r-   r2   s   @r   rm   rm   d   G        l l l l l l l l l lr,   rm   c                         e Zd Zd fd	Z xZS )Imp_CareReference2TypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   rr   r#   rc   s          r   r#   z"Imp_CareReference2TypeSub.__init__l   ro   r,   re   r-   r2   s   @r   rr   rr   k   rp   r,   rr   c                         e Zd Zd fd	Z xZS )Imp_CareReference3TypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   ru   r#   rc   s          r   r#   z"Imp_CareReference3TypeSub.__init__s   ro   r,   re   r-   r2   s   @r   ru   ru   r   rp   r,   ru   c                         e Zd Zd fd	Z xZS )Imp_CareReference4TypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   rx   r#   rc   s          r   r#   z"Imp_CareReference4TypeSub.__init__z   ro   r,   re   r-   r2   s   @r   rx   rx   y   rp   r,   rx   c                         e Zd Zd fd	Z xZS )Imp_CareReference5TypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r{   r#   rc   s          r   r#   z"Imp_CareReference5TypeSub.__init__   ro   r,   re   r-   r2   s   @r   r{   r{      rp   r,   r{   c                         e Zd Zd fd	Z xZS )Imp_CareReference6TypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r~   r#   rc   s          r   r#   z"Imp_CareReference6TypeSub.__init__   ro   r,   re   r-   r2   s   @r   r~   r~      rp   r,   r~   c                         e Zd Zd fd	Z xZS )Imp_CareReferenceGroupTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r   r#   rc   s          r   r#   z&Imp_CareReferenceGroupTypeSub.__init__   s:    ;+T22;D$QUWboognooooor,   re   r-   r2   s   @r   r   r      G        p p p p p p p p p pr,   r   c                         e Zd Zd fd	Z xZS )Imp_CollectionType1SubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r   r#   rc   s          r   r#   zImp_CollectionType1Sub.__init__   s9    4$d++4T4$P[hh`ghhhhhr,   re   r-   r2   s   @r   r   r      r_   r,   r   c                         e Zd Zd fd	Z xZS )Imp_ItemGroupTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r   r#   rc   s          r   r#   zImp_ItemGroupTypeSub.__init__   8    2"D))24wkff^efffffr,   re   r-   r2   s   @r   r   r      G        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_ItemThemeGroupTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r   r#   rc   s          r   r#   z"Imp_ItemThemeGroupTypeSub.__init__   ro   r,   re   r-   r2   s   @r   r   r      rp   r,   r   c                         e Zd Zd fd	Z xZS )Imp_KindOfFabricTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r   r#   rc   s          r   r#   z Imp_KindOfFabricTypeSub.__init__   9    5%t,,5dD'4Q\iiahiiiiir,   re   r-   r2   s   @r   r   r      G        j j j j j j j j j jr,   r   c                         e Zd Zd fd	Z xZS )Imp_MaterialComposition1TypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r   r#   rc   s          r   r#   z(Imp_MaterialComposition1TypeSub.__init__   :    =-t44=dD'SWYdqqipqqqqqr,   re   r-   r2   s   @r   r   r      G        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_MaterialComposition2TypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r   r#   rc   s          r   r#   z(Imp_MaterialComposition2TypeSub.__init__   r   r,   re   r-   r2   s   @r   r   r      r   r,   r   c                         e Zd Zd fd	Z xZS )Imp_MaterialComposition3TypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r   r#   rc   s          r   r#   z(Imp_MaterialComposition3TypeSub.__init__   r   r,   re   r-   r2   s   @r   r   r      r   r,   r   c                         e Zd Zd fd	Z xZS )Imp_PackagingTypeTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r   r#   rc   s          r   r#   z!Imp_PackagingTypeTypeSub.__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 )Imp_SizeRegisterTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r   r#   rc   s          r   r#   z Imp_SizeRegisterTypeSub.__init__   r   r,   re   r-   r2   s   @r   r   r      r   r,   r   c                         e Zd Zd fd	Z xZS )Imp_SizeTypeSubNc           	      V     t          t          |           j        |||||||fi | d S r!   )r"   r   r#   )
r$   r7   r8   r9   rd   	surchargeSizeHierarchySizeRegisterr*   r+   s
            r   r#   zImp_SizeTypeSub.__init__   s=    -ot$$-dD'4Taco||t{|||||r,   rk   r-   r2   s   @r   r   r      sG        } } } } } } } } } }r,   r   c                         e Zd Zd fd	Z xZS )SizeHierarchyTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r   r#   rc   s          r   r#   zSizeHierarchyTypeSub.__init__   r   r,   re   r-   r2   s   @r   r   r      r   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#   )r$   r7   r8   r9   rd   r*   r+   s         r   r#   zSizeRegisterTypeSub.__init__   s6    1!4((1$gtXXPWXXXXXr,   r^   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_ColorTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r   r#   rc   s          r   r#   zImp_ColorTypeSub.__init__   s8    .%%.tT7D+bbZabbbbbr,   re   r-   r2   s   @r   r   r      G        c c c c c c c c c cr,   r   c                         e Zd Zd fd	Z xZS )UomsTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r   r#   )r$   r7   r8   r9   indexEANsr*   r+   s          r   r#   zUomsTypeSub.__init__   s6    )k4  )$gudWWwWWWWWr,   re   r-   r2   s   @r   r   r      sG        X X X X X X X X X Xr,   r   c                         e Zd Zd fd	Z xZS )EANsTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   r   r#   )r$   r7   r8   r9   idr*   r+   s         r   r#   zEANsTypeSub.__init__   s4    )k4  )$grNNgNNNNNr,   r^   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 )TextsTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r   r#   )r$   r7   r8   r9   languagerj   r*   r+   s          r   r#   zTextsTypeSub.__init__   s7    *lD!!*4w$[[SZ[[[[[r,   re   r-   r2   s   @r   r   r      sG        \ \ \ \ \ \ \ \ \ \r,   r   c                         e Zd Zd fd	Z xZS )ItemPackagingUomsTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   r   r#   )r$   r7   r8   r9   StorageUnitr*   r+   s         r   r#   z!ItemPackagingUomsTypeSub.__init__  s6    6&--6tT7Kdd\cdddddr,   r^   r-   r2   s   @r   r   r     r3   r,   r   c                         e Zd Zd fd	Z xZS )StorageUnitTypeSubNc                 T     t          t          |           j        ||||||fi | d S r!   )r"   r   r#   )	r$   r7   r8   r9   r:   eansr;   r*   r+   s	           r   r#   zStorageUnitTypeSub.__init__  s;    0 $''0tWfdT_lldklllllr,   NNNNNNr-   r2   s   @r   r   r     G        m m m m m m m m m m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$   r   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 )OrganizationalUnitItemsTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r   r#   )r$   r7   r8   r9   OriginalItemAlternativeItemsr*   r+   s          r   r#   z'OrganizationalUnitItemsTypeSub.__init__  s:    <,d33<T4R^`p}}u|}}}}}r,   re   r-   r2   s   @r   r   r     sG        ~ ~ ~ ~ ~ ~ ~ ~ ~ ~r,   r   c                         e Zd Zd fd	Z xZS )OriginalItemTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r   r#   r$   r7   r8   r9   r:   r   r*   r+   s          r   r#   zOriginalItemTypeSub.__init__"  s8    1!4((1$gvt``X_`````r,   re   r-   r2   s   @r   r   r   !  sG        a a a a a a a a a ar,   r   c                         e Zd Zd fd	Z xZS )eansType2SubNc                 L     t          t          |           j        ||fi | d S r!   )r"   r   r#   r   s       r   r#   zeansType2Sub.__init__)  0    *lD!!*5(GGwGGGGGr,   r   r-   r2   s   @r   r   r   (  G        H H H H H H H H H Hr,   r   c                         e Zd Zd fd	Z xZS )AlternativeItemsTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   r   r#   )r$   r7   r8   r9   
Substituter*   r+   s         r   r#   z AlternativeItemsTypeSub.__init__0  s6    5%t,,5dD':bbZabbbbbr,   r^   r-   r2   s   @r   r   r   /  r   r,   r   c                         e Zd Zd fd	Z xZS )SubstituteTypeSubNc                 T     t          t          |           j        ||||||fi | d S r!   )r"   r   r#   )	r$   r7   r8   r9   r>   r?   rT   r*   r+   s	           r   r#   zSubstituteTypeSub.__init__7  sV    /&&/dGEWYfhy  	G  	G  F  	G  	G  	G  	G  	Gr,   r   r-   r2   s   @r   r   r   6  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 )DefaultVariantItemType3SubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r   r#   r   s          r   r#   z#DefaultVariantItemType3Sub.__init__>  s9    8($//8tWfVZgg_fgggggr,   re   r-   r2   s   @r   r   r   =  rf   r,   r   c                         e Zd Zd fd	Z xZS )eansType4SubNc                 L     t          t          |           j        ||fi | d S r!   )r"   r   r#   r   s       r   r#   zeansType4Sub.__init__E  r   r,   r   r-   r2   s   @r   r   r   D  r   r,   r   c                         e Zd Zd fd	Z xZS )ReferenceItemType5SubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r   r#   r   s          r   r#   zReferenceItemType5Sub.__init__L  s9    3#T**3D$QUbbZabbbbbr,   re   r-   r2   s   @r   r   r   K  r   r,   r   c                         e Zd Zd fd	Z xZS )eansType6SubNc                 L     t          t          |           j        ||fi | d S r!   )r"   r   r#   r   s       r   r#   zeansType6Sub.__init__S  r   r,   r   r-   r2   s   @r   r   r   R  r   r,   r   c                         e Zd Zd fd	Z xZS )ItemPackagingUomsType7SubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   r   r#   )r$   r7   r8   r9   eanr*   r+   s         r   r#   z"ItemPackagingUomsType7Sub.__init__Z  s6    7'..7dGS]]U\]]]]]r,   r^   r-   r2   s   @r   r   r   Y  sG        ^ ^ ^ ^ ^ ^ ^ ^ ^ ^r,   r   c                         e Zd Zd fd	Z xZS )InventoryItemsTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   r   r#   )r$   r7   r8   r9   ItemStorageDatar*   r+   s         r   r#   zInventoryItemsTypeSub.__init__a  s6    3#T**3D$ee]deeeeer,   r^   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 )ItemStorageDataTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   r   r#   )r$   r7   r8   r9   DefaultStorageUnitr*   r+   s         r   r#   zItemStorageDataTypeSub.__init__h  s7    4$d++4T4J\iiahiiiiir,   r^   r-   r2   s   @r   r   r   g  r   r,   r   c                         e Zd Zd fd	Z xZS )DefaultStorageUnitTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r   r#   r   s          r   r#   z"DefaultStorageUnitTypeSub.__init__o  s9    7'..7dGVUYff^efffffr,   re   r-   r2   s   @r   r   r   n  r   r,   r   c                         e Zd Zd fd	Z xZS )eansType8SubNc                 L     t          t          |           j        ||fi | d S r!   )r"   r  r#   r   s       r   r#   zeansType8Sub.__init__v  r   r,   r   r-   r2   s   @r   r  r  u  r   r,   r  c                         e Zd Zd fd	Z xZS )SalesItemsTypeSubNc                 ^     t          t          |           j        |||||||||	|
|fi | d S r!   )r"   r  r#   )r$   r7   r8   r9   defaultStorageAreaclassification1classification2classification3classification4classification5priceClassificationImp_SalesItemDeliveryDatesr*   r+   s                r   r#   zSalesItemsTypeSub.__init__}  sy    /&&/dGEWYhjy  |K  M\  ^m  oB  D^  	k  	k  cj  	k  	k  	k  	k  	kr,   )NNNNNNNNNNNr-   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 )defaultStorageAreaTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   r  r#   )r$   r7   r8   r9   	warehouser*   r+   s         r   r#   z"defaultStorageAreaTypeSub.__init__  s6    7'..7dGYcc[bcccccr,   r^   r-   r2   s   @r   r  r    sG        d d d d d d d d d dr,   r  c                         e Zd Zd fd	Z xZS )!Imp_SalesItemDeliveryDatesTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   r  r#   r$   r7   r8   r9   deliveryDater*   r+   s         r   r#   z*Imp_SalesItemDeliveryDatesTypeSub.__init__  s7    ?/66?dGUannfmnnnnnr,   r^   r-   r2   s   @r   r  r    G        o o o o o o o o o or,   r  c                         e Zd Zd fd	Z xZS )deliveryDateTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r  r#   r$   r7   r8   r9   dateFrom	dateUntilr*   r+   s          r   r#   zdeliveryDateTypeSub.__init__  s9    1!4((1$gxQZgg_fgggggr,   re   r-   r2   s   @r   r  r    rf   r,   r  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$   r7   r8   r9   specialValuedatetimeZoner*   r+   s	           r   r#   zdateFromTypeSub.__init__  s;    -ot$$-dD'<QUW_lldklllllr,   r   r-   r2   s   @r   r!  r!    r   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_ItemDeliveryDatesTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   r+  r#   r  s         r   r#   z%Imp_ItemDeliveryDatesTypeSub.__init__  s7    :*D11:4wP\iiahiiiiir,   r^   r-   r2   s   @r   r+  r+    r   r,   r+  c                         e Zd Zd fd	Z xZS )deliveryDateType9SubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r.  r#   r  s          r   r#   zdeliveryDateType9Sub.__init__  s9    2"D))24wR[hh`ghhhhhr,   re   r-   r2   s   @r   r.  r.    r_   r,   r.  c                         e Zd Zd fd	Z xZS )dateFromType10SubNc                 T     t          t          |           j        ||||||fi | d S r!   )r"   r1  r#   r#  s	           r   r#   zdateFromType10Sub.__init__  s<    /&&/dG\SWYannfmnnnnnr,   r   r-   r2   s   @r   r1  r1    r  r,   r1  c                         e Zd Zd fd	Z xZS )dateUntilType11SubNc                 T     t          t          |           j        ||||||fi | d S r!   )r"   r4  r#   r#  s	           r   r#   zdateUntilType11Sub.__init__  s<    0 $''0tWlTXZboognooooor,   r   r-   r2   s   @r   r4  r4    r   r,   r4  c                         e Zd Zd fd	Z xZS )Imp_ItemColorImagesTypeSubNc                 T     t          t          |           j        ||||||fi | d S r!   )r"   r7  r#   )	r$   r7   r8   r9   uri	itemImageColorr*   r+   s	           r   r#   z#Imp_ItemColorImagesTypeSub.__init__  s<    8($//8tWcS\^cpphopppppr,   r   r-   r2   s   @r   r7  r7    sG        q q q q q q q q q qr,   r7  c                         e Zd Zd fd	Z xZS )ColorTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   r=  r#   rc   s          r   r#   zColorTypeSub.__init__  s7    *lD!!*4wk^^V]^^^^^r,   re   r-   r2   s   @r   r=  r=    sG        _ _ _ _ _ _ _ _ _ _r,   r=  c                         e Zd Zd fd	Z xZS )Imp_ItemProductLinesTypeSubNc                 P     t          t          |           j        ||||fi | d S r!   )r"   r@  r#   )r$   r7   r8   r9   ProductLiner*   r+   s         r   r#   z$Imp_ItemProductLinesTypeSub.__init__  s6    9)4009$g{gg_fgggggr,   r^   r-   r2   s   @r   r@  r@    rf   r,   r@  c                         e Zd Zd fd	Z xZS )ProductLineTypeSubNc                 R     t          t          |           j        |||||fi | d S r!   )r"   rD  r#   rc   s          r   r#   zProductLineTypeSub.__init__  s8    0 $''0tWdKdd\cdddddr,   re   r-   r2   s   @r   rD  rD    r3   r,   rD  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)noderK  	rootClasss      r   get_root_tagrS    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   getrootrS  rH  rU  factorybuildSaveElementTreeNodesysstdoutwriteexport
inFilenamesilencer   r   rootNoderootTagrR  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 )NrU  )rW  mapping_Tzutf-8)rY  xml_declarationencoding
)r   rZ  rS  rH  rU  r[  r\  to_etreegds_reverse_node_mappingr]  r   tostringr^  r_  r`  )rc  rd  r   r   re  rf  rR  rg  mappingrootElementreverse_mappingcontents               r   
parseEtreert    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)BytesIOrU  rV  r   )rW  rX  )r^  version_infomajorrw  iorx  r   rS  rH  rU  r[  r\  r]  r_  r`  ra  )inStringrd  rw  r   re  rf  rR  rg  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 )NrU  z#from ??? import *

zimport ??? as model_

zrootObj = model_.rootClass(
r   )rW  z)
)r   rZ  rS  rH  rU  r[  r\  r]  r^  r_  r`  exportLiteralrb  s           r   parseLiteralr  0  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  L  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  Q  sF    8ABB<D
4yyA~~aJ	*r,   __main__r!   )F)r
   r^  lxmlr   r   'src.data.imports.schema.article_b2b_libdataimportsschemaarticle_b2b_librH  r   r   ExternalEncodingr]  rU  r   subclassItemTyper5   DefaultVariantItemTyper\   Imp_CollectionTypera   ReferenceItemTyperh   Imp_CareReference1Typerm   Imp_CareReference2Typerr   Imp_CareReference3Typeru   Imp_CareReference4Typerx   Imp_CareReference5Typer{   Imp_CareReference6Typer~   Imp_CareReferenceGroupTyper   Imp_CollectionType1r   Imp_ItemGroupTyper   Imp_ItemThemeGroupTyper   Imp_KindOfFabricTyper   Imp_MaterialComposition1Typer   Imp_MaterialComposition2Typer   Imp_MaterialComposition3Typer   Imp_PackagingTypeTyper   Imp_SizeRegisterTyper   Imp_SizeTyper   SizeHierarchyTyper   SizeRegisterTyper   Imp_ColorTyper   UomsTyper   EANsTyper   	TextsTyper   ItemPackagingUomsTyper   StorageUnitTyper   eansTyper   OrganizationalUnitItemsTyper   OriginalItemTyper   	eansType2r   AlternativeItemsTyper   SubstituteTyper   DefaultVariantItemType3r   	eansType4r   ReferenceItemType5r   	eansType6r   ItemPackagingUomsType7r   InventoryItemsTyper   ItemStorageDataTyper   DefaultStorageUnitTyper   	eansType8r  SalesItemsTyper  defaultStorageAreaTyper  Imp_SalesItemDeliveryDatesTyper  deliveryDateTyper  dateFromTyper!  dateUntilTyper(  Imp_ItemDeliveryDatesTyper+  deliveryDateType9r.  dateFromType10r1  dateUntilType11r4  Imp_ItemColorImagesTyper7  	ColorTyper=  Imp_ItemProductLinesTyper@  ProductLineTyperD  rS  r   rt  r}  r  r  r  r  r.   r  r,   r   <module>r     s  , 
			 



             : : : : : : : : : : : : : : :   
 
 
 
    e e e e e8% e e e +  Y
 Y
 Y
 Y
 Y
(# Y
 Y
 Y
 )  i i i i i ? i i i ,E  (h h h h hH7 h h h (=  $@ @ @ @ @85 @ @ @ ';  #l l l l l ? l l l ,E  (l l l l l ? l l l ,E  (l l l l l ? l l l ,E  (l l l l l ? l l l ,E  (l l l l l ? l l l ,E  (l l l l l ? l l l ,E  (p p p p pH$G p p p 0M # ,i i i i iX9 i i i )?  %g g g g g85 g g g ';  #l l l l l ? l l l ,E  (j j j j jh; j j j *A  &r r r r rh&K r r r 2Q % .r r r r rh&K r r r 2Q % .r r r r rh&K r r r 2Q % .k k k k kx= k k k +C  'j j j j jh; j j j *A  &} } } } }h+ } } } "1  g g g g g85 g g g ';  #Y Y Y Y Y(3 Y Y Y &9  "c c c c cx- c c c #3  X X X X X(# X X X )  O O O O O(# O O O )  \ \ \ \ \8% \ \ \ +  e e e e ex= e e e +C  'm m m m m1 m m m %7  !G G G G G(# G G G )  ~ ~ ~ ~ ~X%I ~ ~ ~ 1O $ -a a a a a(3 a a a &9  "H H H H H8% H H H +  c c c c ch; c c c *A  &G G G G G/ G G G $5   h h h h h!A h h h -G   )H H H H H8% H H H +  c c c c cH7 c c c (=  $H H H H H8% H H H +  ^ ^ ^ ^ ^ ? ^ ^ ^ ,E  (f f f f fH7 f f f (=  $j j j j jX9 j j j )?  %g g g g g ? g g g ,E  (H H H H H8% H H H +  k k k k k/ k k k $5   d d d d d ? d d d ,E  (o o o o o(O o o o 4U ' 0h h h h h(3 h h h &9  "m m m m mh+ m m m "1  n n n n nx- n n n #3  j j j j j8#E j j j /K " +i i i i i85 i i i ';  #o o o o o/ o o o $5   p p p p p1 p p p %7  !q q q q q!A q q q -G   )_ _ _ _ _8% _ _ _ +  h h h h h("C h h h .I ! *e e e e e1 e e e %7  !     .: : : :4   0   .

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