예제 #1
0
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)
예제 #2
0
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)
예제 #6
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)
예제 #7
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)
예제 #11
0
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)