clearml-agent/trains_agent/interface/__init__.py
2019-10-25 22:28:44 +03:00

32 lines
853 B
Python

from functools import partial
from importlib import import_module
import argparse
from trains_agent.definitions import PROGRAM_NAME
from .base import Parser, base_arguments, add_service, OnlyPluralChoicesHelpFormatter
SERVICES = [
'worker',
]
def get_parser():
top_parser = Parser(
prog=PROGRAM_NAME,
add_help=False,
formatter_class=partial(
OnlyPluralChoicesHelpFormatter,
max_help_position=120,
width=120,
),
)
base_arguments(top_parser)
from .worker import COMMANDS
subparsers = top_parser.add_subparsers(dest='command')
for c in COMMANDS:
parser = subparsers.add_parser(name=c, help=COMMANDS[c]['help'])
for a in COMMANDS[c].get('args', {}).keys():
parser.add_argument(a, **COMMANDS[c]['args'][a])
return top_parser