5 Commits

Author SHA1 Message Date
lash
b8ee1ed97d Bump vesrion 2022-04-28 15:42:14 +00:00
lash
766027a49c Add settings module 2022-04-28 12:31:11 +00:00
lash
5726181f21 Remove log output for config load by default 2022-04-26 21:36:14 +00:00
lash
a6b9eae745 Add rpc query timeout 2022-04-10 19:08:34 +00:00
lash
d3f4da5296 Upgrade confini 2022-03-06 19:29:57 +00:00
7 changed files with 33 additions and 6 deletions

View File

@@ -46,7 +46,7 @@ class Config(confini.Config):
@classmethod @classmethod
def from_args(cls, args, arg_flags=0x0f, env=os.environ, extra_args={}, base_config_dir=None, default_config_dir=None, user_config_dir=None, default_fee_limit=None, logger=None, load_callback=logcallback, dump_writer=sys.stdout): def from_args(cls, args, arg_flags=0x0f, env=os.environ, extra_args={}, base_config_dir=None, default_config_dir=None, user_config_dir=None, default_fee_limit=None, logger=None, load_callback=None, dump_writer=sys.stdout):
"""Parses arguments in argparse.ArgumentParser instance, then match and override configuration values that match them. """Parses arguments in argparse.ArgumentParser instance, then match and override configuration values that match them.
The method processes all known argument flags from chainlib.cli.Flag passed in the "args" argument. The method processes all known argument flags from chainlib.cli.Flag passed in the "args" argument.

View File

@@ -102,7 +102,8 @@ class RPCConnection:
} }
__constructors_for_chains = {} __constructors_for_chains = {}
def __init__(self, url=None, chain_spec=None, auth=None, verify_identity=True): def __init__(self, url=None, chain_spec=None, auth=None, verify_identity=True, timeout=1.0):
self.timeout = timeout
self.chain_spec = chain_spec self.chain_spec = chain_spec
self.location = None self.location = None
self.basic = None self.basic = None
@@ -329,6 +330,7 @@ class JSONRPCHTTPConnection(HTTPConnection):
req, req,
data=data.encode('utf-8'), data=data.encode('utf-8'),
context=ssl_ctx, context=ssl_ctx,
timeout=self.timeout,
) )
except URLError as e: except URLError as e:
raise RPCException(e) raise RPCException(e)

26
chainlib/settings.py Normal file
View File

@@ -0,0 +1,26 @@
# local imports
from .chain import ChainSpec
class ChainSettings:
def __init__(self, include_sync=False, include_queue=False):
self.o = {}
self.get = self.o.get
def process_common(self, config):
self.o['CHAIN_SPEC'] = ChainSpec.from_chain_str(config.get('CHAIN_SPEC'))
def process(self, config):
self.process_common(config)
def __str__(self):
ks = list(self.o.keys())
ks.sort()
s = ''
for k in ks:
s += '{}: {}\n'.format(k, self.o.get(k))
return s

View File

@@ -8,7 +8,7 @@ class Tx:
""" """
def __init__(self, src, block=None): def __init__(self, src, block=None):
self.txs = []
self.src = src self.src = src
self.block = block self.block = block
self.block_src = None self.block_src = None
self.index = None

View File

@@ -1,4 +1,4 @@
funga~=0.5.2 funga~=0.5.2
pysha3==1.0.2 pysha3==1.0.2
hexathon~=0.1.5 hexathon~=0.1.5
confini~=0.5.7 confini~=0.6.0

View File

@@ -214,7 +214,6 @@ if examples != None:
f.write(".SH EXAMPLES\n\n") f.write(".SH EXAMPLES\n\n")
f.write(examples) f.write(examples)
if seealso != None: if seealso != None:
seealso_description = seealso seealso_description = seealso

View File

@@ -3,7 +3,7 @@ name=chainlib
license=WTFPL2 license=WTFPL2
author_email=dev@holbrook.no author_email=dev@holbrook.no
description=Generic blockchain access library and tooling description=Generic blockchain access library and tooling
version=0.0.23 version=0.1.1
url=https://gitlab.com/chaintools/chainlib url=https://gitlab.com/chaintools/chainlib
author=Louis Holbrook author=Louis Holbrook