# Path: networking_odl/_i18n.py
# DOMAIN = "networking_odl"
# _C = _translators.contextual_form
# _P = _translators.plural_form
# def get_available_languages():
# 
# Path: networking_odl/common/client.py
# LOG = log.getLogger(__name__)
# class OpenDaylightRestClient(object):
# class OpenDaylightRestClientGlobal(object):
#     def _check_opt(url):
#     def create_client(cls, url=None):
#     def __init__(self, url, username, password, timeout):
#     def get_resource(self, resource_type, resource_id):
#     def get(self, urlpath='', data=None):
#     def request(self, method, urlpath='', data=None):
#     def sendjson(self, method, urlpath, obj):
#     def _check_response(self, response):
#     def __init__(self):
#     def get_client(self):


import re
import ssl
import threading
import time
import websocket
from oslo_config import cfg
from oslo_log import log
from oslo_serialization import jsonutils
from oslo_utils import excutils
from requests import codes
from requests import exceptions
from networking_odl._i18n import _
from networking_odl.common import client as odl_client
                 packet_handler, timeout, status_cb=None):
        self.odl_rest_client = odl_rest_client
        self.path = path
        self.datastore = datastore
        self.scope = scope
        self.leaf_node_only = leaf_node_only
        self.packet_handler = packet_handler
        self.timeout = timeout
        self.exit_websocket_thread = False
        self.status_cb = status_cb
        self.current_status = ODL_WEBSOCKET_DISCONNECTED
        self._odl_sync_thread = self.start_odl_websocket_thread()

    @classmethod
    def odl_create_websocket(cls, odl_url, path, datastore, scope,
                             packet_handler, status_cb=None,
                             leaf_node_only=False):
        """Create a websocket connection with ODL.

                This method will create a websocket client based on path,
                datastore and scope params. On data recv from websocket
                packet_handler callback is called. status_cb callback can be
                provided if notifications are requried for socket status
                changes
        """

        if odl_url is None:
            LOG.error("invalid odl url", exc_info=True)
            raise ValueError(_("Invalid ODL URL"))


# Path: networking_odl/_i18n.py
# DOMAIN = "networking_odl"
# _C = _translators.contextual_form
# _P = _translators.plural_form
# def get_available_languages():
# 
# Path: networking_odl/common/client.py
# LOG = log.getLogger(__name__)
# class OpenDaylightRestClient(object):
# class OpenDaylightRestClientGlobal(object):
#     def _check_opt(url):
#     def create_client(cls, url=None):
#     def __init__(self, url, username, password, timeout):
#     def get_resource(self, resource_type, resource_id):
#     def get(self, urlpath='', data=None):
#     def request(self, method, urlpath='', data=None):
#     def sendjson(self, method, urlpath, obj):
#     def _check_response(self, response):
#     def __init__(self):
#     def get_client(self):


# Path: networking_odl/common/websocket_client.py
import re
import ssl
import threading
import time
import websocket
from oslo_config import cfg
from oslo_log import log
from oslo_serialization import jsonutils
from oslo_utils import excutils
from requests import codes
from requests import exceptions
from networking_odl._i18n import _
from networking_odl.common import client as odl_client

                 packet_handler, timeout, status_cb=None):
        self.odl_rest_client = odl_rest_client
        self.path = path
        self.datastore = datastore
        self.scope = scope
        self.leaf_node_only = leaf_node_only
        self.packet_handler = packet_handler
        self.timeout = timeout
        self.exit_websocket_thread = False
        self.status_cb = status_cb
        self.current_status = ODL_WEBSOCKET_DISCONNECTED
        self._odl_sync_thread = self.start_odl_websocket_thread()

    @classmethod
    def odl_create_websocket(cls, odl_url, path, datastore, scope,
                             packet_handler, status_cb=None,
                             leaf_node_only=False):
        """Create a websocket connection with ODL.

                This method will create a websocket client based on path,
                datastore and scope params. On data recv from websocket
                packet_handler callback is called. status_cb callback can be
                provided if notifications are requried for socket status
                changes
        """

        if odl_url is None:
            LOG.error("invalid odl url", exc_info=True)
            raise ValueError(_("Invalid ODL URL"))


        odl_rest_client = odl_client.OpenDaylightRestClient.create_client(