def _upload_via_api(request, file, function_id, logger):
    myHeader = get_auth_header(request.user)
    #

    myHeader["content-type"] = None
    myHeader["content-type"] = None
    myHeader["Content-Type"] = None
    is_success, status_code, status_message, data = RestFulClient.upload(
        url=UPLOAD_FILE,
        files={'file_data': file},
        headers=myHeader,
        loggers=logger,
        params={'function_id': function_id},
        timeout=settings.GLOBAL_TIMEOUT)

    API_Logger.post_logging(loggers=logger,
                            params={
                                'file_data': file._name,
                                'function_id': function_id
                            },
                            response=data,
                            status_code=status_code,
                            is_getting_list=True)

    if not is_success:
        data = []
    return data
Example #2
0
    def add(request, currency):
        logger = logging.getLogger(__name__)
        correlation_id = get_correlation_id_from_username(request.user)
        logger = setup_logger(request, logger, correlation_id)
        logger.info('========== Start add currency ==========')

        url = settings.DOMAIN_NAMES + api_settings.ADD_CURRENCY_URL.format(
            currency)
        logger.info("Add currency by {} user id".format(request.user.username))
        logger.info("Add currency from backend with {} url".format(url))

        params = {"value": currency}
        logger.info(
            "Add currency from backend with {} request body".format(params))
        start = time.time()
        response = requests.put(url,
                                headers=get_auth_header(request.user),
                                json=params,
                                verify=settings.CERT)
        finish = time.time()
        logger.info('Response_code: {}'.format(response.status_code))
        logger.info('Response_content: {}'.format(response.text))
        logger.info('Response_time: {}'.format(finish - start))

        response_json = response.json()
        status = response_json.get('status', {})
        code = status.get('code', '')

        ajax_code = 0
        message = status.get('message', 'Something went wrong.')
        if code in [
                'access_token_expire', 'authentication_fail',
                'invalid_access_token'
        ]:
            logger.info("{} for {} username".format(message, request.user))
            messages.add_message(
                request, messages.INFO,
                str('Your login credentials have expired. Please login again.')
            )
            ajax_code = 1
            logger.info('========== Finish add currency ==========')
            return JsonResponse({"status": ajax_code, "msg": message})

        currencyList = []
        if status['code'] == "success":
            ajax_code = 2
            logger.info("Currency was added")
            logger.info('========== Finish add currency ==========')
            currencyList = refine_data(response_json['data'])
        else:
            ajax_code = 3
            logger.info('========== Finish add currency ==========')

        return JsonResponse({
            "status": ajax_code,
            "msg": message,
            "data": currencyList
        })
Example #3
0
    def create_action(self, rule_id, mechanic_id, params):
        #rule_id = 99999
        api_path = api_settings.CREATE_ACTION.format(rule_id=rule_id,
                                                     mechanic_id=mechanic_id)
        url = settings.DOMAIN_NAMES + api_path

        timeout = settings.GLOBAL_TIMEOUT

        logger.info('API-Path: {path}'.format(path=api_path))

        start = time.time()
        try:
            response = requests.post(url,
                                     headers=get_auth_header(
                                         self.request.user),
                                     json=params,
                                     verify=settings.CERT,
                                     timeout=timeout)
        except requests.exceptions.Timeout:
            return JsonResponse({'status': 'timeout'})
        done = time.time()
        logger.info('Response_code: {}'.format(response.status_code))
        logger.info('Response_content: {}'.format(response.text))
        logger.info('Response_time: {}'.format(done - start))
        response_json = response.json()
        status = response_json.get('status', {})

        code = 0
        message = status.get('message', 'Something went wrong.')
        if status['code'] in [
                'access_token_expire', 'authentication_fail',
                'invalid_access_token'
        ]:
            logger.info("{} for {} username".format(message,
                                                    self.request.user))
            messages.add_message(
                self.request, messages.INFO,
                str('Your login credentials have expired. Please login again.')
            )
            code = 1
            return JsonResponse({"status": code, "msg": message})

        if status['code'] == "success":
            code = 2
            messages.success(
                self.request,
                "Rule ID {} is updated successfully".format(rule_id))
        else:
            code = 3

        return JsonResponse({
            "status": code,
            "msg": message,
            "data": response_json.get('data', {})
        })
def _post_method(request,
                 api_path,
                 func_description,
                 logger,
                 params={},
                 timeout=None):
    if 'http' in api_path:
        url = api_path
    else:
        url = settings.DOMAIN_NAMES + api_path

    if timeout is None:
        timeout = settings.GLOBAL_TIMEOUT

    logger.info('API-Path: {path}'.format(path=api_path))

    start = time.time()
    try:
        response = requests.post(url,
                                 headers=get_auth_header(request.user),
                                 json=params,
                                 verify=settings.CERT,
                                 timeout=timeout)
    except requests.exceptions.Timeout:
        return JsonResponse({'status': 'timeout'})
    done = time.time()
    logger.info('Response_code: {}'.format(response.status_code))
    logger.info('Response_content: {}'.format(response.text))
    logger.info('Response_time: {}'.format(done - start))
    response_json = response.json()
    status = response_json.get('status', {})

    code = 0
    message = status.get('message', 'Something went wrong.')
    if status['code'] in [
            'access_token_expire', 'authentication_fail',
            'invalid_access_token'
    ]:
        logger.info("{} for {} username".format(message, request.user))
        messages.add_message(
            request, messages.INFO,
            str('Your login credentials have expired. Please login again.'))
        code = 1
        return JsonResponse({"status": code, "msg": message})

    if status['code'] == "success":
        code = 2
    else:
        code = 3

    return JsonResponse({
        "status": code,
        "msg": message,
        "data": response_json.get('data', {})
    })
Example #5
0
 def _get_headers(self):
     if getattr(self, '_headers', None) is None:
         self._headers = get_auth_header(self.request.user)
     return self._headers
Example #6
0
 def _get_headers(self):
     return get_auth_header(self.request.user)