From cb94125acfb5e0d6d2e2c73fbaa1b5b9fbd187b9 Mon Sep 17 00:00:00 2001 From: Dannon Baker Date: Mon, 4 Apr 2022 08:55:11 -0400 Subject: [PATCH] Add simple script to load specific options from galaxy config and print either a single value resolved or the loaded config dict --- scripts/config_parse.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 scripts/config_parse.py diff --git a/scripts/config_parse.py b/scripts/config_parse.py new file mode 100644 index 00000000000..a1083e047f0 --- /dev/null +++ b/scripts/config_parse.py @@ -0,0 +1,29 @@ +import yaml +import sys +import os +import argparse +import pprint + +sys.path.insert(1, os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir, "lib"))) +from galaxy.config import GalaxyAppConfiguration + + +def main(config, setting): + # Use explicit config, then env, then guess. + config = config or os.environ.get("GALAXY_CONFIG_FILE", "config/galaxy.yml") + gx_config = GalaxyAppConfiguration(**yaml.safe_load(open(config))['galaxy']) + if setting: + print(gx_config.get(setting)) + else: + pprint.pprint(gx_config.config_dict) + + +if __name__ == "__main__": + arg_parser = argparse.ArgumentParser() + # add optional 'setting' argument + arg_parser.add_argument("-s", "--setting", default=None, help="setting") + arg_parser.add_argument( + "-c", "--config-file", default=None, help="Galaxy config file (defaults to config/galaxy.ini)" + ) + args = arg_parser.parse_args() + main(args.config_file, args.setting)