def main(): if (len(sys.argv) > 1): if sys.argv[1] == "check": idl_path = parse(sys.argv[2:], 'i:', ["idl="])[0] #To do: call api dds = DDSConnector(idl_path) if dds.IsIDLValid(): print("valid") else: print("invalid") elif sys.argv[1] == "run": config = configparser.ConfigParser() config.read_file(open(parse(sys.argv[2:], 'c:', ["config="])[0])) if config['common']['converter'] == 'dds': if config['dds']['mode'] == 'subscriber': dtStore = DataStore(db_name=config['common']['package_id']) dtStore.AddDataToCollection( "file_idl", json_obj={ "id": dtStore.AddFileToDB(config['dds']['file_idl']) }) dtStore.AddDataToCollection( "network_config", json_obj={ "id": dtStore.AddFileToDB( config['dds']['network_config']) }) ckan = CKANConnector(config['common']['ckan_sever'], config['common']['api_token'], config['common']['resource_id'], config['common']['package_id']) ckan.CreateResource(config['dds']['file_idl'], "The idl file") ckan.CreateResource(config['dds']['network_config'], "The network config file") x = threading.Thread(target=ReceiveStreamData, args=[dtStore, ckan], daemon=True) x.start() dds = DDSConnector(config['dds']['file_idl'], config['dds']['topic_name'], config['dds']['network_config'], config['dds']['mode']) dds.Build() dds.Run() elif sys.argv[1] == "publish_example": DDSConnector().PublishExample() else: print(sys.argv) print(USAGE) else: print(sys.argv) print(USAGE)