diff --git a/chainqueue/cli/__init__.py b/chainqueue/cli/__init__.py new file mode 100644 index 0000000..bcb2e5c --- /dev/null +++ b/chainqueue/cli/__init__.py @@ -0,0 +1,11 @@ +# standard imports +import os + +# local imports +from .arg import process_flags +from .config import process_config + + +__script_dir = os.path.dirname(os.path.realpath(__file__)) +data_dir = os.path.join(os.path.dirname(__script_dir), 'data') +config_dir = os.path.join(data_dir, 'config') diff --git a/chainqueue/cli/arg.py b/chainqueue/cli/arg.py new file mode 100644 index 0000000..91c5020 --- /dev/null +++ b/chainqueue/cli/arg.py @@ -0,0 +1,2 @@ +def process_flags(argparser, flags): + argparser.add_argument('--backend', type=str, help='Backend to use for state store') diff --git a/chainqueue/cli/config.py b/chainqueue/cli/config.py new file mode 100644 index 0000000..9df7dc5 --- /dev/null +++ b/chainqueue/cli/config.py @@ -0,0 +1,8 @@ +def process_config(config, args, flags): + args_override = {} + + args_override['QUEUE_BACKEND'] = getattr(args, 'backend') + + config.dict_override(args_override, 'local cli args') + + return config diff --git a/chainqueue/data/config/config.ini b/chainqueue/data/config/config.ini index 795c85c..1458016 100644 --- a/chainqueue/data/config/config.ini +++ b/chainqueue/data/config/config.ini @@ -1,9 +1,2 @@ -[database] -name = -engine = -driver = -host = -port = -user = -password = -debug = 0 +[queue] +backend = mem diff --git a/chainqueue/settings.py b/chainqueue/settings.py new file mode 100644 index 0000000..e048a26 --- /dev/null +++ b/chainqueue/settings.py @@ -0,0 +1,8 @@ +# external imports +from chainlib.settings import ChainSettings + + +class ChainqueueSettings(ChainSettings): + + def process_queue_backend(self, config): + self.o['QUEUE_BACKEND'] = config.get('QUEUE_BACKEND') diff --git a/setup.cfg b/setup.cfg index 8c98311..d0ebb16 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = chainqueue -version = 0.1.2 +version = 0.1.3 description = Generic blockchain transaction queue control author = Louis Holbrook author_email = dev@holbrook.no @@ -25,7 +25,7 @@ licence_files = LICENSE.txt [options] -python_requires = >= 3.6 +python_requires = >= 3.7 include_package_data = True packages = chainqueue @@ -33,6 +33,7 @@ packages = chainqueue.unittest chainqueue.store chainqueue.runnable + chainqueue.cli #[options.entry_points] #console_scripts =