HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /proc/1991111/root/usr/lib/python3/dist-packages/pysimplesoap/__pycache__/
Upload File :
Current File : //proc/1991111/root/usr/lib/python3/dist-packages/pysimplesoap/__pycache__/client.cpython-311.pyc
�

��ck����dZddlmZddlZejdkreZ	ddlZn#e	$rddlZYnwxYwddl
Z
ddlZddlZddl
Z
ddlZddlZddlmZmZmZmZmZddlmZmZmZmZddlmZmZmZdd	lm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)mZm*Z*dd
l+m,Z,ej-e.��Z/Gd�de0��Z1e2d
d
d
dd���Z3Gd�de4��Z5d�Z6e.dkrdSdS)z*Pythonic simple SOAP Client implementation�)�unicode_literalsN�3�)�
__author__�
__copyright__�__license__�__version__�TIMEOUT)�SimpleXMLElement�TYPE_MAP�REVERSE_TYPE_MAP�Struct)�get_http_wrapper�set_http_wrapper�get_Http)�Alias�fetch�	sort_dict�make_key�process_element�postprocess_element�get_message�preprocess_schema�get_local_name�get_namespace_prefixr�urlsplit)�
UsernameTokenc�D�eZdZdd�Zd�ZejdkreZnd�Zd�ZdS)�	SoapFaultNc�j�||_||_||_t�||||��dS�N)�	faultcode�faultstring�detail�RuntimeError�__init__)�selfr"r#r$s    �5/usr/lib/python3/dist-packages/pysimplesoap/client.pyr&zSoapFault.__init__+s8��"���&���������d�I�{�F�C�C�C�C�C�c�$�|j�d|j��S)N�: )r"r#�r's r(�__unicode__zSoapFault.__unicode__1s���>�>�>�4�+;�+;�<�<r)rc�R�|����dd��S)N�ascii�ignore)r-�encoder,s r(�__str__zSoapFault.__str__7s$���#�#�%�%�,�,�W�h�?�?�?r)c��dt|j���dt|j���dt|j���d�S)NzSoapFault(faultcode = z, faultstring z, detail = �))�reprr"r#r$r,s r(�__repr__zSoapFault.__repr__:sO���KO�PT�P^�K_�K_�K_�K_�KO�PT�P`�Ka�Ka�Ka�Ka�KO�PT�P[�K\�K\�K\�K\�^�	^r)r!)	�__name__�
__module__�__qualname__r&r-�sys�versionr2r6�r)r(rr*sw������D�D�D�D�=�=�=��{�S������	@�	@�	@�^�^�^�^�^r)rz)http://schemas.xmlsoap.org/soap/envelope/z"http://www.w3.org/2003/05/soap-envz'http://www.w3.org/2003/05/soap-envelope)�soap11�soap�soapenv�soap12�	soap12envc��eZdZdZddddddddddddddedddddddfd�Zd�Zd�Zd	�Zd
�Z	d�Z
d�Zd
�Zd�Z
d�Zddd�ZdZdZdZd�Zd�Zdd�Zd�Zd�Zd�ZdS)�
SoapClientzSimple SOAP Client (simil PHP)NT�Fc���||_||_||_||_||_||_dx|_|_|pi|_|pg|_	||_
|	r=|
dkr7t|	��\}}}}}tj
�||z��}
|
|_|rB|dur
t j}n|}t!j|���t&�|��|s
|sd|_n|s
|rd|_n||_||_i|_d|_|r�|�d��rtt5j��\}}tj|dd	��}t&�d
|z��|�|��|}|���||_ tC��} | ||||
���|_"|r2|r0tG|j"d��r|j"�$||��|r4|r2tG|j"d
��r|j"�%||d���||_&|sd|_'nd|_'|	o|�(|	|���|_)d|_*dS)zf
        :param http_headers: Additional HTTP Headers; example: {'Host': 'ipsec.example.com'}
        rDT)�levelr>r?Nz-----BEGIN CERTIFICATE-----zw+b���zSaving CA certificate to %s)�timeout�cacert�proxy�sessions�add_credentials�add_certificate)�key�cert�domainaW<?xml version="1.0" encoding="UTF-8"?>
<%(soap_ns)s:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:%(soap_ns)s="%(soap_uri)s">
<%(soap_ns)s:Header/>
<%(soap_ns)s:Body>
    <%(method)s xmlns="%(namespace)s">
    </%(method)s>
</%(soap_ns)s:Body>
</%(soap_ns)s:Envelope>z�<?xml version="1.0" encoding="UTF-8"?>
<%(soap_ns)s:Envelope xmlns:%(soap_ns)s="%(soap_uri)s" xmlns:%(ns)s="%(namespace)s">
<%(soap_ns)s:Header/>
<%(soap_ns)s:Body><%(ns)s:%(method)s></%(ns)s:%(method)s></%(soap_ns)s:Body></%(soap_ns)s:Envelope>)�cache)+�certssl�keyssl�location�action�	namespace�
exceptions�xml_request�xml_response�http_headers�plugins�strictr�os�path�dirname�wsdl_basedir�logging�DEBUG�basicConfig�log�setLevel�_SoapClient__soap_ns�_SoapClient__soap_server�_SoapClient__headers�_SoapClient__call_headers�
startswith�tempfile�mkstemp�fdopen�debug�write�closerIr�http�hasattrrLrM�_SoapClient__ns�_SoapClient__xml�
wsdl_parse�services�service_port)!r'rTrUrVrOrWrJ�ns�soap_ns�wsdlr`rQrIrK�soap_serverrHrZ�trace�username�password�key_filer[r\�
url_scheme�netlocr^�query�fragmentrF�fd�filename�f�Https!                                 r(r&zSoapClient.__init__Ls��������� ��
����"���$���/1�1���4�,�(�.�B����}�"�������	:�L�B�&�&�8@����5�J���e�X��7�?�?�6�D�=�9�9�L�(����	 ���}�}��
�������e�,�,�,�,��L�L������	%�r�	%�#�D�N�N��	%�R�	%�&�D�N�N�$�D�N�)������"����	�f�'�'�(E�F�F�	�#�+�-�-�L�B���	�"�e�R�(�(�A��I�I�3�h�>�?�?�?�
�G�G�F�O�O�O��F�
�G�G�I�I�I�����z�z���D���u�x�X�X�X��	��	>��	>��t�y�"3�4�4�
>��	�)�)�(�H�=�=�=��	N�H�	N��t�y�"3�4�4�
N��	�)�)�h�T�"�)�M�M�M���	��	g�	�D�J�J�g�D�J��C�����U��!C�!C��
� ����r)c�,����js��fd�S��fd�S)z)Return a pseudo-method that can be calledc�&���j�g|�Ri|��Sr!)�call��args�kwargs�attrr's  ��r(�<lambda>z(SoapClient.__getattr__.<locals>.<lambda>�s#���9�4�9�T�+K�D�+K�+K�+K�F�+K�+K�r)c�&���j�g|�Ri|��Sr!)�	wsdl_callr�s  ��r(r�z(SoapClient.__getattr__.<locals>.<lambda>�s#���>�4�>�$�+P��+P�+P�+P��+P�+P�r))rv)r'r�s``r(�__getattr__zSoapClient.__getattr__�s3�����}�	Q�K�K�K�K�K�K�P�P�P�P�P�Pr)c
�"�t|j}|jt||j|j|j|���z}t
||jo|j|j���}|�dd��}|r"t|�	����}n|}|rxt|dt��r]|dtt��������}	t|	|��|	�
|d��n�|rw|jdks	|jd	urdnd
}
|D][\}}t!|d��r|
r|j�dd
��}
n|
}
t'||���|||
����\nH|jdvr?t|dtt��������|��|jr<|js5td
�|j�	��D����|_d|jvrG|js@t3jdt6��|j�t;����|jr�|dtt��������}|j�	��D]N\}}t|t��r|�
|���0|�|||jd	����O|r]|dtt��������}|���D]}|�
|���|jD]"}|�||||||j|���#|� ��|_!|�"||j!��|_#t
|j#|j|jdv���}|j$�rm|dtt�����d	����r:|dtt�����d	���}d}|r�|���r�|j��|�%|��}|���d�&��}|d�|��ptN}|���d�(|d	���}n!tS|�����}tUtO|j+��tO|j,��|���|jD]"}|�-||||||j|���#|S)z�Prepare xml request and make SOAP call, returning a SimpleXMLElement.

        If a keyword argument called "headers" is passed with a value of a
        SimpleXMLElement object, then these headers will be inserted into the
        request.
        )�methodrVrxry�soap_uri)rV�prefix�headersNr�Body�rx�jettyFT�
namespaces)�jbossas6c�F�g|]\}}|�d���||f��S)zwsse:)rj��.0�k�vs   r(�
<listcomp>z#SoapClient.call.<locals>.<listcomp>�sG��(F�(F�(F�4�1�a�/0�|�|�G�/D�/D�(F��A��(F�(F�(Fr)z
wsse:Securityz/Replace wsse:Security with UsernameToken plugin�Header)rx�add_children_ns)r�)rVr��Fault�rx�errorr$�faults�r\).�soap_namespacesrfrt�dictrVrsr�pop�list�items�
isinstance�values�delattr�import_noderg�	qualifiedrrr��get�getattr�marshallrhrvrir[�warnings�warn�DeprecationWarning�appendr�children�
preprocess�as_xmlrX�sendrYrW�
get_operation�get_name�unicode�
unmarshallr5rr"r#�postprocess)r'r�r�r�r��xml�request�request_headers�
parameters�body�use_nsr�r�rx�header�	subheader�plugin�response�	detailXmlr$�	operation�
fault_name�faults                       r(r�zSoapClient.call�s���#�4�>�2���j�4�v�*.�.�#'�9�(,��)1�	3�3�3�3��
#�3�$�)�2N���/3�y�:�:�:��!�*�*�Y��5�5���	��f�l�l�n�n�-�-�J�J��J��	Q�*�Z��]�4D�E�E�	Q��7�6�d�?�+A�+A�+C�+C�&D�&D�F�F�F�D��D�&�!�!�!����Z��]�+�+�+�+�
�	Q�"�0�G�;�;�t�~�QV�?V�?V�T�T�]a�F�"�
?�
?���1��1�l�+�+� �� ���)�)�$��5�5�B�B��B����(�(�1�1�!�Q�2�1�>�>�>�>�
?��
�=�
0�
0��G�G�F�t�O�,B�,B�,D�,D�'E�'E�G�G�G��P�P�P��>�	G�$�-�	G�"&�(F�(F�4�>�;O�;O�;Q�;Q�(F�(F�(F�#G�#G�D���d�n�,�,�T�\�,��M�K�,�
.�
.�
.��L���
���0�0�0���	O��W�X�$��/E�/E�/G�/G�*H�*H�J�J�J�F��+�1�1�3�3�	
O�	
O���1��a�!1�2�2�O��&�&�q�)�)�)�)��O�O�A�q�T�Y��O�N�N�N�N��	.��W�X�$��/E�/E�/G�/G�*H�*H�J�J�J�F�,�5�5�7�7�
.�
.�	��"�"�9�-�-�-�-��l�	>�	>�F����d�G�V�T�6�$(�N�H�
>�
>�
>�
>�#�>�>�+�+��� �I�I�f�d�.>�?�?���#�D�$5���*.�*<�
�*J�L�L�L���?�	$�x�x��D��9O�9O�9Q�9Q�4R�4R�Z_�`�`�`�	$� ���d�?�3I�3I�3K�3K�.L�.L�TY�Z�Z�Z�I��F��	
8�Y�/�/�1�1�	
8��=�,� $� 2� 2�6� :� :�I�!*�!3�!3�!5�!5�a�!8�!A�!A�!C�!C�J�&�h�/�3�3�J�?�?�J�7�E�&�/�/�1�1�!�4�?�?��e�?�T�T�F�F�!�)�"4�"4�"6�"6�7�7�F��G�H�$6�7�7�#�H�$8�9�9�"�$�$�
$�
�l�	?�	?�F����t�X�v�t�V�%)�^�X�
?�
?�
?�
?��r)c��|jdkrdStd��}t|j��}|jrt|j��}nt|j��|z}dtt	|����d�}|j�d|zdz|d<|�|j��t�d|z��t�	d	�
d
�|���D������t�	|��tj
dkr+td�|���D����}|j�||||�
��\}}||_||_t�	d	�
d�|���D������t�	|��|S)zSend SOAP request using HTTP�testN�POSTztext/xml; charset="UTF-8")zContent-typezContent-length�"�
SOAPActionzPOST %s�
c�"�g|]\}}|�d|����
S�r+r<r�s   r(r�z#SoapClient.send.<locals>.<listcomp>3s'��K�K�K�4�1�a����A�A�.�K�K�Kr)rc3�XK�|]%\}}t|��t|��fV��&dSr!)�strr�s   r(�	<genexpr>z"SoapClient.send.<locals>.<genexpr>;s7����H�H���1�C��F�F�C��F�F�+�H�H�H�H�H�Hr))r�r�c�"�g|]\}}|�d|����
Sr�r<r�s   r(r�z#SoapClient.send.<locals>.<listcomp>Bs'��L�L�L�4�1�a����A�A�.�L�L�Lr))rTr�rvrU�len�updaterZrd�inforn�joinr�r:r;r�rqr�r��content)	r'r�r��http_methodrT�soap_actionr�r�r�s	         r(r�zSoapClient.sends����=�F�"�"�F�F��&�k�k���t�}�%�%���=�	4��d�k�*�*�K�K��d�k�*�*�V�3�K�8�!�#�c�(�(�m�m�
�
��
�;�"�$'�+�$5��$;�G�L�!����t�(�)�)�)�����X�%�&�&�&��	�	�$�)�)�K�K�7�=�=�?�?�K�K�K�L�L�M�M�M��	�	�#�����;����
�H�H��
�
���H�H�H�H�H�G� �I�-�-��k��W�.�>�>���'� ��
�����	�	�$�)�)�L�L�8�>�>�;K�;K�L�L�L�M�M�N�N�N��	�	�'�����r)c�*�|j�d��rdpd}|jss|j���D]X\}}d�|d���D��D]\}}|d|kr||f|_n�td|z����Yn/|j|jdd|jd}|js
|d	|_|d
�|��}|std|�d|j�����|S)
Nr@r=c��g|]}|��Sr<r<)r��ports  r(r�z,SoapClient.get_operation.<locals>.<listcomp>Ks��'R�'R�'R���'R�'R�'Rr)�ports�soap_verz2Cannot determine service in WSDL: SOAP version: %srrrT�
operationsz
Operation z' not found in WSDL: Service/Port Type: )rfrjrwrvr�r%rTr�)r'r�r��service_name�service�	port_namer�r�s        r(r�zSoapClient.get_operationFsk���>�,�,�X�6�6�C�8�O�x��� �
	V�)-��)<�)<�)>�)>�
F�
F�%��g�'R�'R���9I�9O�9O�9Q�9Q�'R�'R�'R�F�F�O�I�t��J�'�8�3�3�,8�)�,C��)���4�'�(:�<D�(E�F�F�F��	
F��=��!2�1�!5�6�w�?��@Q�RS�@T�U�D��}�	-� ��,�D�M���&�*�*�6�2�2�	��	<��,� &����(9�(9� ;�<�<�
<��r)c�0�|�|||��S)�FPre and post process SOAP call, input and output parameters using WSDL)�wsdl_call_with_args)r'r�r�r�s    r(r�zSoapClient.wsdl_call]s���'�'���f�=�=�=r)c�J�t|j}|�|��}|d}|d}|�d��}d|vr
|d|_d|vr|dpd|_|d|_|rt||j��|_	|�
||||��\}}	|j|g|	�R�}
|
d|�	������
||j�
��}|o&t|�����dS)r��input�outputr�rUrVrDr�r�r�r�r)r�rfr�r�rUrVr�rrhri�wsdl_call_get_paramsr�r�r�r\r�r�)r'r�r�r�r�r�r�r�r��paramsr��resps            r(r�zSoapClient.wsdl_call_with_argsas5��"�4�>�2���&�&�v�.�.�	��'�"���8�$�����x�(�(���y� � �#�H�-�D�K��)�#�#�&�{�3�9�r�D�N�&�{�3�D�N��	D�"+�F�D�N�"C�"C�D���2�2�6�5�$��O�O�����4�9�V�-�f�-�-�-���x��8�,�,�,�5�5�7�7�B�B�6�RV�R]�B�^�^���.��T�[�[�]�]�+�+�A�.�.r)c���dx}x}}i}|r/t|�����d}||}|r�|r�i}	t|��D]h\}
}t|�����|
}t|t��r"||vrtd|z���|||	|<�c||	|<�i|�||	i��|r�|s|r�|r|�||i��|�||��\}
}}|
std|z���t||��}t|�
����d}g}|���D]U\}}|j|}|j
|st|t��r
||jd<|�||f���V|jdvr|}n|}n|o|���}||fS)z'Build params from input and args/kwargsNrz)Unhandled key %s. use client.help(method)z"Invalid Args Structure. Errors: %s)�axis)r��keys�	enumerater�r��KeyErrorr��wsdl_validate_params�
ValueErrorrr�r�r��
referencesrr�rg)r'r�r�r�r�r��	inputname�	inputargs�all_args�d�idx�argrN�valid�errorsr��tree�rootr�r��root_nss                     r(r�zSoapClient.wsdl_call_get_params|s0��)-�-��-��Y����	)��U�Z�Z�\�\�*�*�1�-�I��i�(�I��	,�T�	,��A�%�d�O�O�
!�
!���S��9�>�>�+�+�,�,�S�1���c�4�(�(�!��#�~�~�&�'R�UX�'X�Y�Y�Y� ��X�A�c�F�F� �A�c�F�F��O�O�Y��N�+�+�+��	/�f�	/��	/��
5�����F� 3�4�4�4�&*�&?�&?��x�&P�&P�#�E�6�8��
P� �!E��!N�O�O�O��U�H�-�-�D�����
�
�&�&�q�)�D��F��
�
���
&�
&���1��/�!�,����q�)�1�j��F�.C�.C�1�)0�A�L��&��
�
�q�!�f�%�%�%�%��!�Z�/�/����#����.������F����r)c�`�g}g}d}t|��t|��krd}t|t��st|t��rd}nd}|tkrt}t|t
ttf��s|tj��vrjt|��|ksU|�S	||���ng#d}|�	dt|���d|�dt|���d|����Y�n%xYw�n t|t
��rst|��dkr`t|t
��sK|�|d|��\}}}	|sd}|�|��|j|	���n�t|t��r�|r�|r�|D]v}
|
|vr!d}|�	d	|
�d
|�d|�����'|�||
||
��\}}}	|sd}|�|��|j|	���w|D]}
|
|vr|j	d|
�d
|�d|����� n�|r|s|j	d|�d|����n�|s |rd}|�	d|�d|����n�n�t|t
��rQ|d}|D]E}|�||��\}}}	|sd}|�|��|j|	���Fn?|s=d}|�	dt|���d|�dt|���d|����|||fS)z�Validate the arguments (actual values) for the parameters structure.
           Fail for any invalid arguments or type mismatches.TFNz,Type mismatch for argument value. parameter(z): z, value(rrz
Argument key z not in parameter. parameter: z, args: zParameter key z not in args. parameter: z	, value: z'parameter keys not in args. parameter: z'Args keys not in parameter. parameter: zType mismatch. parameter()
�typer�r�r�r�r��tuplerr�r�r�r��extend)
r'�struct�valuerr�r�	typematch�
next_valid�next_errors�
next_warningsrN�struct_list_value�items
             r(r�zSoapClient.wsdl_validate_params�sV����������<�<�4��;�;�&�&��I��&�$�'�'�	�J�u�d�,C�,C�	��I�I��I��S�=�=��F��&�4��u�"5�6�6�1	z�6�X�]�_�_�;T�;T���;�;�&�(�(�e�.?�U��F�5�M�M�M�M��U�!�E��M�M�M�jn�ou�jv�jv�jv�jv�x~�x~�x~�AE�FK�AL�AL�AL�AL�NS�NS�#T�U�U�U�U�U�����
���
%�
%�)	z�#�f�+�+��*:�*:�:�e�UY�CZ�CZ�*:�59�5N�5N�v�VW�y�Z_�5`�5`�2�J��]��
����M�M�+�&�&�&��H�O�M�*�*�*�*����
%�
%� 	z��
�%�
� �	7�	7�C��&�(�(� %���
�
�
�eh�eh�eh�jp�jp�jp�rw�rw�&x�y�y�y�y�AE�AZ�AZ�[a�be�[f�hm�nq�hr�As�As�>�
�K��)�*�$)�E��
�
�k�2�2�2�'���
�6�6�6�6�!�y�y�C��%�'�'�'����dg�dg�dg�io�io�io�qv�qv�(w�x�x�x��y��
��
�����Y_�Y_�Y_�af�af� g�h�h�h�h��
��
����
�
�
�W]�W]�W]�_d�_d�e�f�f�f�f��
���
%�
%�
	z� &�q�	���
/�
/��9=�9R�9R�Sd�fj�9k�9k�6�
�K��!�"�!�E��
�
�k�*�*�*����
�.�.�.�.�
/��	z��E��M�M�M�t�TZ�|�|�|�|�]c�]c�]c�ei�jo�ep�ep�ep�ep�rw�rw�x�y�y�y��v�x�(�(s�7C�?Dc
��|�|��}|�d��}|o:|���o&t|�����d}t	|t
��r2d�d�|���D����}n$t	|t��rt|��}|�d��}|r-t|d�����d}|�d��pd}|�d|pd	�d
|r|pd	�d|�dd	���d
|��	S)zDReturn operation documentation and invocation/returned value exampler�r�, c3�DK�|]\}}|�dt|����V��dS)�=N)r5r�s   r(r�z"SoapClient.help.<locals>.<genexpr>�s7����O�O���A����D��G�G�G�4�O�O�O�O�O�Or)r�r�N�(rDz)
 -> z:

�
documentationz

Headers: )	r�r�r�r�r�r�r�r�r5)r'r�r�r�r�r�s      r(�helpzSoapClient.help�sH���&�&�v�.�.�	��
�
�g�&�&���D�%�,�,�.�.�D�T�%�,�,�.�.�-A�-A�!�-D���e�T�"�"�	 ��I�I�O�O������O�O�O�O�O�E�E�
��t�
$�
$�	 ���K�K�E����x�(�(���	;��)�H�-�4�4�6�6�7�7��:�F��-�-�	�*�*�2�d���F�F��K�R�K�K���v�#��#�#��M�M�/�2�.�.�.�.��G�
�	
r)r=r@)z%http://schemas.xmlsoap.org/wsdl/soap/z'http://schemas.xmlsoap.org/wsdl/soap12/z http://schemas.xmlsoap.org/wsdl/z http://www.w3.org/2001/XMLSchemaz)http://www.w3.org/2001/XMLSchema-instancec	��t||j|||j|j��}t	||j���}d|_t|dd�����pd|_i}|�	��pgD]�}|�
��dvr�|d}|d}	|	�t�d
|z���H|	|vrt�d|	z���j|||	<t�
d|�d
|	����t|	|j|||j|j��}t	||j���}
|�|
����|S)zJUnmarshall the WSDL at the given url into a tree of SimpleXMLElement nodes)rVrDrF�r��importrVrTNz"WSDL location not provided for %s!zWSDL %s already imported!zImporting wsdl z from )rrqr`rZr�wsdl_urirVr�rr�rrd�warningrn�xsd_urir�)r'�urlrQ�force_downloadr�rz�imported_wsdls�element�wsdl_namespace�
wsdl_location�
imported_wsdls           r(�_url_to_xml_treezSoapClient._url_to_xml_treesr���C���E�>�4�;L�d�N_�`�`����t�}�=�=�=�����$�T�T�/��%G�%G�%G�H�H�N�B������}�}���,�"�	0�	0�G��%�%�'�'�H�5�5�!(��!5�� '�
� 3�
� �(��K�K� D�~� U�V�V�V�� �N�2�2��K�K� ;�m� K�L�L�L��0>��}�-��	�	�	������W�X�X�X��M�4�9�e�^�T�M^�`d�`q�r�r�� 0���� M� M� M�
�� � ��/�/�/���r)c�0�d}i}|dd�D]d\}}||jvr'|�d��r||t|��<||jkr$|�d��rt|��}�ei}i}	i}
i}i}dt	|dd������vr�|dd���rS|�d|j���}
t	|
dd���}|�d	|j��|_|jr|jd
kr|d	p|j|_i}d|ji}|dd���pgD]I}|d|jd���}|pgD]/}
t|
|||j|j
|j|||j|��
�
�0�Jt|g��|jD�]�}|d
d���pgD�]�}i}|d}|s|d}t|��}|�|��}|dpd}||jkr�t|��}t#j|d��}||i}|d|f|	vr.t%��}||jd<|d|i|	|d|f<n(|	|d|f���d}||j|<d|j|<|�|����t|��}|�t-|d|����}|s`|�t-|d|����}t%��}|||<||jd<||j|<d|j|<|d|i}n||i}||	|d|f<������|jD�]H}|d}ix}|
|<ix}|d<|jD�]&} | d}!ix}"||!<| d|"d<| dpd�d��|"d<t5| dd�����pd|"d<| dd���rOt| jd��|"d<t| jd��}#| �|#��|"d<| dd���rt| jd��|"d<ix}$|"d <| d!d���}%|%�.| d!d���D] }&t|&d��|$|&d<�!��(��J|jD�]}'t|'d��}||
vr�|
|}|'d}(|'d"t=|�����d���})|)r|)d#pd}*|)r|)dpd}+|(t?j |d��||*|+d$�x},||(<|'jD�]u} | d}!| d%t=|�����d���}-|-o|-d&}.|,d�!|!i��}"|!|"d<|"�d|+��|"d<|.�|.|"d'<| dd���}/|/o,|/d(t=|�����d���}0|0r|0d)pd}1g}2|/o,|/d*t=|�����d���}3|3pgD](}4|4d|4d
d+�}5|2�"|5���)d|"v�ri}3|2D]w}6t|6�d����}7t|6�d
����}8tG|	|7p|"d|8��}5|5r|3�|5���w�xtG|	|"d|1|"d��|"d<|3|"d*<	t=|"d�����d}|jd}9|j$}:n(#tJtLf$r};|"d}9d}:Yd};~;nd};~;wwxYw|9r
|9|"d<|:|"d,<|"d=n
d|"d<d|"d*<| dd���}<|<o,|<d(t=|�����d���}0|0r|0d)pd}=d|"vrtG|	|"d|=��|"d<|"d=nd|"d<d |"vrOix}%|"d-<|"d ���D]-}>tG|	|>|=��}?t=|?��d}@|?|%|@<�.g}A|<o,|<d*t=|�����d���}3|3pgD](}4|4d|4d
d+�}5|A�"|5���)��w��|d.d���pgD�]}B|Bd}C|Cs�|�!|Ci��}Dix}E|Dd/<|Bdpd|Dd<|Bj'D]�}Ft|Fd"��}(|(|vr�t?j ||(��x},|E|Fd<|Fd0t=|�����d���}G|Gr|Gd1pd}H|Go&|�|G�(����}I|Io|j�|I��}J|,�|H|C|I|Jd2����ڐ�|s	d/ddii|d<t=d3�|���D����tSd4�|���D����z}d};g|_*|D]$}|;|kr|j*�"|��|};�%|S)5zNConvert SimpleXMLElement tree representation of the WSDL into pythonic objectsNzxmlns:zhttp://xml.apache.org/xml-soap�typesFr�schemar��targetNamespacezurn:DefaultNamespacer�)�global_namespaces�partr&r�namer�complexTyper��style�parameterOrderrD� �parameter_orderrr��message�	input_msgrVr��
output_msg�
fault_msgsr��binding�	transport)r1r��port_type_namer<r3r��
soapActionrUr��partsr�)r7r0r�r�r�r��addressrT)rTr�r�r�c3�FK�|]}t|��tu�|V��dSr!�r�r��es  r(r�z3SoapClient._xml_tree_to_services.<locals>.<genexpr>6s,����H�H�a��Q���4��������H�Hr)c3�FK�|]}t|��tu�|V��dSr!rBrCs  r(r�z3SoapClient._xml_tree_to_services.<locals>.<genexpr>6se����RH�RH�XY�vz�{|�v}�v}�BF�wF�wF�RS�wF�wF�wF�wF�RH�RHr))+�soap_ns_urisrjrr"r�r�r,r�rVrrgrqr`rr7r�get_namespace_urir
rr�r�r�r�portTyper��splitr�r�r�r;r��copy�deepcopy�
setdefaultr�rr��AttributeErrorr�r��
get_prefix�sorted�elements)Kr'rzrQr$�xsd_ns�	soap_urisr�r�rP�messages�
port_types�bindingsrvr-�attrs�imported_schemasr/r,�schemasr7r0r&�element_name�type_ns�type_uri�	part_name�fn�od�port_type_noder=�	port_typer��operation_node�op_name�oprxr:r�r��binding_node�binding_name�soap_bindingr<r3r;�op_oprUr�r��parts_input_body�parts_input_headersr�r��hdr�input_header�
header_msg�header_part�ns_urir�rDr��parts_output_body�msg�msg_obj�tag_name�parts_output_headersr�r��servr�r�r@rTr�r�sK                                                                           r(�_xml_tree_to_servicesz SoapClient._xml_tree_to_services7s_
�����	�����G�	+�	+�D�A�q��D�%�%�%�!�,�,�x�*@�*@�%�/0�	�.��+�+�,��D�L� � �Q�\�\�(�%;�%;� �'��*�*��������
�����,�t�D����G�}�}�/C�/C�/E�/E�E�E��t�G�5�)�)�)�
N����H����>�>���V�A�A�A�Y����!&���+<�d�n�!M�!M����>�
K�T�^�7M�%M�%M�!%�&7�!8�!J�D�N�����!�4�>�2���T�'��/�/�/�5�2�	G�	G�E��e�H���U�C�C�C�G�!�-�R�
G�
G��!�&�*:�H�d�l�"&�"4�d�i��"0�$�2C�4E�G�G�G�G�G�
G�	�H�b�)�)�)��|�&	E�&	E�G����e�4�4�4�:��%
E�%
E����#�I���#�0�#'��<�L�.�|�<�<���1�1�'�:�:�� ��L�0�D�	��t�|�+�+�#1�,�#?�#?�L�)�-�l�D�A�A�B�(�"�o�G�����3�8�C�C�#�X�X��.6��
�d�+�BI�&�/�SU�AV��'�&�/�9�!=�>�>�%�w�v��	�&B�C�J�J�L�L�Q�O��/7�B�M�)�,�/4�B�M�)�,��I�I�g�&�&�&�&�#1�,�#?�#?�L�!���h�|�Y��&Q�&Q�R�R�B��
5�%�\�\�(�<��PX�*Y�*Y�Z�Z��#�X�X��(*��9�
�.6��
�d�+�3;��
�i�0�38��
�i�0�#*�6�?�B�"7���#/��"4��=D�H�g�f�o�y�9�:�:�K%
E�N#�m�	U�	U�N�+�F�3�N�57�7�I�
�>�2�35�5�J��<�0�"0�":�
U�
U��(��0��+-�-��Z��(�,�W�5��7��)7�8H�)I�)O�R�(V�(V�WZ�([�([��$�%�&-�n�n�_�TY�.Z�.Z�.Z�&[�&[�&a�_a��?�#�!�>�'��7�7�7�K�&4�^�5I�)�5T�&U�&U�B�{�O�-�n�.B�9�.M�N�N�B�&4�&F�&F�r�&J�&J�B�{�O�!�>�(�%�8�8�8�X�'5�n�6K�I�6V�'W�'W�B�|�$�13�2�
�R��-�'���u�=�=�=���%�!/���u�!E�!E�!E�U�U��4B�5��CS�4T�4T�
�5��=�1�1��)
U�,!�L�a	5�a	5�L�+�L��,@�A�A�N��Z�/�/��"�>�2�I�'��/�L�'�<�	�d�9�;K�;K�;M�;M�6N�6N�V[�\�\�\�L�$�B��k�)B�J�d�I� �:�\�'�%:�B�d�E�%�"�m�I�l�,C�D�D�"0�&��0�0�
�G�h�|�,�#/�"8�N
5�N
5��(��0��&��{�t�I�<L�<L�<N�<N�7O�7O�W\�]�]�]���6�5��#6���\�*�5�5�g�r�B�B��$��6�
� �f�f�W�e�4�4��7���%�#)�B�x�L�'��w�e�<�<�<���X���v�$�y�7G�7G�7I�7I�2J�2J�RW�!X�!X�!X��#'�#9�D��M�#A�T� �')�#��]�E�E�(�t�I�<L�<L�<N�<N�7O�7O�W\�$]�$]�$]��%�m��4�4�F�&,�Y�&7����P�P�C�'�.�.�s�3�3�3�3��"�$�$� �G�(;�!�!��%3�L�4D�4D�Y�4O�4O�%P�%P�
�&4�\�5E�5E�f�5M�5M�&N�&N��)�(�J�4Q�"�[�/�S^�_�_���!�#�N�N�3�/�/�/�/� �"-�h��;��IY�[]�^o�[p�"q�"q�B�w�K�#*�B�x�L�)�"&�r�'�{�'9�'9�';�';�"<�"<�Q�"?��!(�!3�D�!9��$+�$5�	�	��*�H�5�)�)�)�!#�K���$(�	�	�	�	�	�	�����)�����4�*0��;��*3��;���;���#'�B�w�K�#'�B�x�L�'����>�>�>���Z�&�&��D��9I�9I�9K�9K�4L�4L�TY�"Z�"Z�"Z��$(�$:�T�'�]�$B�d�!��2�%�%�#.�x��L�9I�K\�#]�#]�B�x�L��<�(�(�#'�B�x�L��2�%�%�,.�.�F�R��\�!�,�/�6�6�8�8�3�3��"-�h��=N�"O�"O��#'��=�=��#3��+2��x�(�(�(*�$� �_�V�V�H��i�>N�>N�>P�>P�9Q�9Q�Y^�%_�%_�%_��%�m��5�5�F�&,�Y�&7����P�P�C�(�/�/��4�4�4�4�5�YN
5�f�t�I�U�3�3�3�9�r�	�	�G�"�6�?�L��
���&�&�|�R�8�8�D�$&�&�E�D��M�$+�O�$<�$B��D��!���
�
��-�d�9�o�>�>��#�x�/�/��04�
�h�|�>T�0U�0U�U��%��V��-��$�y�T�)�2B�2B�2D�2D�-E�-E�U�S�S�S��"�:�w�z�':�B�d��"�J�y�}�}�W�5G�5G�5I�5I�'J�'J��#�G��(9�(=�(=�h�(G�(G����� (�$0� (� (�	 � �����
�(�	1�#�b�$�Z�0�H�R�L��H�H�8�?�?�#4�#4�H�H�H�H�H�6�RH�RH�]e�]l�]l�]n�]n�RH�RH�RH�LH�LH�H������
��	�	�G��7�{�{�D�M�0�0��9�9�9��A�A��s�2A]4�4^�
^�^c���t�d|z��d}|�r�dtj|�����z}t|t��r tj�	||��}tj�
|���r%t�d|����t|d��}tj
|��}|���|ddd�tjd	��d
dd�ks|d|krnt#jdt&��t�d
|d�d	t����t�d|d�d	|����d}n"|d|_|d|_|dSt,t.d<|�|||��}|�|||��}|rct|d��}tjd	��d
||j|j|d�}tj||��|���|S)z"Parse Web Service Description v1.1zParsing wsdl url: %sFz%s.pklzUnpickle file �rr;NrGr5rr#z/version or url mismatch! discarding cached wsdlz	Version: zURL: TrVrrv�string�wb)r;r#rVrrv)rdrn�hashlib�md5�	hexdigestr��
basestringr]r^r��exists�open�pickle�loadrpr	rIr�r��RuntimeWarningrVrr�r
r*ru�dump)	r'r#rQr$�filename_pklr��pklrzrvs	         r(ruzSoapClient.wsdl_parse?s8��	�	�	�(�3�.�/�/�/����	+�#�g�k�#�&6�&6�&@�&@�&B�&B�B�L��%��,�,�
A�!�w�|�|�E�<�@�@���w�~�~�l�+�+�
+��	�	�	���?�@�@�@���s�+�+���k�!�n�n�����	�	�	��y�>�#�2�#�&�+�*;�C�*@�*@��*C�C�R�C�*H�H�H�C�PU�J�Z]�L]�L]��M�"S�Uc�d�d�d��I�I�I�#�i�.�.�.�+�+�N�O�O�O��I�I�I�c�%�j�j�j�#�#�>�?�?�?�%)�N�N�%(��%5�D�N�),�_�)=�D�&��z�?�*�&)���"��$�$�S�%��@�@���-�-�d�E�>�J�J���
	��\�4�(�(�A�&�,�S�1�1�!�4��!�^�!%�!3�$���C�
�K��Q����
�G�G�I�I�I��r)c��||j|<dS)zCSet SOAP Header value - this header will be sent for every request.N)rh)r'rrs   r(�__setitem__zSoapClient.__setitem__rs��$���t���r)c��|j���|j�t	j����r=t�d|jz��tj	|j��dSdS)z+Finish the connection and remove temp fileszremoving %sN)
rqrprIrjrk�
gettempdirrdrnr]�unlinkr,s r(rpzSoapClient.closevsp���	�������;�!�!�(�"5�"7�"7�8�8�	#��I�I�m�d�k�1�2�2�2��I�d�k�"�"�"�"�"�	#�	#r)c
�<�d}|dz
}|jD]{}t|t��r|j}nTt|t��r|j}n7t|t��r!|jddkrt|��}n�s|d|zz
}�||j	D�]}|d|zz
}|j	|d}|D�]�}||}|ddkr�|d	|d
zz
}|d|dzz
}|d
|dzz
}|d|dzz
}|dz
}|d}t|��D�]x}|�|��}|�d��}|o:|�
��o&t|�
����d}d}	t|t��r�d|vs|ddkr�|���D]l\}
}t|t��r|j}n?t|t��r|j}n"t|t��r
|jd}|	|
�d|�d�z
}	�m|�d��}|r-t|d�
����d}|d|d
�d|	dd��d�z
}|d|zz
}��z����
|S)NzSOAP CLIENTz

 ELEMENTSrr&z
  %sz
 SERVICE (%s)r�r�z
   PORT (%s)r1z
    Location: %srTz
    Soap ver: %sz
    Soap URI: %sr�z
    OPERATIONSr�r�rrDr�r+rr�z
     r���r4z
      > %s)rPr�rr7r�xml_typerrNr5rvrOr�r�r�r�r�r�)
r'�srDr�r�r�r�r�r��	input_strr�r�r�s
             r(r6zSoapClient.__repr__}s����	�]�����		�		�A��!�T�"�"�
��J����A�u�%�%�
��J����A�v�&�&�
�1�5��8�Y�+>�+>���G�G����
��A���A�A��}�"	1�"	1�G�
�"�W�,�,�A��M�'�*�7�3�E��
1�
1���T�{���
�#�t�+�+�X��%��V��4�4���)�D��,<�<�<���)�D��,<�<�<���)�D��,<�<�<���'�'��!�,�/�
�!'�
�!3�!3�1�1�I� $� 2� 2�9� =� =�I�%�M�M�'�2�2�E�!�P�e�l�l�n�n�P��e�l�l�n�n�9M�9M�a�9P�E� "�I�!�%��.�.�	A�'�u�4�4��l�8K�T�8Q�8Q�(-���
�
�A�A���1�#-�a��#6�#6�!1�()�
�A�A�%/��5�%9�%9�!1�()�
�A�A�%/��6�%:�%:�!1�()��a��A� )�1�1�1�a�a�a�-@� @�	�	�&�]�]�8�4�4�F��G�!%�i��&9�&@�&@�&B�&B�!C�!C�A�!F���A�!�&�)�)�)�!�#�2�#������A���&�0�0�A�A�-1�
1�B�r))F)r7r8r9�__doc__r
r&r�r�r�r�r�r�r�r�rrFr r"�xsi_urir*rurur�rpr6r<r)r(rCrCJs�������(�(� $�T�T��t�4�D��D�r��t��T�7�"�%�����T�
^!�^!�^!�^!�@Q�Q�Q�h�h�h�T'�'�'�R���.>�>�>�/�/�/�62 �2 �2 �hE)�E)�E)�N
�
�
�,2:�3;���L�2�H�0�G�9�G�!�!�!�FF�F�F�P1�1�1�1�f%�%�%�#�#�#�1�1�1�1�1r)rCc��i}|�dSd|vr|�d��\}}nd|}}d|vr0|�d��\}}|t|��c|d<|d<d|vr|�d��\|d<|d<|S)	zJParses proxy address user:pass@host:port into a dict suitable for httplib2N�@rD�:�
proxy_host�
proxy_port�
proxy_user�
proxy_pass)rI�int)�	proxy_str�
proxy_dict�	user_pass�	host_port�hostr�s      r(�parse_proxyr��s����J�����
�i���(���s�3�3��	�9�9�!�9�9�	�
�i����_�_�S�)�)�
��d�=A�3�t�9�9�:�
�<� �*�\�":�
�i���=F�_�_�S�=Q�=Q�:�
�<� �*�\�":��r)�__main__)7r��
__future__rr:r;r�r��cPickler��ImportErrorrJrzrar]rkr�rDrrrr	r
�	simplexmlrrr
rr<rrr�helpersrrrrrrrrrrr�wsser�	getLoggerr7rdr%rr�r��objectrCr�r<r)r(�<module>r�s���1�0�'�'�'�'�'�'�
�
�
�
��;�����G�������������M�M�M�M�M�����������������	�	�	�	���������J�J�J�J�J�J�J�J�J�J�J�J�J�J�K�K�K�K�K�K�K�K�K�K�K�K�C�C�C�C�C�C�C�C�C�C�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N� �������g���!�!��^�^�^�^�^��^�^�^�.�$�6�	4�7�/�7�����d
�d
�d
�d
�d
��d
�d
�d
�L���"�z����D��s� �	,�,