Source code for priot_cli
import argparse
import create_project
import create_config
import build
import priot_database as pdb
import upload
import global_vars as gbv
[docs]def main():
""" Main function for processing command line arguments
**Usage:**
``python priot_cli.py --createproject [project_name]``
``python priot_cli.py --createconfig [project_name] [config_filename] [board_name] [library_deps]``
``python priot_cli.py --build [project_name]``
``python priot_cli.py --upload [project_name]``
``python priot_cli.py --createdatabase [database_name]``
``python priot_cli.py --insertboard [database_name] [board_json_filename]``
``python priot_cli.py --insertmcu [database_name] [mcu_json_filename]``
``python priot_cli.py --insertactuator [database_name] [actuator_json_filename]
``python priot_cli.py --insertsensor [database_name] [sensor_json_filename]``
"""
parser = argparse.ArgumentParser(description='Main function for processing command line arguments')
group1 = parser.add_mutually_exclusive_group(required=True)
group1.add_argument( "-cp", "--{0}".format(gbv.CLI_ARG_CREATE_PROJECT), help="create new project", nargs=1 )
group1.add_argument( "-cc", "--{0}".format(gbv.CLI_ARG_CREATE_CONFIG), help="create configuration file", nargs=6 )
group1.add_argument( "-b", "--{0}".format(gbv.CLI_ARG_BUILD), help="build project", nargs=1 )
group1.add_argument( "-u", "--{0}".format(gbv.CLI_ARG_UPLOAD), help="upload project", nargs=1)
group1.add_argument( "-cd", "--{0}".format(gbv.CLI_ARG_CREATE_DATABASE) )
group1.add_argument( "-ib", "--{0}".format(gbv.CLI_ARG_INSERT_BOARD), nargs=2 )
group1.add_argument( "-im", "--{0}".format(gbv.CLI_ARG_INSERT_MCU), nargs=2 )
group1.add_argument( "-ia", "--{0}".format(gbv.CLI_ARG_INSERT_ACTUATOR), nargs=2 )
group1.add_argument( "-is", "--{0}".format(gbv.CLI_ARG_INSERT_SENSOR), nargs=2 )
args = parser.parse_args()
print(args.createproject)
#print(group1)
if args.createproject :
create_project.create_project(args.createproject[0])
elif args.createconfig :
#print(args.createconfig[0], args.createconfig[1], args.createconfig[2],
# (args.createconfig[3].split())[0],
# args.createconfig[4], args.createconfig[5])
create_config.create_config_2( args.createconfig[0], args.createconfig[1], args.createconfig[2],
[ ((args.createconfig[3].split())[0], (args.createconfig[3].split())[1]) ],
[ ((args.createconfig[4].split())[0], (args.createconfig[4].split())[1]) ],
[ ((args.createconfig[5].split())[0], (args.createconfig[5].split())[1]) ] )
elif args.build :
build.build(args.build[0])
elif args.upload :
upload.upload(args.upload[0])
elif args.insertsensor :
# Insert in SQlite
p_sqlite = pdb.Priot_DB_Sqlite(args.insertsensor[0]+"_sqlite.db")
p_sqlite.insert_sensor_sqlite_db(json_filename = args.insertsensor[1])
# Insert in Mangodb
p_mangodb = pdb.PrIoT_DB_Mangodb(database_name = args.insertsensor[0]+"_mango")
p_mangodb.insert_sensor_mdb(json_filenames = args.insertsensor[1])
elif args.insertactuator :
# Insert in SQlite
p_sqlite = pdb.Priot_DB_Sqlite(args.insertactuator[0]+"_sqlite.db")
p_sqlite.insert_actuator_sqlite_db(json_filename = args.insertactuator[1])
# Insert in Mangodb
p_mangodb = pdb.PrIoT_DB_Mangodb(database_name = args.insertactuator[0]+"_mango")
p_mangodb.insert_actuator_mdb(json_filenames = args.insertactuator[1])
elif args.insertboard :
# Insert in SQlite
p_sqlite = pdb.Priot_DB_Sqlite(args.insertboard[0]+"_sqlite.db")
p_sqlite.insert_insertboard_sqlite_db(json_filename = args.insertboard[1])
# Insert in Mangodb
p_mangodb = pdb.PrIoT_DB_Mangodb(database_name = args.insertboard[0]+"_mango")
p_mangodb.insert_board_mdb(json_filenames = args.insertboard[1])
elif args.insertmcu :
# Insert in SQlite
p_sqlite = pdb.Priot_DB_Sqlite(args.insertmcu[0]+"_sqlite.db")
p_sqlite.insert_insertmcu_sqlite_db(json_filename = args.insertmcu[1])
# Insert in Mangodb
p_mangodb = pdb.PrIoT_DB_Mangodb(database_name = args.insertmcu[0]+"_mango")
p_mangodb.insert_mcu_mdb(json_filenames = args.insertmcu[1])
if __name__ == "__main__":
main()