mirror of
https://github.com/clearml/clearml-agent
synced 2025-01-31 09:06:52 +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
|