czk:dZddlmZddlZejdkrexZZddlZddl m Z ddl Z ddl Z ddl Z ddlZ ddlZddlmZn#e$rddlmZddlmZYnwxYwdd lmZmZmZmZe jeZd d d ifd Zd ZdZ d7dZ!dZ"dZ#d8dZ$dZ%dZ& d9dZ' ejj(Z)n#e*$rdZ)YnwxYwdZ+dZ,dZ-dZ.dZ/dZ0dZ1dZ2d Z3d!Z4Gd"d#e5Z6ejdkr e6e7d$Z8e6ed%Z9e6e7d&Z:e6e;d'Z<e6e8d(Z=ejZ>ej?Z@ejAZBe6ed)ZCe6ed*ZDed+eEd,e:d&e9d%e7d-e8d$e=d(e;d.e???'+cjj&8&899CCEEEH%$$17<<x00 )). "X-... 3  ffhh     HH4s: ; ; ;$$A&&((CC HHH###t/D/DE F F F LLeT7CCMHc   HH&1 2 2 27=='' # E"""Xs##A GGCLLL GGIII JsBB77 C%C  C%cttrt}D]n|}|Ut|trt |}n$t|t rfd|D}||<otdrJ|j j|j j j |_ |S|S)z,Sort parameters (same order as xsd:sequence)NcHg|]}td|Sr) sort_dict).0v1kods rD zsort_dict..bs+===R2a58R00=== namespaces) r'dictStructkeysgetrHlisthasattrrOupdate references qualified)rLdretvrKs` @rDrHrHWs"dhh  AaA}a&&>!"Q%++AA4((>=====1===AA 2| $ $ ) N ! !"- 0 0 0 N ! !"- 0 0 0LCM rNcP|dvrd}n|}|dvrtd|d||||fS)z"Return a suitable key for elements) complexType simpleTyper]elementr]r^zUnknown element type  = )r") element_name element_type namespaceeltypes rDmake_keyrfmsP444 ===l\\\66RSSS &) ,,rN)http://schemas.xmlsoap.org/soap/encoding/c , td|d||D]n} | dvr| dvr$t|d| | } d} nK| r| } d} n t|d| | du} | rt } || jd<|| _| D]]}|d }|s|d }|s|d }|s|d }|s~|d rt|r`|d|d }|}|}|}t||||||||nd}|d}t|dkr|\}}n d|d}}|r| |p|}|||fvr@|dkr:t |d | dkr fd n>||kr5|dkr.g |D]}|ddD]\}}| dr|}d}d|vr-|d\}}| |}d|vr|d|d}t |d}|c|dkr]|r[d}t|||}||t |}t |}|||<||jd<||_ |nd so|r|}n|}|ddD]\}}|dr|}|d sd}nd}t|||}||t | |ddks't'|dpddks ||kr`|dkrZt) tr#t| dks|dvrd _n& g n"t| dks|dvr g nd| _|d | r|d r*|d p|} | |<|d | j|<|| j|<n'td|d| | _|||d krd|rPt) tr jr j}nd}t|||||||||! _| rGt|||}||t || pdS)"z7Parse and define simple element types as Struct objectszProcessing element  ) annotation documentation)r` restrictionrTz has no children! TFNtypeitemTypebaserefname_anyTyperrrArrayrTcFfd|dDS)Nc&g|] }|Srw)rIr[fns rDrMz5process_element....s!#@#@#@aBBqEE#@#@#@rNri)split)srxs rDz!process_element..s&#@#@#@#@1773<<#@#@#@rNz :arrayTypez[]r]zxmlns:r` maxOccurs unbounded)jettyz"complexContent/simpleType/element ra extension)struct)rrget_local_namechildrenrQrOrXprocess_elementrylenget_namespace_uriREVERSE_TYPE_MAPrSendswithindexrf setdefaultappendrintr'arrayrW refers_torV)!elementsrbnodercxsd_uridialectrdrX soapenc_urirtagralias new_structr?tcetns type_nameuriarKr[ fn_namespacefn_urifn_arrayref_typekey fn_complexe_name base_structrxs! @rDrrys IIILLL,,GHHH^A^A     #B B B     ! !%G G G II,,,D E E EHEE \\^^ ||~~HEE II,,,D E E E t^  )XXF&/F d #(F A ?A ?A& A "jM fI eH "V9 " "#/<<6;A A))++B A#HaB$-y::::"A A1vvzz ! II $adI0,,R00;GCw ,,,g1E1E%)))T::%%''611@@@@B$$g)=)=00A !!!!001::l330()I+/L"i//4=OOC4H4H 1 /0/B/B6/J/J #y00,56Lyt7L7L6L,M '7';';It'L'LH'/I4J4J|4J+8&.y(L&Q&Q-5-@-@fSkk-R-R +1#;;6@ 3 2IIh///+002 ;-#&LL#,LaaaD))DAq||H--)'( x),HH(Hy(LAA((fSkk::++--Q{^5Hq1I1IA1M1MSVZeSeSejsw~j~j~b&)),8}}q((W -C-C$( !T8}}q((Gz,A,A!T(, & %e%%%6/i!#v,-eH!&),5!&)) W`W`abbb#% }!1!1!3!3{!B!Bqzz||!Bb&))'bl'"$,KK#'K, ,gw )+????  A<yAAC   VC[[ 1 1 8 8 @ @ @}^A^ArNc||vrdS|||D] \}}t|tr||krP t ||n>#t $r1}t jt|tYd}~nd}~wwxYw|j rAt|j trt||j d|_ n |j ||<|j r|g||<t|tr1|D].}t|ttfrt ||/dS)zFix unresolved referencesN)ritemsr'rQpostprocess_elementr"warningswarnunicodeRuntimeWarningrrPextend_elementrrT)r processedrKr[r?ns rDrr#sl 9 X  661 a  "H}}>'95555#>>>M'!**n========>{ .ak400."1ak222"&AKK#$+HQKw " c a   6 6 6a&$006'9555+66sA## B-'BBc t|trt|D]\}}t|tre|||||t|tr3|jr,|r*|j||j|<|j||j|<|jrt||jdSdSdS)z< Recursively extend the elemnet if it has an extension base.N) r'rP enumeraterQinsertrOrWrr)r`roikks rDrrDsT$ 4t__ A AEAr$'' Ar48Q///dF++AABA-1_R-@G&r*-1_R-@G&r* > 4 7DN 3 3 3 3 3 4 4 4 4rNc|r|||fSi}|D]\\}}}||kr|||<t|dkryd}|D]r}||} | s!td|d|:|s| }Q||| |s|S|r't|dSdS)NrzPart z not found for r) rSrrrr!copyrVrTvalues) messages message_name part_nameparameter_orderpartsmessage_name_key part_name_keymessagenew_msgparts rD get_messagerSs.+||\95666:B..:J:J / / 6 - }w<//'.m$ u::a<<G!0 E E yy//EIIIMMM<<XYYYY E"iikkGGL)00l1CDDDDN  + ''* * + +rNcb|o-td|vr|ddp|S)Nrrstrryrzs rDr{r{os/1IcQh%CAGGCLLO%Hq!I!IrNcb|o-td|vr|ddpdS)Nrrrrs rDr{r{ps/!RsC1H+I!''#,,q/+QT'R'RrNc  ddlm} i} |ddD]Q\} }| dr|| t| <| dkr|dkr| d}|| d<| dkr|dk} R| D]}|| vrd t | z| |<|pgD]a}|d vr |d }|d }|td |zJ||vrtd|zl|||<td|d|t|||||}tj tj ||}tj |}| ||}t|||||||||| | |}|dvr"| d}| |}|d}td|d||dkr|}n|dkr%|d|d}|s|}nh|dkr |dr|}nE|}|r|}n|dkr|}|rt!|||||||| cdS)z&Find schema elements and complex typesr)SimpleXMLElementNxmlnstargetNamespacezurn:DefaultNamespaceelementFormDefaultrXzns%s)importincluderdschemaLocationz$Schema location not provided for %s!zSchema %s already imported!zImporting schema z from )rdr_rqzParsing Element : r]r^rlF)rr!r`rm) simplexmlrrrrrrrrrrrrrdirnamepreprocess_schemar)schemaimported_schemasrrrrr5r6r7global_namespacesrXrlocal_namespacesrKr[rr`schema_namespaceschema_locationrBrimported_schemarcrd element_nsrbrs rDrrss ,+++++qqq + +1 <<  423 ^A.. / ! ! !***%d+%& T " $ $ $k)I%%''DD & & &$*S1B-C-C$C b !??$$*/H/H  ! ! # #'= = =&{3 %&67O& @CSSTTT"222 7/IJJJ0@ _ - III7G7G7GY Z Z ZunlSSC7##BGLL$O$OPPD7??4((D/.sgFFFO o/?%we^"$5y B B B--// C C C(.I*2.J"6?L III,,, M N N N%%''=88"++--''))\99"7=WEJJJ2&//11H''))Y6676?6""++--''0022HH++--::&H H,, ')YHHH]/H/HrNc`tjt||ddS)N)datetimetimestrptime)rzfmts rDr{r{s%x04==C3H3H!3LNrNc*d} t||S#t$rs |ddks|ddkr|ddvr ddl}||cYS#t$rYnwxYw ddl}||cYS#t$rYnwxYw ddl}|j |cYS#t$rYnwxYwtj d t|ddkr |ddn |dd} t||d zcYS#t||cYcYSxYw#t$rPd |vr7tj d t|d| d }t||cYcYSwxYwwxYw) Nz%Y-%m-%dT%H:%M:%SZri)ri-+rzvremoving unsupported "Z" suffix or UTC offset. Install `iso8601`, `isodate` or `python-dateutil` package to support itz.%f.z"removing unsuppported microseconds) _strptime ValueErroriso8601 parse_date ImportErrorisodateparse_datetimedateutil.parserparserparserrrr)rzrrrdateutils rD datetime_urs: C$%C   "%"%"%! %u||" 2/1I1I"NNN"--a00000"D"NNN"11!44444"D****#?0033333"D WYghhhesllAcrcFF#2# ) C%K00000 ) C((((((( % % %axx BNSSSmqwws||m$Q$$ $ $ $ $ $  %;"%s F"D4AF A+(D4*A++D4/B F BD4BD4B;8F; CD4C=D4DFD1-D4.F1D44AF F FFc*|SN) isoformat)dts rDr{r{s rNcVt|dddS)Nr %Y-%m-%d)rdaters rDr{r{s$9QqtWj116688rNc,|dS)NrstrftimerYs rDr{r{s1::j))rNcFt|dS)Nz%H:%M:%S)rrrs rDr{r{s9Q ++0022rNc,|dS)Nz%H%M%Srrs rDr{r{s1::h''rNcddddd|S)NFT)0false1truerwrs rDr{r{sT4HHKrNcddd|S)Nrr)FTrwrs rDr{r{s7&11!4rNc,d|S)Nz{0:f}formatrs rDr{r{sgnnQ''rNc,d|S)Nz{0:.10f}r )rAs rDr{r{sJ%%a((rNcJeZdZdZdZdZdZdZdZdZ dZ d Z d Z d S) Aliasc$||c|_|_dSr)py_typexml_type)selfrrs rD__init__zAlias.__init__s&-x# dmmmrNc,||Sr)r)rvalues rD__call__zAlias.__call__s||E"""rNc(d|jd|jdS)Nz)rrrs rD__repr__zAlias.__repr__s*.---FFrNcLt|to|j|jkSr)r'r rrothers rD__eq__z Alias.__eq__s %''KDMU^,KKrNc.|| Srrrs rD__ne__z Alias.__ne__;;u%%%%rNc~t|tr|j|jkSt|trdSdS)NFTr'r rrQrs rD__gt__z Alias.__gt__ s9 eU # #JDMEN,J%J eV $ $2UUtrNc~t|tr|j|jkSt|trdSdS)NTFr"rs rD__lt__z Alias.__lt__s9 eU # #JDMEN,J%J eV $ $1TTurNcV||p||Srr#rrs rD__ge__z Alias.__ge__%{{5!!7T[[%7%77rNcV||p||Srr'rs rD__le__z Alias.__le__r)rNc*t|jSr)hashrrs rD__hash__zAlias.__hash__sDM"""rNN) __name__ __module__ __qualname__rrrrrr#r%r(r+r.rwrNrDr r s888###GGGLLL&&&  888888#####rNr longbyteshortdoubleintegerdurationanyURIstringbooleanrfloatdecimaldateTimerrcg|] \}}||f Srwrw)rIrKr[s rDrMrMKs ===DAq!Q===rN) base64Binary unsignedByte unsignedInt unsignedLong unsignedShortceZdZdZddZdZddZdZdZd Z d Z d Z d Z d Z dZdZdZdZdZdZdZdZdS)rQzEMinimal ordered dictionary to represent elements (i.e. xsd:sequences)Nch||_g|_d|_i|_i|_d|_d|_dSNF)r _Struct__keysrrOrWrrXrrs rDrzStruct.__init__]s7  rNc||jvr|j|t|||dSr)rGrrP __setitem__)rrrs rDrJzStruct.__setitem__fsC dk ! ! K  s # # # sE*****rNrc||jvr|j||t|||dSr)rGrrPrJ)rrrrs rDrz Struct.insertksE dk ! ! K  uc * * * sE*****rNc||jvr|j|t||dSr)rGremoverP __delitem__rHs rDrNzStruct.__delitem__psA $+   K  s # # # s#####rNc*t|jSr)iterrGrs rD__iter__zStruct.__iter__usDK   rNc|jSrrGrs rDrRz Struct.keysxs {rNc*fdjDS)Nc$g|] }||f Srwrw)rIrrs rDrMz Struct.items..|s"888Sd3i 888rNrSrs`rDrz Struct.items{s8888DK8888rNct|tr|jr |j|_|D] \}}|||< t|tr|js |j|_t|trX|j|j|j|j|j|_|j |_ dSdSr) r'rQrrrrOrVrWrXr)rrrKr[s rDrVz Struct.update~s eV $ $ ! !yDHKKMM  DAqDGG eV $ $ %TZ %DJ eV $ $ - O " "5#3 4 4 4 O " "5#3 4 4 4"_DN"_DNNN  - -rNcXt|j}|||S)zMake a duplicate)rQrrV)rnews rDrz Struct.copys(TX 4 rNcbt|to|j|jko |jdkSrr'rQrrs rDrz Struct.__eq__s-%((WTX-BWtxSWGWWrNc.|| Srrrs rDrz Struct.__ne__r rNct|trN|jd|jd|jdf|jd|jd|jdfkSdS)NrrTrZrs rDr#z Struct.__gt__sq eV $ $ Bdhqk48A;QR -TX]XabcXdfkfopqfrtyt}~uAXB.B'BtrNct|trN|jd|jd|jdf|jd|jd|jdfkSdS)Nr]rrFrZrs rDr%z Struct.__lt__sq eV $ $ Bdhqk48A;QR -TX]XabcXdfkfopqfrtyt}~uAXB.B'BurNcV||p||Srr'rs rDr(z Struct.__ge__r)rNcV||p||Srr'rs rDr+z Struct.__le__r)rNc*t|jSr)r-rrs rDr.zStruct.__hash__sDH~~rNc<dt|zS)N%s)rP__str__rs rDrdzStruct.__str__sdll4((((rNc|js!t|Sd|jdz}|r|dz }|D]\}}d}t |t r d}|d}t |t r|j}n?t |tr|j }n"t |tr |jd}|r|g}||d|dz }|ddd z}|S) Nrcrz {FTrz, }) rrrRrr'rTrmr/r rrQ)rrzrKris_lists rDrzStruct.__repr__sx0DIIKK 0 00 48A;  99;;  IA  ) )1a&&"G!Aa&&! A5))! AA6**!aAA111aaa((#2#s ArNrrG)r/r0r1__doc__rrJrrNrQrRrrVrrrr#r%r(r+r.rdrrwrNrDrQrQZs5OO+++ ++++ $$$ !!!999 - - - XXX&&&888888)))rNrQ)NrgNrrF)Nri __future__rsysversionrr(rrr<rrloggingr#rr.urlparserrurllibr urllib.parser r r r r getLoggerr/rrrHrfrrrrrget_namespace_prefixrrrAttributeErrorr datetime_mdate_udate_mtime_utime_mbool_ubool_m decimal_mfloat_mobjectr rr2r3r4r;r5r6DateTimerDaterTimer7any_uriboolTYPE_MAPTYPE_MARSHAL_FNTYPE_UNMARSHAL_FNrPrrrVrQrwrNrDrs*)(''''' ;J &NNN!!!!!!!&&&))))))%%%%%%%%&BAAAAAAAAAAAg!!!RQS++++\, - - -37 KgAgAgAgAT666B 4 4 4++++8JIRR 9>GHGHGHGHXO!*IIOOONNIIIO &%&%&%R' & 8 8 ) ) 2 2 ' ' K K 4 4 ' ' ( (!#!#!#!#!#F!#!#!#F; 5f  D uS& c7 uh   %i   }} 5j ! ! %X   X) 7&& Y 7 H Y z M6 M6 j X $ z M6 M6 7 Y&  z M6 M6& 4==HNN,<,<===>> hHSMhhhhhThhhhhs# AAA B--B87B8