From 806438edc9b3b407b9cb259f7cdaa8a85fe97f64 Mon Sep 17 00:00:00 2001 From: Nate Coraor Date: Mon, 13 Nov 2017 12:04:31 -0500 Subject: [PATCH] Revert script changes unrelated to uWSGI mule work. Includes galaxy.util.script so that get_uwsgi_args.py still works, but that will be PR'd separately and merged later. --- .../{script/__init__.py => util/script.py} | 0 scripts/get_uwsgi_args.py | 2 +- scripts/manage_tool_dependencies.py | 33 +++++++++++++++++-- 3 files changed, 31 insertions(+), 4 deletions(-) rename lib/galaxy/{script/__init__.py => util/script.py} (100%) diff --git a/lib/galaxy/script/__init__.py b/lib/galaxy/util/script.py similarity index 100% rename from lib/galaxy/script/__init__.py rename to lib/galaxy/util/script.py diff --git a/scripts/get_uwsgi_args.py b/scripts/get_uwsgi_args.py index 7becdeea3af..20cc87b569b 100644 --- a/scripts/get_uwsgi_args.py +++ b/scripts/get_uwsgi_args.py @@ -8,9 +8,9 @@ from six.moves import shlex_quote sys.path.insert(1, os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir, 'lib'))) -from galaxy.script import main_factory from galaxy.util.path import get_ext from galaxy.util.properties import load_app_properties, nice_config_parser +from galaxy.util.script import main_factory DESCRIPTION = "Script to determine uWSGI command line arguments" diff --git a/scripts/manage_tool_dependencies.py b/scripts/manage_tool_dependencies.py index 485edf85331..40e09217d48 100644 --- a/scripts/manage_tool_dependencies.py +++ b/scripts/manage_tool_dependencies.py @@ -1,3 +1,4 @@ +import argparse import os.path import sys @@ -9,17 +10,44 @@ from galaxy.config import ( find_root, parse_dependency_options, ) -from galaxy.script import main_factory from galaxy.tools.deps import CachedDependencyManager, DependencyManager, NullDependencyManager +from galaxy.util.properties import find_config_file, load_app_properties DESCRIPTION = "Script to manage tool dependencies (with focus on a Conda environments)." -def _init_if_needed(args, kwargs): +def main(argv=None): + """Entry point for conversion process.""" + if argv is None: + argv = sys.argv[1:] + args = _arg_parser().parse_args(argv) + action = args.action + action_func = ACTIONS[action] + action_func(args) + + +def _init_if_needed(args): + kwargs = _app_properties(args) + # If conda_auto_init is set, simply building the Conda resolver will call handle installation. _build_dependency_manager_no_config(kwargs) +def _app_properties(args): + config_file = find_config_file("config/galaxy.ini", "universe_wsgi.ini", args.config_file) + app_properties = load_app_properties(ini_file=config_file) + return app_properties + + +def _arg_parser(): + parser = argparse.ArgumentParser(description=DESCRIPTION) + parser.add_argument('action', metavar='ACTION', type=str, + choices=ACTIONS.keys(), + help='action to perform') + parser.add_argument("-c", "--config-file", default=None) + return parser + + def _build_dependency_manager_no_config(kwargs): """Simplified variant of build_dependency_manager from galaxy.tools.deps. @@ -56,5 +84,4 @@ ACTIONS = { if __name__ == '__main__': - main = main_factory(description=DESCRIPTION, actions=ACTIONS) main()