48 lines
1.3 KiB
Python
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])
|