vxSDK/vxsdk/cli/pkg/__init__.py

51 lines
1.5 KiB
Python

"""vxsdk-pkg modules
This module provides package management utilities that track installed Vhex
packages. It features : dependency support, package groups, install and
uninstall scripts, and syncs your local Vhex instance with remote repositories
to automatically upgrade packages.
"""
from core.logger import log
from cli.pkg.search import pkg_search_cli_parse
from cli.pkg.update import pkg_update_cli_parse
from cli.pkg.clone import pkg_clone_cli_parse
__VXSDK_MODULE_META__ = (
['pkg'],
"package manager for Vhex's project",
r"""vxsdk package
Package manager for Vhex
SYNOPSIS:
vxsdk pkg [ COMMAND ] [ OPTIONS ]... [ ARGS ]...
COMMAND:
search [ ARGS ]... Search project
clone [ ARGS ]... Try to clone project
update [ ARGS ]... Try to update project
For more information about a specific command, try 'vxsdk pkg <command> -h'
"""
)
def cli_validate(name):
""" validate or not the subcommand name """
return name in __VXSDK_MODULE_META__[0]
def cli_parse(argv):
""" Vhex pacakge CLI parser entry """
if len(argv) > 2:
if argv[1] == 'search':
return pkg_search_cli_parse(argv[2:])
if argv[1] == 'clone':
return pkg_clone_cli_parse(argv[2:])
if argv[1] == 'update':
return pkg_update_cli_parse(argv[2:])
if '-h' in argv or '--help' in argv:
log.user(__VXSDK_MODULE_META__[2])
return 0
log.error(__VXSDK_MODULE_META__[2])
return 84