U
    H4fÚ  ã                   @   s   d dl Z G dd„ dƒZdS )é    Nc                   @   st   e Zd ZejrdZdZdZee	dœdd„ƒZ
edd„ ƒZee	dœdd	„ƒZdd
d„Zdd„ Zddd„Zddd„ZdS )ÚBaseÚ r   )Úreturnc                 C   s
   | j dkS ©Né   )Ú
max_occurs©Úself© r
   ú:/tmp/pip-unpacked-wheel-04z2hmy8/zeep/xsd/elements/base.pyÚaccepts_multiple
   s    zBase.accepts_multiplec                 C   s   d S ©Nr
   r   r
   r
   r   Údefault_value   s    zBase.default_valuec                 C   s
   | j dkS )Nr   )Ú
min_occursr   r
   r
   r   Úis_optional   s    zBase.is_optionalc                 C   s2   i }|s|||fS || }|d7 }| j |i||fS r   )Ú	attr_name)r	   ÚargsÚindexÚresultÚvaluer
   r
   r   Ú
parse_args   s    
zBase.parse_argsc                 C   s
   t ƒ ‚d S r   ©ÚNotImplementedError)r	   ÚkwargsÚnameZavailable_kwargsr
   r
   r   Úparse_kwargs   s    zBase.parse_kwargsNc                 C   s
   t ƒ ‚dS )a  Consume matching xmlelements and call parse() on each of them

        :param xmlelements: Dequeue of XML element objects
        :type xmlelements: collections.deque of lxml.etree._Element
        :param schema: The parent XML schema
        :type schema: zeep.xsd.Schema
        :param name: The name of the parent element
        :type name: str
        :param context: Optional parsing context (for inline schemas)
        :type context: zeep.xsd.context.XmlParserContext
        :return: dict or None

        Nr   )r	   ZxmlelementsÚschemar   Úcontextr
   r
   r   Úparse_xmlelements"   s    zBase.parse_xmlelementsFc                 C   s   dS )Nr   r
   )r	   r   Ú
standaloner
   r
   r   Ú	signature2   s    zBase.signature)r   )NN)NF)Ú__name__Ú
__module__Ú__qualname__ÚtypingÚTYPE_CHECKINGr   r   r   ÚpropertyÚboolr   r   r   r   r   r   r    r
   r
   r
   r   r      s   

	
r   )r$   r   r
   r
   r
   r   Ú<module>   s   