vxSDK/vxsdk/cli/conv/addin.py

48 lines
1.3 KiB
Python

from core.conv.addin import generate_addin
__all__ = [
'conv_addin_cli_parse'
]
__HELP__ = r"""vxsdk-converter-addin
Converte binary file into Vhex OS addin.
USAGE:
vxsdk conv addin -b BINARY ...
DESCRIPTION:
Convert a binary file into an application for the Vhex operating system.
OPTIONS:
-b <binary path> ELF binary file (no check is performed in this file)
-i <icon path> 92x62 pixel image path
-o <output path> output path for the generated addin
-n <internal name> internal addin name
-v <internal version> internal addin version
"""
def conv_addin_cli_parse(argv):
"""Process CLI arguments"""
if '-h' in argv or '--help' in argv:
logger(LOG_USER, __HELP__, exit=0)
action = None
info = [None, None, None, None, None]
for arg in argv:
if action == '-b': info[0] = arg
if action == '-i': info[1] = arg
if action == '-n': info[2] = arg
if action == '-o': info[3] = arg
if action == '-v': info[4] = arg
if action:
action = None
continue
if arg in ['-b', '-i', '-n', '-o', '-v']:
action = arg
continue
if info[0] == None:
logger(LOG_ERR, 'converter: need binary path !', exit=84)
return generate_addin(info[0], info[1], info[2], info[3], info[4])