File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/__pycache__/namecheap.cpython-310.pyc
o
�N�gD � @ s� d Z ddlZddlZddlZzddlZdZW n ey! dZY nw e� e
�Zdadd� Z
dd� Zd d
� Zdd� Zd
d� Zdd� Zdd� Zdd� ZdS )aM
Namecheap Management library of common functions used by
all the namecheap execution modules
Installation Prerequisites
--------------------------
- This module uses the following python libraries to communicate to
the namecheap API:
* ``requests``
.. code-block:: bash
pip install requests
� NTFc C s t sdS tstj�t�adS )N)FzMMissing dependency: 'requests'. The namecheap utils module cannot be loaded. T)�HAS_REQUESTS�__salt__�salt�loaderZminion_modsZ__opts__� r r �H/opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/namecheap.py�__virtual__$ s
r c C � t d d�}ttj|| dd��S )N�
config.option�
namecheap.url�- )�data�timeout)r �_handle_request�requestsZpost��optsZ
namecheap_urlr r r �post_request1 � r c C r )Nr
r r )�paramsr )r r r �getr r r r �get_request6 r r c C s� | � � | jdkrt�t| �� tt| ���tjj� | j
�}|�d�d }|�d�dkrWg }|�d�d }|�d�D ] }|�
|jj� q:d�|�}t�|� t�|� t|��|S ) Ni+ ZApiResponser ZStatus�ERRORZErrors�Error� )�closeZstatus_code�log�error�str� Exception�xmlZdomZminidomZparseString�textZgetElementsByTagNameZgetAttribute�append�
firstChildr
�join�info)�rZresponse_xmlZapiresponser
�errors�er r r r r ; s
r c s� � j � jkr � jS t� �}t� fdd�� jD ��dkrIt|�dkr6� jd ur4t� jj�dkr4� jj|d<