chainlib/chainlib/settings.py

50 lines
1.0 KiB
Python
Raw Normal View History

2022-05-12 20:21:18 +02:00
# external imports
from aiee.numbers import postfix_to_int
2022-04-28 14:31:11 +02:00
# local imports
from .chain import ChainSpec
class ChainSettings:
def __init__(self):
2022-04-28 14:31:11 +02:00
self.o = {}
self.get = self.o.get
def set(self, k, v):
self.o[k] = v
2022-04-28 14:31:11 +02:00
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
def process_settings_common(settings, config):
chain_spec = ChainSpec.from_chain_str(config.get('CHAIN_SPEC'))
settings.set('CHAIN_SPEC', chain_spec)
return settings
2022-05-12 20:21:18 +02:00
def process_settings_value(settings, config):
value = None
try:
value = config.get('_VALUE')
except KeyError:
return settings
value = postfix_to_int(config.get('_VALUE'))
settings.set('VALUE', value)
return settings
def process_settings(settings, config):
settings = process_settings_common(settings, config)
2022-05-12 20:21:18 +02:00
settings = process_settings_value(settings, config)
return settings