vxSDK/vxsdk/cli/pkg/__init__.py

61 lines
1.5 KiB
Python

"""
cli.pkg - pacakge abstraction
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 search_pkg_cli
from cli.pkg.update import update_pkg_cli
from cli.pkg.clone import clone_pkg_cli
__all__ = [
'__VXSDK_MODULE_META__',
'cli_validate',
'cli_parse'
]
#---
# Public
#---
__VXSDK_MODULE_META__ = (
['pkg'],
"package manager for Vhex's project",
"""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 search_pkg_cli(argv[2:])
if argv[1] == 'clone':
return clone_pkg_cli(argv[2:])
if argv[1] == 'update':
return update_pkg_cli(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