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:
|
|
|
|
|
|
2022-05-06 09:47:04 +02:00
|
|
|
|
def __init__(self):
|
2022-04-28 14:31:11 +02:00
|
|
|
|
self.o = {}
|
|
|
|
|
self.get = self.o.get
|
|
|
|
|
|
|
|
|
|
|
2022-05-12 15:49:23 +02:00
|
|
|
|
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
|
2022-05-12 15:49:23 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
2022-05-12 15:49:23 +02:00
|
|
|
|
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)
|
2022-05-12 15:49:23 +02:00
|
|
|
|
return settings
|