;ò 6€Ž@c @sÐdZdZdklZdkZdkZdklZlZdk Z dk l Z dk l Z dk Tye dZWnej o d ZnXd fd „ƒYZfheeeedd e d d „ ZdS(sÌ ################################################################################ # Copyright (c) 2003, Pfizer # Copyright (c) 2001, Cayce Ullman. # Copyright (c) 2001, Brian Matthews. # # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # Redistributions of source code must retain the above copyright notice, this # list of conditions and the following disclaimer. # # Redistributions in binary form must reproduce the above copyright notice, # this list of conditions and the following disclaimer in the documentation # and/or other materials provided with the distribution. # # Neither the name of actzero, inc. nor the names of its contributors may # be used to endorse or promote products derived from this software without # specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ################################################################################ s=$Id: SOAPBuilder.py,v 1.19 2004/04/10 04:28:46 irjudson Exp $(s __version__N(s toXMLnames fromXMLname(sConfig(sNS(s*iis SOAPBuilderc Bs¥tZdZdZdeiZdeiZheiei <ei ei <ei ei <eiei<eiei<eiei<eiei<eiei s$ s4%(ENV_T)s:Envelope %(ENV_T)s:encodingStyle="%(ENC)s"s isUTF-8ic Csé|tjodi|ƒn||_||_||_||_||_||_||_ ||_ | |_ | |_ g|_ d|_d|_d|_h|_h|_d|_g|_d|_t|tƒ |_| |_dS(Nsii(sencodingsNonesencodesargssselfskwsenvelopesmethods namespacesheaders methodattrssuse_refssconfigsoutstcountersncountersicountersenvnssidssdepths multirefssmultiss isinstancesbodyTypesbodysnoroot( sselfsargsskwsmethods namespacesheaders methodattrssenvelopesencodingsuse_refssconfigsnoroot((sI/mnt/gmirror/ports/net/py-soappy/work/SOAPpy-0.11.6/SOAPpy/SOAPBuilder.pys__init__Is.                    cCs‘tio dGHnh}|ii}|io&|i|idd|ƒt|_n|i o@|i d7_ |i |t i ƒd} |iid| ƒn|ioÅ|i d7_ d}|io8x5|iiƒD] \} }|d| |f7}qØWn|io|i ||iƒ\} } nddf\} } |iid | |i| ||i|ƒfƒnyt|iƒtjo|if}n |i}x'|D]} |i| d|d |ƒq§Wt|id ƒo|ii i!|iƒoOxˆ|ii i"|iƒD].} |i|i#i"| ƒ| d|d |ƒqWn=x9|i#iƒD](\} }|i|| d|d |ƒqUWWn”t$j oˆ|i%djont&d |id |i#d|id|id|id|id|i'd|i(ddd|iƒ }|i*ƒSn‚nX|io0|iid| |ifƒ|i d8_ n|i ofd|_+x3|i,D](\}}|i||d|d |ƒqpW|iid| ƒ|i d8_ n|i'oMt/d„|i0iƒƒ}d|i2g|dg|i|i3g|_n|i(tjo=|ii4d|i5|i(ƒdi6|iƒi7|i(ƒSn|ii4d|i8ƒdi6|iƒSdS(Ns In build.sHeaderstypediis <%sBody> ss %s="%s"s <%s%s%s%s%s> sns_maps argsOrderingsargsskwsmethods namespacesheaders methodattrssenvelopesencodingsuse_refssconfigs s cCsd|d|dfS(Ns xmlns:%s="%s"ii(sns(sns((sI/mnt/gmirror/ports/net/py-soappy/work/SOAPpy-0.11.6/SOAPpy/SOAPBuilder.pysµss (9sConfigsdebugsns_mapsselfsconfigstypedsheadersdumpsNonesbodysdepthsgennssNSsENVsbody_nssoutsappendsmethodsas methodattrssitemssksvs namespacesmethodnssnsgenrootstypesargss TupleTypesishasattrs argsOrderingshas_keysgetskwsRecursionErrorsuse_refss SOAPBuildersenvelopesencodingsbsbuildsmultiss multirefssobjstagsmapsenvnsses_env_tops_env_botsinserts _xml_enc_topsjoinsencodes_xml_top(sselfstagsns_mapstypedsargssesasbsobjsmethodnssisksnsbody_nssv((sI/mnt/gmirror/ports/net/py-soappy/work/SOAPpy-0.11.6/SOAPpy/SOAPBuilder.pysbuildgs€         3 ,0 $       2 cCs1tio dGHn|id7_d|iSdS(Ns In gentag.isv%d(sConfigsdebugsselfstcounter(sself((sI/mnt/gmirror/ports/net/py-soappy/work/SOAPpy-0.11.6/SOAPpy/SOAPBuilder.pysgentagÃs cCsI|tjoddfSnt|ƒtjo=t|ƒdjo|\}}qqt|df\}}nt}|i|ƒo||ddfSn|i i|ƒo2|i |}|i |<||<|ddfSn| o d|i }|i d7_ n|||<|i i o|dd||ffSndd|fSdS( Nsiis:sns%dis xmlns:%s="%s"s xmlns="%s"(snsURIsNonestypes TupleTypeslensnssns_mapshas_keysselfs_env_nssenvnssncountersconfigsbuildWithNamespacePrefix(sselfsns_mapsnsURIsns((sI/mnt/gmirror/ports/net/py-soappy/work/SOAPpy-0.11.6/SOAPpy/SOAPBuilder.pysgennsÈs&     cCs^|iodSn|idjodSn|i|tiƒ\}}d||i |fSdS(Nsis %sroot="%d"%s( sselfsnorootsdepthsgennssns_mapsNSsENCsnssnsmultis(sselfsns_mapsnssn((sI/mnt/gmirror/ports/net/py-soappy/work/SOAPpy-0.11.6/SOAPpy/SOAPBuilder.pysgenrootäs  cCs+|idjodSn|iit|ƒƒ ou|i}|it|ƒ<|d|_|idjodSn|idjo d|Sn|i i ||fƒnW|idjo t d‚n|it|ƒ}|i o |idjo d|Sn|ii d|||i|ƒfƒtSdS(Nisiis id="i%d"s!Cannot serialize recursive objects<%s href="#i%d"%s/> (sselfsdepthsidsshas_keysidsobjsicountersnsuse_refss multirefssappendstagsRecursionErrorsmultissoutsgenrootsns_mapsNone(sselfsobjstagsns_mapsn((sI/mnt/gmirror/ports/net/py-soappy/work/SOAPpy-0.11.6/SOAPpy/SOAPBuilder.pyscheckrefôs"    &c Cs?tiodGdG|GHn|iƒ}|id7_t|ƒt t t fjo t d‚ny t |dt|ƒiƒ}Wn—tj o‹t|ƒtjo d}n4tot|ƒtjo d}nt|ƒi}|ii|it||||||i|ƒƒƒnX|||||ƒ|id8_dS(NsIn dump.sobj=istag must be a string or Nonesdump_sintegersboolean(sConfigsdebugsobjsns_mapscopysselfsdepthstypestagsNoneTypes StringTypes UnicodeTypesKeyErrorsgetattrs__name__smethsAttributeErrorsLongTypesobj_typespythonHasBooleanTypes BooleanTypesoutsappendsdumpersNonestypedsgenroot(sselfsobjstagstypedsns_mapsobj_typesmeth((sI/mnt/gmirror/ports/net/py-soappy/work/SOAPpy-0.11.6/SOAPpy/SOAPBuilder.pysdumps$      ss;<%(tag)s%(type)s%(id)s%(attrs)s%(root)s>%(data)s c Csatio dGHn|tjo|ii}n|p |iƒ}t |ƒ}d} } }|o|oN|i||ƒ\}} |i||iiƒd} d| ||| f}ny|i||ƒ} WnnXy|iƒ} Wn3|djotit|ƒƒ} q|} nX| hd|<d|<d| <d |<d |<d | <SdS( Ns In dumper.sis %stype="%s%s"%ssstringstagstypesdatasrootsidsattrs(sConfigsdebugsnsURIsNonesselfsconfigstypesNamespaceURIstagsgentags toXMLnamesasnststypedsobj_typesgennssns_mapsnssschemaNamespaceURIsinssobjs _marshalAttrss _marshalDatasdatascgisescapesstrsxmlsrootattrsid(sselfsnsURIsobj_typesobjstagstypedsns_mapsrootattrsidsxmlsinssdatasnsasnsst((sI/mnt/gmirror/ports/net/py-soappy/work/SOAPpy-0.11.6/SOAPpy/SOAPBuilder.pysdumper-s,     c CsÜtio dGHn|p |iƒ}t|ƒ}tiot|ƒnt i |ƒo d}nAt i |ƒo d}n't i |ƒo d}n t |ƒ}|ii|itd|||||i|ƒƒƒdS(NsIn dump_float.sINFs-INFsNaNsdouble(sConfigsdebugstagsselfsgentags toXMLnames strict_ranges doubleTypesobjsfpconstsisPosInfsisNegInfsisNaNsstrsoutsappendsdumpersNonestypedsns_mapsgenroot(sselfsobjstagstypedsns_map((sI/mnt/gmirror/ports/net/py-soappy/work/SOAPpy-0.11.6/SOAPpy/SOAPBuilder.pys dump_floatMs       !c CsÀtio dGHn|p |iƒ}t|ƒ}|i|||ƒ}|t jodSny|i ƒ}Wn |}nX|i i|it dti|ƒ||||i|ƒ|ƒƒdS(NsIn dump_string.sstring(sConfigsdebugstagsselfsgentags toXMLnamescheckrefsobjsns_mapsidsNones _marshalDatasdatasoutsappendsdumperscgisescapestypedsgenroot(sselfsobjstagstypedsns_mapsdatasid((sI/mnt/gmirror/ports/net/py-soappy/work/SOAPpy-0.11.6/SOAPpy/SOAPBuilder.pys dump_stringcs    $cCsxtio dGHn|p |iƒ}t|ƒ}|i||ii ƒd}|i i d|||i |ƒfƒdS(Ns In dump_None.is<%s %snull="1"%s/> (sConfigsdebugstagsselfsgentags toXMLnamesgennssns_mapsconfigsschemaNamespaceURIsnssoutsappendsgenroot(sselfsobjstagstypedsns_mapsns((sI/mnt/gmirror/ports/net/py-soappy/work/SOAPpy-0.11.6/SOAPpy/SOAPBuilder.pys dump_Noneus   cCsptiodGdG|GHn|p |iƒ}t|ƒ}t|ƒtjo |i }n|}|i |||ƒ} | t jodSny|d}d} Wnœt|dt ƒot|dt ƒo`t|dt ƒo7td|id|iƒ}|i|_ti|_q3td|iƒ}n tƒ}d } nXd } | ocx`|d D]P}t|ƒt|ƒjp#t|ƒtjo|i|ijo d} PqVqVWnd } | oŒt|tƒp=t|ƒtjp*t|tƒot|dt ƒo|iomy|ipti}Wnti}nX|i!||ƒ\}} y |i}Wn d }nX||}qgt|tƒoX|i%|i&i'|i&i(ƒ}|o)|i!||ƒ\}} ||i}qCd }qgt|ƒi)}t|ƒt*jo d }n|djo d}n|i!||i&i'ƒd|}n!|i!||i&i'ƒdd }y|i+||ƒ}Wn d }nX|i!|ti-ƒ\} }|i!||i&i0ƒ\}}|i3i4d|| |t5|ƒ|| | |||i6|ƒ| |f ƒ| }y |i8}Wn d}nXx$|D]}|i:||||ƒq8W|i3i4d|ƒdS(Ns In dump_list.sobj=is_typeds_types _complexTypestypeds complexTypeiss SOAPStructsur-typesstringsfloatsdoubles7<%s %sarrayType="%s[%d]" %stype="%sArray"%s%s%s%s%s%s> sitems (;sConfigsdebugsobjstagsselfsgentags toXMLnamestypes InstanceTypesdatascheckrefsns_mapsidsNonessamplesemptysgetattrstypedArrayTypes_types _complexTypes _typenamesNSsURNs_nss structTypes same_typesis __class__sndecls isinstancesDictTypesanyTypestnssgennssnsstypenamests_validNamespaceURIsconfigstypesNamespaceURIsstrictNamespacess__name__s StringTypes _marshalAttrssasENCsenssedeclsschemaNamespaceURIsinssideclsoutsappendslensgenrootstypeds _elemsnames elemsnamesdump(sselfsobjstagstypedsns_maps elemsnamesideclsinsssamplesidsndeclsenssemptys same_typesedeclsdatasasnsstnssistypenamest((sI/mnt/gmirror/ports/net/py-soappy/work/SOAPpy-0.11.6/SOAPpy/SOAPBuilder.pys dump_list€s’      &     ? P      $  G  c Cs tio dGHn|p |iƒ}t|ƒ}|i|||ƒ}|t jodSny|i ||ƒ}Wn d}nX|i id||||i|ƒfƒxE|iƒD]7\}}|ddjo|i||d|ƒq¸q¸W|i id|ƒdS(NsIn dump_dictionary.ss <%s%s%s%s> is_is (sConfigsdebugstagsselfsgentags toXMLnamescheckrefsobjsns_mapsidsNones _marshalAttrssasoutsappendsgenrootsitemssksvsdump( sselfsobjstagstypedsns_mapsasvsksid((sI/mnt/gmirror/ports/net/py-soappy/work/SOAPpy-0.11.6/SOAPpy/SOAPBuilder.pysdump_dictionaryís"    ) c CsîtiodGdG|GdG|GHn| o7t|tƒo|io |i}qb|iƒ}nt |ƒ}t|t ƒo|i ||||ƒdSnt|tƒo«|i|tiƒ\} }|i|tiƒ\}}|iid|| |||i|ifƒt|dƒo|i|id||ƒn|iid|ƒdSn|i|ƒ}y|i ||ƒ}Wn d}nXt|t"ƒo(|iid||||fƒdSn|i#|||ƒ} | t%jodSnt|t&ƒo¡d} |i(|i)i*|i)i+ƒ} | o&|i|| ƒ\} } | |}n|iid || | ||fƒ|i-i.ƒ}t|d ƒo^x[t0t1|i2ƒƒD]@}|i|i4|ƒ|i2|d |ƒ|i5|i2|ƒq§WnxB|D]:}|d d jo#|it7||ƒ|d |ƒqöqöWt|t8ƒoCd |_9x7|i:D](\}}|i||d|d|ƒqWWn|iid|ƒnLt|tƒo¿d}|o|i(|i)i*|i)i+ƒ} | oV|i|| ƒ\} }|i||i)i?ƒ\}}d|| |iB||f}q;n|iid||| |||iCƒ|fƒn}|iid|| |fƒxH|i-iDƒD]7\}}|d d jo|i||d |ƒq›q›W|iid|ƒdS(NsIn dump_instance.sobj=stag=sQ<%sFault %sroot="1"%s%s> %s %s sdetails ss<%s%s%s> s <%s%s%s%s%s> s_keyordiis_stypedsns_maps s %stype="%s%s"%s%ss<%s%s%s%s%s>%s s <%s%s%s> (EsConfigsdebugsobjstags isinstancesanyTypes_namesselfsgentags toXMLnames arrayTypes dump_liststypedsns_maps faultTypesgennssNSsENCscnsscdeclsENVsvnssvdeclsoutsappends faultcodes faultstringshasattrsdumpsdetailsgenrootsrs _marshalAttrssasvoidTypescheckrefsidsNones structTypesndecls_validNamespaceURIsconfigstypesNamespaceURIsstrictNamespacessnss__dict__skeysskeylistsrangeslens_keyordsis_aslistsremovesksgetattrsbodyTypesmultiss multirefssvstsonssondeclsschemaNamespaceURIsinssindecls_types _marshalDatasitems(sselfsobjstagstypedsns_mapsondeclscdeclsinssindeclsonssidsndeclscnssnssvnsskeylistsasvdeclsisksrstsv((sI/mnt/gmirror/ports/net/py-soappy/work/SOAPpy-0.11.6/SOAPpy/SOAPBuilder.pys dump_instancesŒ   ,   #&'  $ $3 (.s__name__s __module__s_xml_tops _xml_enc_topsNSs__dict__s_env_tops_env_botsENCsENC_TsENVsENV_TsXSDsXSD_TsXSD2sXSD2_TsXSD3sXSD3_TsXSIsXSI_TsXSI2sXSI2_TsXSI3sXSI3_Ts_env_nssNonesConfigs__init__sbuildsgentagsgennssgenrootscheckrefsdumpsdumpers dump_floats dump_stringsdump_strs dump_unicodes dump_Nones dump_NoneTypes dump_lists dump_tuplesdump_dictionarys dump_dicts dump_instance(((sI/mnt/gmirror/ports/net/py-soappy/work/SOAPpy-0.11.6/SOAPpy/SOAPBuilder.pys SOAPBuilder<s0  ~* \      ksUTF-8c CsStd|d|d|d|d|d|d|d|d |d | ƒ } | i ƒSdS( Nsargsskwsmethods namespacesheaders methodattrssenvelopesencodingsconfigsnoroot( s SOAPBuildersargsskwsmethods namespacesheaders methodattrssenvelopesencodingsconfigsnorootstsbuild( sargsskwsmethods namespacesheaders methodattrssenvelopesencodingsconfigsnorootst((sI/mnt/gmirror/ports/net/py-soappy/work/SOAPpy-0.11.6/SOAPpy/SOAPBuilder.pys buildSOAPgs(s__doc__sidentsversions __version__scgiscopyswstools.XMLnames toXMLnames fromXMLnamesfpconstsConfigsNSsTypess BooleanTypespythonHasBooleanTypes NameErrors SOAPBuildersNones buildSOAP( scgis buildSOAPsidentspythonHasBooleanTypesNSs fromXMLnames SOAPBuildersfpconsts toXMLnamescopysConfigs __version__((sI/mnt/gmirror/ports/net/py-soappy/work/SOAPpy-0.11.6/SOAPpy/SOAPBuilder.pys?"s$        ÿÿ-