Source code for netconf_client.error

from lxml import etree
from netconf_client.constants import NAMESPACES


[docs]class NetconfClientException(Exception): """Base class for all ``netconf_client`` exceptions""" pass
[docs]class SessionClosedException(NetconfClientException): """This exception is raised on any futures when the NETCONF connection is closed""" pass
[docs]class RpcError(NetconfClientException): """This exception is raised on a future from an ``<rpc>`` call that returns a corresponding ``<rpc-error>`` :ivar reply_raw: The raw text that was returned by the server :ivar reply_ele: The lxml parsed representation of the reply :ivar message: If present, the contents of the ``<error-message>`` tag :ivar tag: If present, the contents of the ``<error-tag>`` tag :ivar info: If present, the contents of the ``<error-info>`` tag """ def __init__(self, raw, ele): self.reply_raw = raw self.reply_ele = ele msgs = ele.xpath( "/nc:rpc-reply/nc:rpc-error/nc:error-message", namespaces=NAMESPACES ) if msgs: msg = msgs[0].text self.message = msg else: msg = "RPC Error" tags = ele.xpath( "/nc:rpc-reply/nc:rpc-error/nc:error-tag", namespaces=NAMESPACES ) if tags: self.tag = tags[0].text # For ncclient compatibility self.severity = "error" err_info = ele.xpath( "/nc:rpc-reply/nc:rpc-error/nc:error-info", namespaces=NAMESPACES ) if err_info: self.info = etree.tostring(err_info[0]) super(RpcError, self).__init__(msg)
[docs]class NetconfProtocolError(NetconfClientException): """This exception is raised on any NETCONF protocol error""" pass