File: //lib/python3.9/site-packages/dns/__pycache__/transaction.cpython-39.pyc
a
�M�elX � @ s. d dl Z d dlmZmZmZmZmZmZmZ d dl Z
d dlZ
d dlZ
d dl
Z
d dlZ
d dlZ
d dlZ
d dlZ
d dlZ
G dd� d�ZG dd� de
jj�ZG dd� de
jj�ZG d d
� d
e
jj�Zdd� Zd
d� Zede
jje
jjgdf Zede
jje
j j!e
j j!gdf Z"ede
jjgdf Z#G dd� d�Z$dS )� N)�Any�Callable�Iterator�List�Optional�Tuple�Unionc @ s| e Zd Zdd�dd�Zdedd�dd�Zeeej j
eeej j
f d�d d
�Zejj
d�dd�Zeej j
d�d
d�ZdS )�TransactionManager�Transaction��returnc C s t �dS )zBegin a read-only transaction.N��NotImplementedError��self� r �3/usr/lib/python3.9/site-packages/dns/transaction.py�reader s zTransactionManager.readerF)�replacementr c C s t �dS )a Begin a writable transaction.
*replacement*, a ``bool``. If `True`, the content of the
transaction completely replaces any prior content. If False,
the default, then the content of the transaction updates the
existing content.
Nr
)r r r r r �writer s zTransactionManager.writerc C s t �dS )aq Returns a tuple
(absolute_origin, relativize, effective_origin)
giving the absolute name of the default origin for any
relative domain names, the "effective origin", and whether
names should be relativized. The "effective origin" is the
absolute origin if relativize is False, and the empty name if
relativize is true. (The effective origin is provided even
though it can be computed from the absolute_origin and
relativize setting because it avoids a lot of code
duplication.)
If the returned names are `None`, then no origin information is
available.
This information is used by code working with transactions to
allow it to coordinate relativization. The transaction code
itself takes what it gets (i.e. does not change name
relativity).
Nr
r r r r �origin_information s z%TransactionManager.origin_informationc C s t �dS )z%The class of the transaction manager.Nr
r r r r � get_class; s zTransactionManager.get_classc C s | � � \}}}|r|S dS dS )z#Origin to use in from_wire() calls.N)r )r Zabsolute_originZ
relativize�_r r r �from_wire_origin? s z#TransactionManager.from_wire_originN)F)�__name__�
__module__�__qualname__r �boolr r r �dns�name�Namer Z
rdataclassZ
RdataClassr r r r r r r s �r c @ s e Zd ZdZdS )�DeleteNotExactz>Existing data did not match data specified by an exact delete.N�r r r �__doc__r r r r r! H s r! c @ s e Zd ZdZdS )�ReadOnlyz*Tried to write to a read-only transaction.Nr"