U
    ¼Ê¦i'  ã                   @   sJ   d Z ddddgZddlZefZG dd„ deƒZG dd„ deƒZ	d	d„ Z
dS )
z¡Python version compatibility support for minidom.

This module contains internal implementation details and
should not be imported; use xml.dom.minidom instead.
ÚNodeListÚEmptyNodeListÚStringTypesÚdefpropertyé    Nc                   @   s>   e Zd ZdZdd„ Zdd„ Zdd„ Zeeedd	�Zd
d„ Z	dS )r   © c                 C   s(   d|  krt | ƒk r$n n| | S d S ©Nr   ©Úlen©ÚselfÚindexr   r   ú(/usr/lib/python3.8/xml/dom/minicompat.pyÚitem5   s    zNodeList.itemc                 C   s   t | ƒS ©Nr   ©r   r   r   r   Ú_get_length9   s    zNodeList._get_lengthc                 C   s   t j d¡‚d S ©Nz.attempt to modify read-only attribute 'length'©ÚxmlÚdomÚNoModificationAllowedErr©r   Úvaluer   r   r   Ú_set_length<   s    ÿzNodeList._set_lengthú$The number of nodes in the NodeList.©Údocc                 C   s   |d krg }|| d d …< d S r   r   )r   Ústater   r   r   Ú__setstate__D   s    zNodeList.__setstate__N)
Ú__name__Ú
__module__Ú__qualname__Ú	__slots__r   r   r   ÚpropertyÚlengthr   r   r   r   r   r   2   s   ÿc                   @   sF   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
d„ Ze	eedd�Z
dS )r   r   c                 C   s   t ƒ }| |¡ |S r   ©r   Úextend©r   ÚotherÚNLr   r   r   Ú__add__M   s    
zEmptyNodeList.__add__c                 C   s   t ƒ }| |¡ |S r   r%   r'   r   r   r   Ú__radd__R   s    
zEmptyNodeList.__radd__c                 C   s   d S r   r   r
   r   r   r   r   W   s    zEmptyNodeList.itemc                 C   s   dS r   r   r   r   r   r   r   Z   s    zEmptyNodeList._get_lengthc                 C   s   t j d¡‚d S r   r   r   r   r   r   r   ]   s    ÿzEmptyNodeList._set_lengthr   r   N)r   r    r!   r"   r*   r+   r   r   r   r#   r$   r   r   r   r   r   J   s   ÿc                 C   sR   t | d| ƒ}|fdd„}t| d| ƒr4td| ƒ‚t|||d�}t| ||ƒ d S )NZ_get_c                 S   s   t j dt|ƒ ¡‚d S )Nz&attempt to modify read-only attribute )r   r   r   Úrepr)r   r   Únamer   r   r   Úsetg   s    
ÿzdefproperty.<locals>.setZ_set_zexpected not to find _set_r   )ÚgetattrÚhasattrÚAssertionErrorr#   Úsetattr)Úklassr-   r   Úgetr.   Zpropr   r   r   r   e   s    ÿ)Ú__doc__Ú__all__Zxml.domr   Ústrr   Úlistr   Útupler   r   r   r   r   r   Ú<module>   s   *