Your IP : 3.145.51.35
3
\ � @ s� d dl Z d dlZd dlmZmZmZmZ d dlT d dlm Z m
Z
ejjj
ejjjfZG dd� dejj�Zeeddd � eed
dd � eedd
d � dd� Zdd� Zdd� Zdd� Zdd� ZG dd� de�ZG dd� de�Zeeddd � eeddd � eedd d � G d!d"� d"e�Zeed#d$d � eZG d%d&� d&e�Zedd�ZG d'd(� d(e�Zeed)d*d � eedd+d � d,d-� ZG d.d/� d/�ZG d0d1� d1ee�Z G d2d3� d3ee�Z!ee!d#d4d � G d5d6� d6e!�Z"ee"d7d8d � ee"d9d:d � d;d<� Z#d=d>� Z$G d?d@� d@e!�Z%G dAdB� dBe"�Z&G dCdD� dDe�Z'ee'd#dEd � G dFdG� dG�Z(G dHdI� dIe(ee�Z)G dJdK� dKe(e�Z*G dLdM� dMe(ee�Z+G dNdO� dOe �Z,G dPdQ� dQe�Z-dRdS� Z.G dTdU� dUee
�Z/ee/dVdWd � dXdY� Z0dZd[� Z1d\d]� Z2ddd^d_�Z3ded`da�Z4dfdbdc�Z5dS )g� N)�EMPTY_NAMESPACE�EMPTY_PREFIX�XMLNS_NAMESPACE�domreg)�*)�DOMImplementationLS�
DocumentLSc @ s� e Zd ZdZdZdZdZdZeZ dd� Z
d2dd�Zd3dd �Zd
d� Z
dd
� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*d+� Zd,d-� Zd.d/� Zd0d1� Z dS )4�NodeNc C s dS )NT� )�selfr
r
�'/usr/lib64/python3.6/xml/dom/minidom.py�__bool__+ s z
Node.__bool__c C s | j dd|�S )N� )�toprettyxml)r �encodingr
r
r �toxml. s z
Node.toxml� �
c C sx |d krt j� }nt jt j� |ddd�}| jtjkrH| j|d|||� n| j|d||� |d krh|j� S |j � j� S d S )N�xmlcharrefreplacer )r �errors�newliner )
�io�StringIO�
TextIOWrapper�BytesIO�nodeTyper �
DOCUMENT_NODE�writexml�getvalue�detach)r �indent�newlr �writerr
r
r r 1 s
zNode.toprettyxmlc C s
t | j�S )N)�bool�
childNodes)r r
r
r �
hasChildNodesC s zNode.hasChildNodesc C s | j S )N)r$ )r r
r
r �_get_childNodesF s zNode._get_childNodesc C s | j r| j d S d S )Nr )r$ )r r
r
r �_get_firstChildI s zNode._get_firstChildc C s | j r| j d S d S )N� ���)r$ )r r
r
r �_get_lastChildM s zNode._get_lastChildc C s |j | jkr0xt|j�D ]}| j||� qW |S |j | jkrXtjjdt |�t | �f ��|j
d k rn|j
j|� |d kr�| j|� n�y| jj
|�}W n tk
r� tjj� �Y nX |j tkr�t| � | jj||� ||_||_|r�| j|d }||_||_nd |_| |_
|S )Nz%s cannot be child of %sr( )r �DOCUMENT_FRAGMENT_NODE�tupler$ �insertBefore�_child_node_types�xml�dom�HierarchyRequestErr�repr�
parentNode�removeChild�appendChild�index�
ValueError�NotFoundErr�_nodeTypes_with_children�_clear_id_cache�insert�nextSibling�previousSibling)r �newChild�refChild�cr6 �noder
r
r r- Q s6
zNode.insertBeforec C s� |j | jkr.xt|j�D ]}| j|� qW |S |j | jkrXtjjdt |�t | �f ��n|j t
krjt| � |jd k r�|jj
|� t| |� d |_|S )Nz%s cannot be child of %s)r r+ r, r$ r5 r. r/ r0 r1 r2 r9 r: r3 r4 �
_append_childr<