51 lines
1.5 KiB
Python
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
|