def listTorrents(outputFormat, sessionname): OutputFormat = 0 url = DataUtils.GetUrl(sessionname) SID = DataUtils.GetAuthToken(sessionname) DSMVERSION = DataUtils.GetDSMVersion(sessionname) IsVersionSupported, URLParams, headers = get_torrent_list_url( DSMVERSION, SID) if not IsVersionSupported: logging.debug("Unsupported DSM Version: {}".format(DSMVERSION)) print("Unsupported DSM Version") exit(1) FULLURL = urllib.parse.urljoin(url, URLParams) response = requests.request("GET", FULLURL, data=None, headers=headers) isAPICallOK = StdResponses.processAPIResponse(response) if (not isAPICallOK): exit(99) else: json_object = json.loads(response.text) if (outputFormat == "DF"): #print(json_object) aDF = DSMTransformers.GetListAsCsv(json_object) print(aDF) elif (outputFormat == "CSV"): #print(json_object) aDF = DSMTransformers.GetListAsCsv(json_object) print(aDF.to_csv(index=False)) else: #print(json_object) json_formatted_str = json.dumps(json_object, indent=2) print(json_formatted_str)
def login(crversion, url, login, password, sessionname): IsVersionSupported, CallType, ApiUri, Headers, Body = get_login_resources( crversion, login, password, sessionname) if not IsVersionSupported: logging.debug("Unsupported CR Version: {}".format(crversion)) print("Unsupported CR Version") exit(1) FULLURL = urllib.parse.urljoin(url, ApiUri) response = requests.request(CallType, FULLURL, data=Body, headers=Headers) isAPICallOK = StdResponses.processAPIResponse(response) if (not isAPICallOK): exit(99) else: #print("DEBUG"+str(response.text)) isError, Code = AuthResponses.Process_Auth_Login_Response(response) if (not isError): DataUtils.StoreAuthToken(Code, sessionname) DataUtils.StoreUrl(url, sessionname) DataUtils.StoreCRVersion(crversion, sessionname) print("Token Stored in session: " + sessionname)
def generic_api_call_handler_no_post(outputFormat,sessionname,get_res_func,res_data): url = DataUtils.GetUrl(sessionname) TOKEN = DataUtils.GetAuthToken(sessionname) CRVERSION = DataUtils.GetCRVersion(sessionname) IsVersionSupported,CallType,ApiUri,Headers,Body = get_res_func(CRVERSION,sessionname,TOKEN,res_data) if not IsVersionSupported: logging.debug("Unsupported CR Version: {}".format(crversion)) print("Unsupported CR Version") exit(1) FULLURL = urllib.parse.urljoin(url,ApiUri) response = requests.request(method=CallType, url=FULLURL, data=Body, headers=Headers) isAPICallOK = StdResponses.processAPIResponse(response) if(not isAPICallOK): exit(99) else: if(response.text != ""): json_object = json.loads(response.text) return json_object else: return response.status_code
def generic_api_call_handler(outputFormat,sessionname,get_res_func,res_data,df_transform_func): url = DataUtils.GetUrl(sessionname) TOKEN = DataUtils.GetAuthToken(sessionname) CRVERSION = DataUtils.GetCRVersion(sessionname) IsVersionSupported,CallType,ApiUri,Headers,Body = get_res_func(CRVERSION,sessionname,TOKEN,res_data) if not IsVersionSupported: logging.debug("Unsupported CR Version: {}".format(crversion)) print("Unsupported CR Version") exit(1) FULLURL = urllib.parse.urljoin(url,ApiUri) response = requests.request(method=CallType, url=FULLURL, data=Body, headers=Headers) isAPICallOK = StdResponses.processAPIResponse(response) if(not isAPICallOK): exit(99) else: json_object = json.loads(response.text) if (outputFormat == "DF"): #print(json_object) aDF = df_transform_func(json_object) print(aDF) elif (outputFormat == "CSV"): #print(json_object) aDF = df_transform_func(json_object) print(aDF.to_csv(index=False)) else: #print(json_object) json_formatted_str = json.dumps(json_object, indent=2) print(json_formatted_str)
def Process_list_Response(res,CsvOutput): isError,isCsvOutput = StdResponses.ProcessStdResponse(res,CsvOutput) if(isError): exit(1) else: result = json.loads(res.text) if isCsvOutput: print(DevicesTransformers.GetDeviceListAsCsv(result)) exit(0) else: print(result) exit(0)
def Process_Create_Response(res, CsvOutput): isError, isCsvOutput = StdResponses.ProcessStdResponse(res, CsvOutput) if (isError): exit(1) else: result = json.loads(res.text) if isCsvOutput: print(print("user created with ID:" + str(result['id']))) exit(0) else: print(result) exit(0)
def Process_Delete_Response(res, CsvOutput): isError, isCsvOutput = StdResponses.ProcessStdResponse(res, CsvOutput) if (isError): exit(1) else: result = json.loads(res.text) if isCsvOutput: print(res.text) exit(0) else: print(result) exit(0)
def Process_Group_List_Response(res, CsvOutput): isError, isCsvOutput = StdResponses.ProcessStdResponse(res, CsvOutput) if (isError): exit(1) else: result = json.loads(res.text) if isCsvOutput: print(IQBotLITransformers.GetLIGroupListAsCsv(result)) exit(0) else: print(result) exit(0)
def Process_LI_Files_With_Status_Response(res, CsvOutput): isError, isCsvOutput = StdResponses.ProcessStdResponse(res, CsvOutput) if (isError): exit(1) else: result = json.loads(res.text) if isCsvOutput: print(IQBotLITransformers.GetFileListPerStatusAsCsv(result)) exit(0) else: print(result) exit(0)
def login(dsmversion, url, login, password, sessionname): IsVersionSupported, URLParams, headers = get_login_url( dsmversion, login, password, sessionname) if not IsVersionSupported: logging.debug("Unsupported DSM Version: {}".format(dsmversion)) print("Unsupported DSM Version") exit(1) FULLURL = urllib.parse.urljoin(url, URLParams) response = requests.request("GET", FULLURL, data=None, headers=headers) isAPICallOK = StdResponses.processAPIResponse(response) if (not isAPICallOK): exit(99) else: isError, Code = AuthResponses.Process_Auth_Login_Response(response) if (not isError): DataUtils.StoreAuthToken(Code, sessionname) DataUtils.StoreUrl(url, sessionname) DataUtils.StoreDSMVersion(dsmversion, sessionname) print("Token Stored in session: " + sessionname)
def stopOrStartPackage(packageName,operation,sessionname): url = DataUtils.GetUrl(sessionname) SID = DataUtils.GetAuthToken(sessionname) DSMVERSION = DataUtils.GetDSMVersion(sessionname) IsVersionSupported,URLParams,headers = get_change_package_state_url(packageName,operation,DSMVERSION,SID) if not IsVersionSupported: logging.debug("Unsupported DSM Version: {}".format(DSMVERSION)) print("Unsupported DSM Version") exit(1) FULLURL = urllib.parse.urljoin(url, URLParams) response = requests.request("GET", FULLURL, data=None, headers=headers) isAPICallOK = StdResponses.processAPIResponse(response) if(not isAPICallOK): exit(99) else: json_object = json.loads(response.text) json_formatted_str = json.dumps(json_object, indent=2) print(json_formatted_str)