Your IP : 18.119.142.113


Current Path : /opt/alt/python33/lib64/python3.3/xmlrpc/__pycache__/
Upload File :
Current File : //opt/alt/python33/lib64/python3.3/xmlrpc/__pycache__/client.cpython-33.pyc

�
��fN�c&@s�dZddlZddlZddlZddlmZddlZddlZddl	m
Z
ddlZddlZddl
mZyddlZWnek
r�dZYnXdd�Zejdd�ZdWZdYZdZZd[Zd\Zd]Zd^Zd_Zd`ZdaZdbZdcZ ddZ!deZ"Gdd�de#�Z$Gdd�de$�Z%Gdd�de$�Z&Gdd�de$�Z'e(Z)Z*eddd�Z+e+j,d�dkr�d d!�Z-n0e+j,d"�dkr�d#d!�Z-nd$d!�Z-[+d%d&�Z.Gd'd(�d(�Z/d)d*�Z0d+d,�Z1Gd-d.�d.�Z2d/d0�Z3e/e2fZ4Gd1d2�d2�Z5Gd3d4�d4�Z6Gd5d6�d6�Z7Gd7d8�d8�Z8Gd9d:�d:�Z9Gd;d<�d<�Z:dZ;Z<Z=dfdfd=d>�Z?ddddfd?d@�Z@dfdfdAdB�ZAdCdD�ZBdEdFdG�ZCGdHdI�dIerHejDneE�ZFGdJdK�dK�ZGGdLdM�dM�ZHGdNdO�dOeH�ZIGdPdQ�dQ�ZJeJZKeLdRkr�eJdS�ZMyeNeMjOjP��Wn2e$k
r	ZQzeNdTeQ�WYddZQ[QXnXe:eM�ZReRjS�eRjTd	dU�eRjUdd	�y"xeR�D]ZVeNeV�qMWWq�e$k
r�ZQzeNdTeQ�WYddZQ[QXq�XndS(gu�
An XML-RPC client interface for Python.

The marshalling and response parser code can also be used to
implement XML-RPC servers.

Exported exceptions:

  Error          Base class for client errors
  ProtocolError  Indicates an HTTP protocol error
  ResponseError  Indicates a broken response package
  Fault          Indicates an XML-RPC fault package

Exported classes:

  ServerProxy    Represents a logical connection to an XML-RPC server

  MultiCall      Executor of boxcared xmlrpc requests
  DateTime       dateTime wrapper for an ISO 8601 string or time tuple or
                 localtime integer value to generate a "dateTime.iso8601"
                 XML-RPC value
  Binary         binary data wrapper

  Marshaller     Generate an XML-RPC params chunk from a Python data structure
  Unmarshaller   Unmarshal an XML-RPC response from incoming XML event message
  Transport      Handles an HTTP transaction to an XML-RPC server
  SafeTransport  Handles an HTTPS transaction to an XML-RPC server

Exported constants:

  (none)

Exported functions:

  getparser      Create instance of the fastest available parser & attach
                 to an unmarshalling object
  dumps          Convert an argument tuple or a Fault instance to an XML-RPC
                 request (or response, if the methodresponse option is used).
  loads          Convert an XML-RPC packet to unmarshalled data plus a method
                 name (None if not present).
iN(udatetime(uexpat(uBytesIOcCs4|jdd�}|jdd�}|jdd�S(Nu&u&amp;u<u&lt;u>u&gt;(ureplace(us((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuescape�suescapeiiiii�iXi�~i�~i,~i�i�iYiZi[cBs&|EeZdZdZdd�ZdS(uErroruBase class for client errors.cCs
t|�S(N(urepr(uself((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__str__�su
Error.__str__N(u__name__u
__module__u__qualname__u__doc__u__str__(u
__locals__((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuError�suErrorcBs2|EeZdZdZdd�Zdd�ZdS(u
ProtocolErroru!Indicates an HTTP protocol error.cCs5tj|�||_||_||_||_dS(N(uErroru__init__uurluerrcodeuerrmsguheaders(uselfuurluerrcodeuerrmsguheaders((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__init__�s

			uProtocolError.__init__cCsd|j|j|jfS(Nu<ProtocolError for %s: %s %s>(uurluerrcodeuerrmsg(uself((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__repr__�suProtocolError.__repr__N(u__name__u
__module__u__qualname__u__doc__u__init__u__repr__(u
__locals__((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu
ProtocolError�su
ProtocolErrorcBs|EeZdZdZdS(u
ResponseErroru$Indicates a broken response package.N(u__name__u
__module__u__qualname__u__doc__(u
__locals__((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu
ResponseError�su
ResponseErrorcBs2|EeZdZdZdd�Zdd�ZdS(uFaultu#Indicates an XML-RPC fault package.cKs#tj|�||_||_dS(N(uErroru__init__u	faultCodeufaultString(uselfu	faultCodeufaultStringuextra((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__init__�s
	uFault.__init__cCsd|j|jfS(Nu<Fault %s: %r>(u	faultCodeufaultString(uself((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__repr__�suFault.__repr__N(u__name__u
__module__u__qualname__u__doc__u__init__u__repr__(u
__locals__((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuFault�suFaultu%Yu0001cCs
|jd�S(Nu%Y%m%dT%H:%M:%S(ustrftime(uvalue((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu_iso8601_formatsu_iso8601_formatu%4YcCs
|jd�S(Nu%4Y%m%dT%H:%M:%S(ustrftime(uvalue((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu_iso8601_formatscCs|jd�jd�S(Nu%Y%m%dT%H:%M:%Si(ustrftimeuzfill(uvalue((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu_iso8601_formatscCspt|t�rt|�St|ttjf�s^|dkrLtj�}ntj|�}nd|dd�S(Niu%04d%02d%02dT%02d:%02d:%02di(u
isinstanceudatetimeu_iso8601_formatutupleutimeustruct_timeu	localtime(uvalue((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu	_strftimes
u	_strftimecBs�|EeZdZdZddd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS(uDateTimeu�DateTime wrapper for an ISO 8601 string or time tuple or
    localtime integer value to generate 'dateTime.iso8601' XML-RPC
    value.
    icCs.t|t�r||_nt|�|_dS(N(u
isinstanceustruvalueu	_strftime(uselfuvalue((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__init__(suDateTime.__init__cCs�t|t�r$|j}|j}n�t|t�rK|j}t|�}n�t|t�rl|j}|}nmt|d�r�|j�}|j�}nCt|d�r�|jj	p�t
|�}td|jj	|f��||fS(Nu	timetupleu	__class__uCan't compare %s and %s(u
isinstanceuDateTimeuvalueudatetimeu_iso8601_formatustruhasattru	timetupleu	__class__u__name__utypeu	TypeError(uselfuotherusuouotype((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyumake_comparable.s$				uDateTime.make_comparablecCs|j|�\}}||kS(N(umake_comparable(uselfuotherusuo((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__lt__CsuDateTime.__lt__cCs|j|�\}}||kS(N(umake_comparable(uselfuotherusuo((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__le__GsuDateTime.__le__cCs|j|�\}}||kS(N(umake_comparable(uselfuotherusuo((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__gt__KsuDateTime.__gt__cCs|j|�\}}||kS(N(umake_comparable(uselfuotherusuo((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__ge__OsuDateTime.__ge__cCs|j|�\}}||kS(N(umake_comparable(uselfuotherusuo((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__eq__SsuDateTime.__eq__cCs|j|�\}}||kS(N(umake_comparable(uselfuotherusuo((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__ne__WsuDateTime.__ne__cCstj|jd�S(Nu%Y%m%dT%H:%M:%S(utimeustrptimeuvalue(uself((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu	timetuple[suDateTime.timetuplecCs|jS(N(uvalue(uself((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__str__csuDateTime.__str__cCsd|jt|�fS(Nu<DateTime %r at %x>(uvalueuid(uself((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__repr__fsuDateTime.__repr__cCst|�j�|_dS(N(ustrustripuvalue(uselfudata((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyudecodeisuDateTime.decodecCs.|jd�|j|j�|jd�dS(Nu<value><dateTime.iso8601>u</dateTime.iso8601></value>
(uwriteuvalue(uselfuout((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuencodels
uDateTime.encodeN(u__name__u
__module__u__qualname__u__doc__u__init__umake_comparableu__lt__u__le__u__gt__u__ge__u__eq__u__ne__u	timetupleu__str__u__repr__udecodeuencode(u
__locals__((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuDateTime"suDateTimecCst�}|j|�|S(N(uDateTimeudecode(udatauvalue((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu	_datetimeqs	
u	_datetimecCstj|d�S(Nu%Y%m%dT%H:%M:%S(udatetimeustrptime(udata((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu_datetime_typewsu_datetime_typecBse|EeZdZdZddd�Zdd�Zdd�Zdd	�Zd
d�Z	dd
�Z
dS(uBinaryuWrapper for binary data.cCs\|dkrd}n:t|ttf�sCtd|jj��nt|�}||_dS(Nsu#expected bytes or bytearray, not %s(uNoneu
isinstanceubytesu	bytearrayu	TypeErroru	__class__u__name__udata(uselfudata((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__init__�s	uBinary.__init__cCst|jd�S(Nulatin-1(ustrudata(uself((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__str__�suBinary.__str__cCs(t|t�r|j}n|j|kS(N(u
isinstanceuBinaryudata(uselfuother((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__eq__�su
Binary.__eq__cCs(t|t�r|j}n|j|kS(N(u
isinstanceuBinaryudata(uselfuother((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__ne__�su
Binary.__ne__cCstj|�|_dS(N(ubase64udecodebytesudata(uselfudata((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyudecode�su
Binary.decodecCsF|jd�tj|j�}|j|jd��|jd�dS(Nu<value><base64>
uasciiu</base64></value>
(uwriteubase64uencodebytesudataudecode(uselfuoutuencoded((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuencode�s
u
Binary.encodeN(u__name__u
__module__u__qualname__u__doc__uNoneu__init__u__str__u__eq__u__ne__udecodeuencode(u
__locals__((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuBinary�suBinarycCst�}|j|�|S(N(uBinaryudecode(udatauvalue((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu_binary�s	
u_binarycBs8|EeZdZdd�Zdd�Zdd�ZdS(uExpatParsercCs`tjdd�|_}||_|j|_|j|_|j	|_
d}|j|d�dS(N(uexpatuParserCreateuNoneu_parseru_targetustartuStartElementHandleruenduEndElementHandlerudatauCharacterDataHandleruxml(uselfutargetuparseruencoding((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__init__�s	uExpatParser.__init__cCs|jj|d�dS(Ni(u_parseruParse(uselfudata((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyufeed�suExpatParser.feedcCs#|jjdd�|`|`dS(Nui(u_parseruParseu_target(uself((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuclose�suExpatParser.closeN(u__name__u
__module__u__qualname__u__init__ufeeduclose(u
__locals__((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuExpatParser�s	uExpatParsercBs`|EeZdZdZdddd�ZiZdd�Zdd�Z	dd	�Z
e
eed�<d
d�Zeee
<dd
�Zeee<eZdd�Zeee<edd�Zeee<dd�Zeee<eee<dd�Zeee<eee<edd�Zeee<dd�Zeee<dd�Z e ee!<e ee"<e ed<dS(u
MarshalleruvGenerate an XML-RPC params chunk from a Python data structure.

    Create a Marshaller instance for each set of parameters, and use
    the "dumps" method to convert your data (represented as a tuple)
    to an XML-RPC params chunk.  To write a fault response, pass a
    Fault instance instead.  You may prefer to use the "dumps" module
    function for this purpose.
    cCs(i|_d|_||_||_dS(N(umemouNoneudatauencodingu
allow_none(uselfuencodingu
allow_none((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__init__�s			uMarshaller.__init__cCs�g}|j}|j}t|t�r_|d�|i|jd6|jd6|�|d�nF|d�x/|D]'}|d�|||�|d�qpW|d�d	j|�}|S(
Nu<fault>
u	faultCodeufaultStringu	</fault>
u	<params>
u<param>
u	</param>
u
</params>
u(uappendu_Marshaller__dumpu
isinstanceuFaultu	faultCodeufaultStringujoin(uselfuvaluesuoutuwriteudumpuvuresult((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyudumps�s"		







uMarshaller.dumpscCs�y|jt|�}Wn�tk
r�t|d�sOtdt|���nxEt|�jD]4}||jj�kr_tdt|���q_q_W|jd}YnX||||�dS(Nu__dict__ucannot marshal %s objectsu_arbitrary_instance(udispatchutypeuKeyErroruhasattru	TypeErroru__mro__ukeys(uselfuvalueuwriteufutype_((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__dump�s
uMarshaller.__dumpcCs&|jstd��n|d�dS(Nu0cannot marshal None unless allow_none is enabledu<value><nil/></value>(u
allow_noneu	TypeError(uselfuvalueuwrite((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyudump_nils	uMarshaller.dump_nilcCs.|d�||rdpd�|d�dS(Nu<value><boolean>u1u0u</boolean></value>
((uselfuvalueuwrite((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu	dump_bools
uMarshaller.dump_boolcCsU|tks|tkr'td��n|d�|tt|���|d�dS(Nuint exceeds XML-RPC limitsu<value><int>u</int></value>
(uMAXINTuMININTu
OverflowErrorustruint(uselfuvalueuwrite((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu	dump_longs

uMarshaller.dump_longcCs(|d�|t|��|d�dS(Nu<value><double>u</double></value>
(urepr(uselfuvalueuwrite((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyudump_double(s
uMarshaller.dump_doublecCs(|d�|||��|d�dS(Nu<value><string>u</string></value>
((uselfuvalueuwriteuescape((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyudump_unicode.s
uMarshaller.dump_unicodecCs:|d�tj|�}||jd��|d�dS(Nu<value><base64>
uasciiu</base64></value>
(ubase64uencodebytesudecode(uselfuvalueuwriteuencoded((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu
dump_bytes4s
uMarshaller.dump_bytescCs�t|�}||jkr*td��nd|j|<|j}|d�x|D]}|||�qQW|d�|j|=dS(Nu"cannot marshal recursive sequencesu<value><array><data>
u</data></array></value>
(uidumemou	TypeErroruNoneu_Marshaller__dump(uselfuvalueuwriteuiudumpuv((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu
dump_array<s
	


uMarshaller.dump_arraycCs�t|�}||jkr*td��nd|j|<|j}|d�xm|j�D]_\}}|d�t|t�s�td��n|d||��|||�|d�qWW|d�|j|=dS(Nu%cannot marshal recursive dictionariesu<value><struct>
u	<member>
udictionary key must be stringu<name>%s</name>
u
</member>
u</struct></value>
(uidumemou	TypeErroruNoneu_Marshaller__dumpuitemsu
isinstanceustr(uselfuvalueuwriteuescapeuiudumpukuv((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyudump_structJs
	



uMarshaller.dump_structcCs(|d�|t|��|d�dS(Nu<value><dateTime.iso8601>u</dateTime.iso8601></value>
(u	_strftime(uselfuvalueuwrite((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu
dump_datetime\s
uMarshaller.dump_datetimecCsE|jtkr.||_|j|�|`n|j|j|�dS(N(u	__class__uWRAPPERSuwriteuencodeudump_structu__dict__(uselfuvalueuwrite((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu
dump_instancebs
	
	uMarshaller.dump_instanceu_arbitrary_instanceNF(#u__name__u
__module__u__qualname__u__doc__uNoneuFalseu__init__udispatchudumpsu_Marshaller__dumpudump_nilutypeu	dump_booluboolu	dump_longuintudump_intudump_doubleufloatuescapeudump_unicodeustru
dump_bytesubytesu	bytearrayu
dump_arrayutupleulistudump_structudictu
dump_datetimeudatetimeu
dump_instanceuDateTimeuBinary(u
__locals__((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu
Marshaller�s<









	

u
MarshallercBs�|EeZdZdZd=d=dd�Zdd�Zdd�Zdd	�Zd
d�Z	dd
�Z
dd�Zdd�ZiZ
dd�Zee
d<dd�Zee
d<dd�Zee
d<ee
d<ee
d<dd�Zee
d<d d!�Zee
d"<ee
d#<d$d%�Zee
d&<d'd(�Zee
d)<d*d+�Zee
d,<d-d.�Zee
d/<d0d1�Zee
d2<d3d4�Zee
d5<d6d7�Zee
d8<d9d:�Zee
d;<d<S(>uUnmarshalleruUnmarshal an XML-RPC response, based on incoming XML event
    messages (start, data, end).  Call close() to get the resulting
    data structure.

    Note that this reader is fairly tolerant, and gladly accepts bogus
    XML-RPC data without complaining (but not bogus XML).
    cCsad|_g|_g|_g|_d|_d|_|jj|_|pN||_||_	dS(Nuutf-8(
uNoneu_typeu_stacku_marksu_datau_methodnameu	_encodinguappendu
_use_datetimeu
_use_bytes(uselfuuse_datetimeuuse_builtin_types((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__init__�s						uUnmarshaller.__init__cCsV|jdks|jr$t��n|jdkrIt|jd��nt|j�S(Nufaulti(u_typeuNoneu_marksu
ResponseErroruFaultu_stackutuple(uself((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuclose�s
uUnmarshaller.closecCs|jS(N(u_methodname(uself((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu
getmethodname�suUnmarshaller.getmethodnamecCs
||_dS(N(u	_encoding(uselfuencodingu
standalone((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuxml�suUnmarshaller.xmlcCsP|dks|dkr4|jjt|j��ng|_|dk|_dS(Nuarrayustructuvalue(u_marksuappendulenu_stacku_datau_value(uselfutaguattrs((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyustart�s	uUnmarshaller.startcCs|jj|�dS(N(u_datauappend(uselfutext((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyudata�suUnmarshaller.datacCsCy|j|}Wntk
r%YnX||dj|j��SdS(Nu(udispatchuKeyErrorujoinu_data(uselfutaguf((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuend�s

uUnmarshaller.endcCs7y|j|}Wntk
r%YnX|||�SdS(N(udispatchuKeyError(uselfutagudatauf((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuend_dispatch�s

uUnmarshaller.end_dispatchcCs|jd�d|_dS(Ni(uappenduNoneu_value(uselfudata((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuend_nil�s
uUnmarshaller.end_nilunilcCsQ|dkr|jd�n(|dkr8|jd�ntd��d|_dS(Nu0u1ubad boolean valueiFT(uappenduFalseuTrueu	TypeErroru_value(uselfudata((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuend_boolean�suUnmarshaller.end_booleanubooleancCs |jt|��d|_dS(Ni(uappenduintu_value(uselfudata((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuend_int�suUnmarshaller.end_intui4ui8uintcCs |jt|��d|_dS(Ni(uappendufloatu_value(uselfudata((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu
end_double�suUnmarshaller.end_doubleudoublecCs8|jr|j|j�}n|j|�d|_dS(Ni(u	_encodingudecodeuappendu_value(uselfudata((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu
end_string�s	
uUnmarshaller.end_stringustringunamecCs?|jj�}|j|d�g|j|d�<d|_dS(Ni(u_marksupopu_stacku_value(uselfudataumark((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu	end_array�s#uUnmarshaller.end_arrayuarraycCs�|jj�}i}|j|d�}x6tdt|�d�D]}||d|||<qAW|g|j|d�<d|_dS(Niii(u_marksupopu_stackurangeulenu_value(uselfudataumarkudictuitemsui((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu
end_struct�suUnmarshaller.end_structustructcCsNt�}|j|jd��|jr4|j}n|j|�d|_dS(Nuasciii(uBinaryudecodeuencodeu
_use_bytesudatauappendu_value(uselfudatauvalue((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu
end_base64�s		
uUnmarshaller.end_base64ubase64cCs?t�}|j|�|jr.t|�}n|j|�dS(N(uDateTimeudecodeu
_use_datetimeu_datetime_typeuappend(uselfudatauvalue((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuend_dateTimes
	
	uUnmarshaller.end_dateTimeudateTime.iso8601cCs|jr|j|�ndS(N(u_valueu
end_string(uselfudata((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu	end_value	s	uUnmarshaller.end_valueuvaluecCs
d|_dS(Nuparams(u_type(uselfudata((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu
end_paramssuUnmarshaller.end_paramsuparamscCs
d|_dS(Nufault(u_type(uselfudata((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu	end_faultsuUnmarshaller.end_faultufaultcCs4|jr|j|j�}n||_d|_dS(Nu
methodName(u	_encodingudecodeu_methodnameu_type(uselfudata((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuend_methodNames		uUnmarshaller.end_methodNameu
methodNameNF(u__name__u
__module__u__qualname__u__doc__uFalseu__init__ucloseu
getmethodnameuxmlustartudatauenduend_dispatchudispatchuend_niluend_booleanuend_intu
end_doubleu
end_stringu	end_arrayu
end_structu
end_base64uend_dateTimeu	end_valueu
end_paramsu	end_faultuend_methodName(u
__locals__((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuUnmarshallervsN








	





uUnmarshallercBs8|EeZdZdd�Zdd�Zdd�ZdS(u_MultiCallMethodcCs||_||_dS(N(u_MultiCallMethod__call_listu_MultiCallMethod__name(uselfu	call_listuname((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__init__%s	u_MultiCallMethod.__init__cCst|jd|j|f�S(Nu%s.%s(u_MultiCallMethodu_MultiCallMethod__call_listu_MultiCallMethod__name(uselfuname((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__getattr__(su_MultiCallMethod.__getattr__cGs|jj|j|f�dS(N(u_MultiCallMethod__call_listuappendu_MultiCallMethod__name(uselfuargs((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__call__*su_MultiCallMethod.__call__N(u__name__u
__module__u__qualname__u__init__u__getattr__u__call__(u
__locals__((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu_MultiCallMethod"su_MultiCallMethodcBs2|EeZdZdZdd�Zdd�ZdS(uMultiCallIteratoruaIterates over the results of a multicall. Exceptions are
    raised in response to xmlrpc faults.cCs
||_dS(N(uresults(uselfuresults((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__init__1suMultiCallIterator.__init__cCso|j|}t|�ti�kr?t|d|d��n,t|�tg�kr_|dStd��dS(Nu	faultCodeufaultStringiu#unexpected type in multicall result(uresultsutypeuFaultu
ValueError(uselfuiuitem((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__getitem__4s
uMultiCallIterator.__getitem__N(u__name__u
__module__u__qualname__u__doc__u__init__u__getitem__(u
__locals__((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuMultiCallIterator-suMultiCallIteratorcBsP|EeZdZdZdd�Zdd�ZeZdd�Zdd	�Zd
S(u	MultiCallu}server -> a object used to boxcar method calls

    server should be a ServerProxy object.

    Methods can be added to the MultiCall using normal
    method call syntax e.g.:

    multicall = MultiCall(server_proxy)
    multicall.add(2,3)
    multicall.get_address("Guido")

    To execute the multicall, call the MultiCall object e.g.:

    add_result, address = multicall()
    cCs||_g|_dS(N(u_MultiCall__serveru_MultiCall__call_list(uselfuserver((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__init__Ns	uMultiCall.__init__cCsdt|�S(Nu<MultiCall at %x>(uid(uself((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__repr__RsuMultiCall.__repr__cCst|j|�S(N(u_MultiCallMethodu_MultiCall__call_list(uselfuname((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__getattr__WsuMultiCall.__getattr__cCsTg}x2|jD]'\}}|ji|d6|d6�qWt|jjj|��S(Nu
methodNameuparams(u_MultiCall__call_listuappenduMultiCallIteratoru_MultiCall__serverusystemu	multicall(uselfumarshalled_listunameuargs((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__call__ZsuMultiCall.__call__N(	u__name__u
__module__u__qualname__u__doc__u__init__u__repr__u__str__u__getattr__u__call__(u
__locals__((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu	MultiCall=su	MultiCallcCs�trltrl|r$t}tj}n!|r9t}t}nt}t}tdd||t	�}t|�}n6t
d|d|�}tr�t|�}nt|�}||fS(u�getparser() -> parser, unmarshaller

    Create an instance of the fastest available parser, and attach it
    to an unmarshalling object.  Return both objects.
    uuse_datetimeuuse_builtin_typesTF(u
FastParseruFastUnmarshalleru_datetime_typeubase64udecodebytesu_binaryu	_datetimeuTrueuFalseuFaultuUnmarshalleruExpatParser(uuse_datetimeuuse_builtin_typesu
mkdatetimeumkbytesutargetuparser((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu	getparserls 	u	getparsercCsDt|ttf�s!td��t|t�r9d}n6|rot|t�rot|�dksotd��n|s~d}ntr�t|�}nt||�}|j|�}|dkr�dt|�}nd}|rt|t�s�|j	|�}n|d|d|d	f}n|r3|d
|df}n|Sdj
|�S(
u�data [,options] -> marshalled data

    Convert an argument tuple or a Fault instance to an XML-RPC
    request (or response, if the methodresponse option is used).

    In addition to the data object, the following options can be given
    as keyword arguments:

        methodname: the method name for a methodCall packet

        methodresponse: true to create a methodResponse packet.
        If this option is used with a tuple, the tuple must be
        a singleton (i.e. it can contain only one element).

        encoding: the packet encoding (default is UTF-8)

    All byte strings in the data structure are assumed to use the
    packet encoding.  Unicode strings are automatically converted,
    where necessary.
    u(argument must be tuple or Fault instanceiu"response tuple must be a singletonuutf-8u$<?xml version='1.0' encoding='%s'?>
u<?xml version='1.0'?>
u<methodCall>
<methodName>u</methodName>
u</methodCall>
u<methodResponse>
u</methodResponse>
u(u
isinstanceutupleuFaultuAssertionErrorulenuFastMarshalleru
Marshallerudumpsustruencodeujoin(uparamsu
methodnameumethodresponseuencodingu
allow_noneumudatau	xmlheader((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyudumps�s:!	!	udumpscCsHtd|d|�\}}|j|�|j�|j�|j�fS(u�data -> unmarshalled data, method name

    Convert an XML-RPC packet to unmarshalled data plus a method
    name (None if not present).

    If the XML-RPC packet represents a fault condition, this function
    raises a Fault exception.
    uuse_datetimeuuse_builtin_types(u	getparserufeeducloseu
getmethodname(udatauuse_datetimeuuse_builtin_typesupuu((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuloads�s	

uloadscCsgtst�nt�}tjddd|dd�}|j|�|j�|j�}|j�|S(uhdata -> gzip encoded data

    Encode data using the gzip content encoding as described in RFC 1952
    umodeuwbufileobju
compressleveli(ugzipuNotImplementedErroruBytesIOuGzipFileuwriteucloseugetvalue(udataufugzfuencoded((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyugzip_encode�s		


ugzip_encodei@cCs�tst�nt|�}tjddd|�}y2|dkrQ|j�}n|j|d�}Wntk
r�td��YnX|j�|j�|dkr�t|�|kr�td��n|S(urgzip encoded data -> unencoded data

    Decode data using the gzip content encoding as described in RFC 1952
    umodeurbufileobjiiuinvalid datau#max gzipped payload length exceeded(	ugzipuNotImplementedErroruBytesIOuGzipFileureaduIOErroru
ValueErrorucloseulen(udatau
max_decodeufugzfudecoded((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyugzip_decodes	


ugzip_decodecBs2|EeZdZdZdd�Zdd�ZdS(uGzipDecodedResponseuha file-like object to decode a response encoded with the gzip
    method, as described in RFC 1952.
    cCsGtst�nt|j��|_tjj|ddd|j�dS(Numodeurbufileobj(ugzipuNotImplementedErroruBytesIOureaduiouGzipFileu__init__(uselfuresponse((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__init__2s	uGzipDecodedResponse.__init__cCs!tjj|�|jj�dS(N(ugzipuGzipFileucloseuio(uself((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuclose:suGzipDecodedResponse.closeN(u__name__u
__module__u__qualname__u__doc__u__init__uclose(u
__locals__((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuGzipDecodedResponse.suGzipDecodedResponsecBs8|EeZdZdd�Zdd�Zdd�ZdS(u_MethodcCs||_||_dS(N(u
_Method__sendu
_Method__name(uselfusenduname((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__init__Es	u_Method.__init__cCst|jd|j|f�S(Nu%s.%s(u_Methodu
_Method__sendu
_Method__name(uselfuname((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__getattr__Hsu_Method.__getattr__cGs|j|j|�S(N(u
_Method__sendu
_Method__name(uselfuargs((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__call__Jsu_Method.__call__N(u__name__u
__module__u__qualname__u__init__u__getattr__u__call__(u
__locals__((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu_MethodBsu_MethodcBs�|EeZdZdZdeZdZdZ	dddd�Zddd�Zddd�Z
d	d
�Zdd�Zd
d�Zdd�Zdd�Zdd�Zdd�Zdd�ZdS(u	Transportu1Handles an HTTP transaction to an XML-RPC server.uPython-xmlrpc/%scCs(||_||_d|_g|_dS(N(NN(u
_use_datetimeu_use_builtin_typesuNoneu_connectionu_extra_headers(uselfuuse_datetimeuuse_builtin_types((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__init__as			uTransport.__init__cCs�x�dD]�}y|j||||�SWqtjk
r~}z2|sf|jtjtjtjfkrl�nWYdd}~Xqtjj	k
r�|r��nYqXqWdS(Nii(ii(
usingle_requestusocketuerroruerrnou
ECONNRESETuECONNABORTEDuEPIPEuhttpuclientu
BadStatusLine(uselfuhostuhandlerurequest_bodyuverboseuiue((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyurequestqs
'uTransport.requestcCs�yM|j||||�}|j�}|jdkrL||_|j|�SWn3tk
rd�Yntk
r�|j��YnX|jdd�r�|j	�nt
|||j|jt|j
����dS(Ni�ucontent-lengthu(usend_requestugetresponseustatusuverboseuparse_responseuFaultu	Exceptionucloseu	getheaderureadu
ProtocolErrorureasonudictu
getheaders(uselfuhostuhandlerurequest_bodyuverboseu	http_connuresp((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyusingle_request}s"	



uTransport.single_requestcCstd|jd|j�S(Nuuse_datetimeuuse_builtin_types(u	getparseru
_use_datetimeu_use_builtin_types(uself((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu	getparser�suTransport.getparsercCs�i}t|t�r$|\}}ntjj|�\}}|r�tjj|�}tj|�jd�}dj	|j
��}dd|fg}ng}|||fS(Nuutf-8uu
AuthorizationuBasic (u
isinstanceutupleuurllibuparseu	splituseruunquote_to_bytesubase64uencodebytesudecodeujoinusplit(uselfuhostux509uauthu
extra_headers((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu
get_host_info�suTransport.get_host_infocCsh|jr'||jdkr'|jdS|j|�\}|_}|tjj|�f|_|jdS(Nii(u_connectionu
get_host_infou_extra_headersuhttpuclientuHTTPConnection(uselfuhostuchostux509((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyumake_connection�s
uTransport.make_connectioncCs.|jdr*|jdj�d|_ndS(Ni(NN(u_connectionucloseuNone(uself((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuclose�s
uTransport.closecCs�|j|�}|jdd�}|r8|jd�n|jrmtrm|jd|dd	�|jd
�n|jd|�|jd�|jd|jf�|j	||�|j
||�|S(NiuPOSTuskip_accept_encodinguAccept-EncodingugzipuContent-Typeutext/xmlu
User-AgentT(uAccept-Encodingugzip(uContent-Typeutext/xml(umake_connectionu_extra_headersuset_debugleveluaccept_gzip_encodingugzipu
putrequestuTrueuappendu
user_agentusend_headersusend_content(uselfuhostuhandlerurequest_bodyudebugu
connectionuheaders((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyusend_request�s
uTransport.send_requestcCs+x$|D]\}}|j||�qWdS(N(u	putheader(uselfu
connectionuheadersukeyuval((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyusend_headers�suTransport.send_headerscCsv|jdk	rI|jt|�krItrI|jdd�t|�}n|jdtt|���|j|�dS(NuContent-EncodingugzipuContent-Length(uencode_thresholduNoneulenugzipu	putheaderugzip_encodeustru
endheaders(uselfu
connectionurequest_body((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyusend_contentsuTransport.send_contentcCs�t|d�r?|jdd�dkr6t|�}qE|}n|}|j�\}}xH|jd�}|ssPn|jr�tdt|��n|j|�qZ||k	r�|j	�n|j	�|j	�S(Nu	getheaderuContent-Encodinguugzipiubody:(
uhasattru	getheaderuGzipDecodedResponseu	getparserureaduverboseuprintureprufeeduclose(uselfuresponseustreamupuuudata((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuparse_responses"		

uTransport.parse_responseNTF(u__name__u
__module__u__qualname__u__doc__u__version__u
user_agentuTrueuaccept_gzip_encodinguNoneuencode_thresholduFalseu__init__urequestusingle_requestu	getparseru
get_host_infoumake_connectionucloseusend_requestusend_headersusend_contentuparse_response(u
__locals__((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu	TransportSs
!u	TransportcBs&|EeZdZdZdd�ZdS(u
SafeTransportu2Handles an HTTPS transaction to an XML-RPC server.cCs�|jr'||jdkr'|jdSttjd�sHtd��n|j|�\}|_}|tjj|d|p~i�f|_|jdS(NiiuHTTPSConnectionu1your version of http.client doesn't support HTTPS(	u_connectionuhasattruhttpuclientuNotImplementedErroru
get_host_infou_extra_headersuHTTPSConnectionuNone(uselfuhostuchostux509((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyumake_connection9suSafeTransport.make_connectionN(u__name__u
__module__u__qualname__u__doc__umake_connection(u
__locals__((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu
SafeTransport4su
SafeTransportcBsz|EeZdZdZdddddddd�Zdd�Zdd�Zdd	�Z	e	Z
d
d�Zdd
�ZdS(uServerProxyu�uri [,options] -> a logical connection to an XML-RPC server

    uri is the connection point on the server, given as
    scheme://host/target.

    The standard implementation always supports the "http" scheme.  If
    SSL socket support is available (Python 2.0), it also supports
    "https".

    If the target part and the slash preceding it are both omitted,
    "/RPC2" is assumed.

    The following options can be given as keyword arguments:

        transport: a transport factory
        encoding: the request encoding (default is UTF-8)

    All 8-bit strings passed to the server proxy are assumed to use
    the given encoding.
    c
Cs�tjj|�\}}|dkr3td��ntjj|�\|_|_|jsfd|_n|dkr�|dkr�t}	nt	}	|	d|d|�}n||_
|p�d|_||_||_
dS(	Nuhttpuhttpsuunsupported XML-RPC protocolu/RPC2uuse_datetimeuuse_builtin_typesuutf-8(uhttpuhttps(uurllibuparseu	splittypeuIOErroru	splithostu_ServerProxy__hostu_ServerProxy__handleruNoneu
SafeTransportu	Transportu_ServerProxy__transportu_ServerProxy__encodingu_ServerProxy__verboseu_ServerProxy__allow_none(
uselfuuriu	transportuencodinguverboseu
allow_noneuuse_datetimeuuse_builtin_typesutypeuhandler((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__init__ns 				uServerProxy.__init__cCs|jj�dS(N(u_ServerProxy__transportuclose(uself((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__close�suServerProxy.__closecCswt||d|jd|j�j|j�}|jj|j|j|d|j�}t	|�dkrs|d}n|S(Nuencodingu
allow_noneuverboseii(
udumpsu_ServerProxy__encodingu_ServerProxy__allow_noneuencodeu_ServerProxy__transporturequestu_ServerProxy__hostu_ServerProxy__handleru_ServerProxy__verboseulen(uselfu
methodnameuparamsurequesturesponse((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu	__request�s	
uServerProxy.__requestcCsd|j|jfS(Nu<ServerProxy for %s%s>(u_ServerProxy__hostu_ServerProxy__handler(uself((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__repr__�suServerProxy.__repr__cCst|j|�S(N(u_Methodu_ServerProxy__request(uselfuname((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__getattr__�suServerProxy.__getattr__cCs=|dkr|jS|dkr&|jStd|f��dS(u|A workaround to get special attributes on the ServerProxy
           without interfering with the magic __getattr__
        ucloseu	transportuAttribute %r not foundN(u_ServerProxy__closeu_ServerProxy__transportuAttributeError(uselfuattr((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu__call__�s
uServerProxy.__call__NF(
u__name__u
__module__u__qualname__u__doc__uNoneuFalseu__init__u_ServerProxy__closeu_ServerProxy__requestu__repr__u__str__u__getattr__u__call__(u
__locals__((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyuServerProxyXs	uServerProxyu__main__uhttp://localhost:8000uERRORi	li���li�iD���i����i���ip���iԁ��iD���iC���iB���i����i����i����i����F(Wu__doc__ubase64usysutimeudatetimeuhttp.clientuhttpuurllib.parseuurllibuxml.parsersuexpatusocketuerrnouiouBytesIOugzipuImportErroruNoneuescapeuversionu__version__uMAXINTuMININTuPARSE_ERRORuSERVER_ERRORuAPPLICATION_ERRORuSYSTEM_ERRORuTRANSPORT_ERRORuNOT_WELLFORMED_ERRORuUNSUPPORTED_ENCODINGuINVALID_ENCODING_CHARuINVALID_XMLRPCuMETHOD_NOT_FOUNDuINVALID_METHOD_PARAMSuINTERNAL_ERRORu	ExceptionuErroru
ProtocolErroru
ResponseErroruFaultuboolubooleanuBooleanu_day0ustrftimeu_iso8601_formatu	_strftimeuDateTimeu	_datetimeu_datetime_typeuBinaryu_binaryuWRAPPERSuExpatParseru
MarshalleruUnmarshalleru_MultiCallMethoduMultiCallIteratoru	MultiCalluFastMarshalleru
FastParseruFastUnmarshalleruFalseu	getparserudumpsuloadsugzip_encodeugzip_decodeuGzipFileuobjectuGzipDecodedResponseu_Methodu	Transportu
SafeTransportuServerProxyuServeru__name__userveruprintucurrentTimeugetCurrentTimeuvumultiugetDataupowuadduresponse(((u2/opt/alt/python33/lib64/python3.3/xmlrpc/client.pyu<module>�s�


O	(��''	L%�$_ 


?>