mirror of
https://github.com/planetmint/planetmint.git
synced 2025-11-25 06:55:45 +00:00
Added exception for NetworkError, to get specific error from connection class.
This commit is contained in:
parent
872eec40c4
commit
a864f8b7e1
@ -5,11 +5,13 @@
|
|||||||
|
|
||||||
import logging
|
import logging
|
||||||
from importlib import import_module
|
from importlib import import_module
|
||||||
|
|
||||||
|
import tarantool
|
||||||
|
|
||||||
from planetmint.config import Config
|
from planetmint.config import Config
|
||||||
from planetmint.backend.exceptions import ConnectionError
|
from planetmint.backend.exceptions import ConnectionError
|
||||||
from planetmint.transactions.common.exceptions import ConfigurationError
|
from planetmint.transactions.common.exceptions import ConfigurationError
|
||||||
|
|
||||||
|
|
||||||
BACKENDS = { # This is path to MongoDBClass
|
BACKENDS = { # This is path to MongoDBClass
|
||||||
'tarantool_db': 'planetmint.backend.tarantool.connection.TarantoolDB',
|
'tarantool_db': 'planetmint.backend.tarantool.connection.TarantoolDB',
|
||||||
'localmongodb': 'planetmint.backend.localmongodb.connection.LocalMongoDBConnection'
|
'localmongodb': 'planetmint.backend.localmongodb.connection.LocalMongoDBConnection'
|
||||||
@ -48,7 +50,7 @@ def Connection(host: str = None, port: int = None, login: str = None, password:
|
|||||||
replicaset = _kwargs_parser(key="replicaset", kwargs=kwargs) or Config().get()['database']['replicaset']
|
replicaset = _kwargs_parser(key="replicaset", kwargs=kwargs) or Config().get()['database']['replicaset']
|
||||||
ssl = _kwargs_parser(key="ssl", kwargs=kwargs) or Config().get()['database']['ssl']
|
ssl = _kwargs_parser(key="ssl", kwargs=kwargs) or Config().get()['database']['ssl']
|
||||||
login = login or Config().get()['database']['login'] if _kwargs_parser(key="login",
|
login = login or Config().get()['database']['login'] if _kwargs_parser(key="login",
|
||||||
kwargs=kwargs) is None else _kwargs_parser(
|
kwargs=kwargs) is None else _kwargs_parser(
|
||||||
key="login", kwargs=kwargs)
|
key="login", kwargs=kwargs)
|
||||||
password = password or Config().get()['database']['password'] if _kwargs_parser(key="password",
|
password = password or Config().get()['database']['password'] if _kwargs_parser(key="password",
|
||||||
kwargs=kwargs) is None else _kwargs_parser(
|
kwargs=kwargs) is None else _kwargs_parser(
|
||||||
@ -63,13 +65,17 @@ def Connection(host: str = None, port: int = None, login: str = None, password:
|
|||||||
connection_timeout = _kwargs_parser(key="connection_timeout", kwargs=kwargs)
|
connection_timeout = _kwargs_parser(key="connection_timeout", kwargs=kwargs)
|
||||||
|
|
||||||
return Class(host=host, port=port, dbname=dbname,
|
return Class(host=host, port=port, dbname=dbname,
|
||||||
max_tries=max_tries, connection_timeout=connection_timeout,
|
max_tries=max_tries, connection_timeout=connection_timeout,
|
||||||
replicaset=replicaset, ssl=ssl, login=login, password=password,
|
replicaset=replicaset, ssl=ssl, login=login, password=password,
|
||||||
ca_cert=ca_cert, certfile=certfile, keyfile=keyfile,
|
ca_cert=ca_cert, certfile=certfile, keyfile=keyfile,
|
||||||
keyfile_passphrase=keyfile_passphrase, crlfile=crlfile)
|
keyfile_passphrase=keyfile_passphrase, crlfile=crlfile)
|
||||||
|
except tarantool.error.NetworkError as network_err:
|
||||||
|
print(f"Host {host}:{port} can't be reached.\n{network_err}")
|
||||||
|
raise network_err
|
||||||
except:
|
except:
|
||||||
logger.info('Exception in _connect(): {}')
|
logger.info('Exception in _connect(): {}')
|
||||||
raise ConfigurationError
|
raise ConfigurationError
|
||||||
|
|
||||||
|
|
||||||
def _kwargs_parser(key, kwargs):
|
def _kwargs_parser(key, kwargs):
|
||||||
if kwargs.get(key):
|
if kwargs.get(key):
|
||||||
|
|||||||
@ -33,6 +33,9 @@ class TarantoolDB:
|
|||||||
self.SPACE_NAMES = ["abci_chains", "assets", "blocks", "blocks_tx",
|
self.SPACE_NAMES = ["abci_chains", "assets", "blocks", "blocks_tx",
|
||||||
"elections", "meta_data", "pre_commits", "validators",
|
"elections", "meta_data", "pre_commits", "validators",
|
||||||
"transactions", "inputs", "outputs", "keys"]
|
"transactions", "inputs", "outputs", "keys"]
|
||||||
|
except tarantool.error.NetworkError as network_err:
|
||||||
|
logger.info('Host cant be reached')
|
||||||
|
raise network_err
|
||||||
except:
|
except:
|
||||||
logger.info('Exception in _connect(): {}')
|
logger.info('Exception in _connect(): {}')
|
||||||
raise ConfigurationError
|
raise ConfigurationError
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user