Compare commits

...

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
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.
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 = {}
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.location = None
self.basic = None
@ -329,6 +330,7 @@ class JSONRPCHTTPConnection(HTTPConnection):
req,
data=data.encode('utf-8'),
context=ssl_ctx,
timeout=self.timeout,
)
except URLError as 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):
self.txs = []
self.src = src
self.block = block
self.block_src = None
self.index = None

View File

@ -1,4 +1,4 @@
funga~=0.5.2
pysha3==1.0.2
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(examples)
if seealso != None:
seealso_description = seealso

View File

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