Replace dump command with config get/set
This commit is contained in:
parent
173b306c5b
commit
18b4f12823
|
@ -1,5 +1,7 @@
|
||||||
from cli.helpers import add_argument, no_argument
|
from cli.helpers import add_argument, no_argument
|
||||||
|
|
||||||
|
CONFIG_GET_ROOT_VALUE = object()
|
||||||
|
|
||||||
@add_argument("--update", action="store_true", help="Refresh an existing config directory")
|
@add_argument("--update", action="store_true", help="Refresh an existing config directory")
|
||||||
def command_init(args):
|
def command_init(args):
|
||||||
"""Initialize a config directory at the directory given by --config-dir"""
|
"""Initialize a config directory at the directory given by --config-dir"""
|
||||||
|
@ -69,7 +71,7 @@ def command_generate_secret(args):
|
||||||
@add_argument("-a", "--address", default="127.0.0.1")
|
@add_argument("-a", "--address", default="127.0.0.1")
|
||||||
@add_argument("-p", "--port", default="5000")
|
@add_argument("-p", "--port", default="5000")
|
||||||
def command_run(args):
|
def command_run(args):
|
||||||
"""Runs the default Flask development server"""
|
"""Run the default Flask server"""
|
||||||
import server
|
import server
|
||||||
import config
|
import config
|
||||||
|
|
||||||
|
@ -78,10 +80,32 @@ def command_run(args):
|
||||||
return -1
|
return -1
|
||||||
server.app.run(host=args.address, port=args.port)
|
server.app.run(host=args.address, port=args.port)
|
||||||
|
|
||||||
@add_argument("--foo", action="store_true")
|
@add_argument("--get", metavar="PATHSPEC", dest="get",
|
||||||
def command_dump(args):
|
nargs="?", const=CONFIG_GET_ROOT_VALUE, help="Get the value of a config key")
|
||||||
"""Dumps the global config or the config for the given lexicon"""
|
@add_argument("--set", metavar=("PATHSPEC", "VALUE"), dest="set",
|
||||||
|
nargs=2, help="Set the value of a config key")
|
||||||
|
def command_config(args):
|
||||||
|
"""Interact with the global config"""
|
||||||
import json
|
import json
|
||||||
import config
|
import config
|
||||||
print(json.dumps(config.GLOBAL_CONFIG, indent=2))
|
|
||||||
|
if args.get and args.set:
|
||||||
|
config.logger.error("Specify one of --get and --set")
|
||||||
|
return -1
|
||||||
|
|
||||||
|
if args.get:
|
||||||
|
if args.get is CONFIG_GET_ROOT_VALUE:
|
||||||
|
path = []
|
||||||
|
else:
|
||||||
|
path = args.get.split(".")
|
||||||
|
with config.json_ro('config.json') as cfg:
|
||||||
|
for spec in path:
|
||||||
|
if spec not in cfg:
|
||||||
|
config.logger.error("Path not found")
|
||||||
|
return -1
|
||||||
|
cfg = cfg.get(spec)
|
||||||
|
print(json.dumps(cfg, indent=2))
|
||||||
|
|
||||||
|
if args.set:
|
||||||
|
raise NotImplementedError()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue