Skip to content
Snippets Groups Projects
Commit e9f07b48 authored by Holger Nahrstaedt's avatar Holger Nahrstaedt
Browse files

Sync changes from python-graphenelib

parent 1f018bad
No related branches found
No related tags found
No related merge requests found
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
class UnauthorizedError(Exception):
"""UnauthorizedError Exception."""
pass
class RPCConnection(Exception):
"""RPCConnection Exception."""
pass
class RPCError(Exception):
"""RPCError Exception."""
pass
class NumRetriesReached(Exception):
"""NumRetriesReached Exception."""
pass
......@@ -14,10 +14,12 @@ import sys
import threading
import time
import warnings
from .exceptions import (
UnauthorizedError, RPCConnection, RPCError, NumRetriesReached
)
from .rpcutils import (
is_network_appbase_ready, sleep_and_check_retries,
get_api_name, get_query, UnauthorizedError,
RPCConnection, RPCError, NumRetriesReached
get_api_name, get_query
)
WEBSOCKET_MODULE = None
......@@ -107,6 +109,16 @@ class GrapheneRPC(object):
self._request_id += 1
return self._request_id
def next(self):
"""Switches to the next node url"""
if self.ws:
try:
self.ws.close()
except Exception as e:
log.warning(str(e))
self.rpcconnect()
self.register_apis()
def is_appbase_ready(self):
"""Check if node is appbase ready"""
return self.current_rpc >= 2
......@@ -124,7 +136,8 @@ class GrapheneRPC(object):
if self.url[:3] == "wss":
if WEBSOCKET_MODULE is None:
raise Exception()
sslopt_ca_certs = {'cert_reqs': ssl.CERT_NONE}
ssl_defaults = ssl.get_default_verify_paths()
sslopt_ca_certs = {'ca_certs': ssl_defaults.cafile}
self.ws = websocket.WebSocket(sslopt=sslopt_ca_certs, enable_multithread=True)
self.current_rpc = self.rpc_methods["ws"]
elif self.url[:3] == "ws":
......
......@@ -6,35 +6,13 @@ from __future__ import unicode_literals
import time
import json
import logging
from .exceptions import (
UnauthorizedError, RPCConnection, RPCError, NumRetriesReached
)
log = logging.getLogger(__name__)
class UnauthorizedError(Exception):
"""UnauthorizedError Exception."""
pass
class RPCConnection(Exception):
"""RPCConnection Exception."""
pass
class RPCError(Exception):
"""RPCError Exception."""
pass
class NumRetriesReached(Exception):
"""NumRetriesReached Exception."""
pass
def is_network_appbase_ready(props):
"""Checks if the network is appbase ready"""
network_version = '0.0.0'
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment