mirror of
https://github.com/clearml/clearml-agent
synced 2025-01-31 17:16:51 +00:00
32 lines
853 B
Python
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
|