Ejemplo n.º 1
0
def business_exception_log(e):
    if not is_none(request.trace_id) and not is_none(request.full_path):
        logger.error(
            'BusinessException, code: %s, msg: %s trace_id: %s request path: %s'
            % (e.code, e.msg, request.trace_id, request.full_path))
    else:
        logger.error('BusinessException, code: %s, msg: %s' % (e.code, e.msg))
Ejemplo n.º 2
0
def get_chuck():
    try:
        hostname = os.uname()[1]
        index = int(random.randint(0, len(quotes) - 1))
        return hostname, quotes[index]["name"], quotes[index]["quote"]
    except Exception as err:
        logger.error(f"Other error occurred: {err}")
        return {"hostname": "hostname", "name": "error", "quote": err}
Ejemplo n.º 3
0
def translate_name_to_filename(name: str = None):
    if name is not None:
        filename = name.lower().replace(" ", "_") + ".jpg"
        filename = sanitize_filename(filename)
        logger.info("File Found" + str(filename))
    else:
        logger.error("File not found Found", filename=str(name))
        filename = "error.png"

    return filename
Ejemplo n.º 4
0
def check_message_validity(json_object):
    if "quotes" in json_object:
        try:
            logger.info("Message Contains!")
            quote = Quote.parse_obj(json_object["quotes"])
            return quote
        except ValidationError:
            logger.error("Something went wrong!")
            raise ValueError
    elif "detail" in json_object:
        raise ValueError
    else:
        raise ValueError
Ejemplo n.º 5
0
    def readdirAsync(self, path, depth=2, threadPool=pool):
        try:
            foo = json.loads(self.disk.list_files(path))
        except Exception as s:
            logger.exception(s)

        files = ['.', '..']
        abs_files = []
        if 'errno' in foo:
            logger.error(
                "maybe token is not right, try re login http://pan.baidu.com in Chrome"
            )
        if "list" not in foo:
            #             logger.info("no list")
            return

        for file in foo['list']:
            if file['server_filename'].startswith("."):
                continue
            files.append(file['server_filename'])
            abs_files.append(file['path'])
#             logger.debug(file['path'])

        file_num = len(abs_files)
        group = int(math.ceil(file_num / 100.0))
        #         logger.debug(f"group: {group}")
        #         logger.debug(f"abs_files: {abs_files}")
        for i in range(group):
            obj = [f for n, f in enumerate(abs_files) if n % group == i]  #一组数据
            while 1:
                try:
                    ret = json.loads(self.disk.meta(obj))
                    #                     logger.debug(f'{ret}')
                    break
                except Exception as e:
                    logger.info(ret)
                    logger.exception(e)
            for file_info in ret['info']:
                #                 logger.debug(file_info)
                self._add_file_to_buffer(file_info['path'], file_info)
                if depth > 0:
                    depth -= 1
                    if file_info['isdir']:
                        if file_info['path'] not in self.traversed_folder:
                            self.traversed_folder[path] = True
                            threadPool.submit(self.readdirAsync,
                                              file_info['path'], depth,
                                              threadPool)
        self.dir_buffer[path] = files
Ejemplo n.º 6
0
    def implement_get(self, params, **kwargs):
        self.url_add_common_param()
        self.url_add_business_param(params)
        logger.info(self.url)
        resp = requests.get(self.url, **kwargs)
        if resp.status_code == 200:
            ret_data = resp.json()
        else:
            raise BusinessException(code=resp.status_code, msg=resp.text, url=resp.url)
        # 如果请求成功,但是后端返回的code不是200,则记录日志
        if 'code' not in ret_data or ret_data.get('code') != 200:
            logger.error(
                'api_return_error, code: %s, msg: %s, url: %s' % (ret_data.get('code'), ret_data.get('msg'), self.url))

        return ret_data
Ejemplo n.º 7
0
    def implement_post(self, params, headers=None,**kwargs):

        self.url_add_common_param()
        params = {'params':json.dumps(params)}
        resp = requests.post(self.url, data=params, headers=headers, **kwargs)
        logger.info(self.url)
        if resp.status_code == 200:
            ret_data = resp.json()
        else:
            raise BusinessException(code=resp.status_code, msg=resp.text, url=resp.url)
        if 'code' not in ret_data or ret_data.get('code') != 200:
            logger.error(
                'api_return_error, code: %s, msg: %s, url: %s' % (ret_data.get('code'), ret_data.get('msg'), self.url))

        return ret_data
Ejemplo n.º 8
0
    def handle(self, *args, **options):
        logger.debug('start generating config for squid3 daemon in squid3 application')

        config = gen_squid_conf()
        logger.debug(config)

        conf_file_name = CONFIG['SQUID_CONF_FILE']
        try:
            f = open(conf_file_name, 'w')
            f.write(config)
            f.close()
        except IOError:
            msg = "can't write file {0}".format(conf_file_name)
            logger.error(msg)
        else:
            logger.debug('config for squid3 daemon successfully generated in squid3 application')
Ejemplo n.º 9
0
def get_image_simple(apiVersion: int = 1, name: str = None):

    try:
        if apiVersion == 2:
            url = settings.external_image_api_v2
            params = {'author': name}
        else:
            url = settings.external_image_api
            params = {'name': name}

        with httpx.Client() as client:

            logger.debug("URL: " + url)
            logger.debug("Name: " + name)

            response = client.get(url, params=params)
            response.raise_for_status()
        try:
            json_object = response.json()
            if 'image' in json_object:
                return {'image': json_object['image']}
            else:
                raise ValueError
        except ValueError as e:
            error_msg = "Not Valid JSON"
            logger.error(error_msg)
            return Image(name='error', Image=error_msg)

    except httpx.RequestError as exc:
        error_msg = f"An error occured while requesting {exc.request.url!r}."
        logger.error(error_msg)
        return Image(name='error', Image=error_msg)

    except httpx.HTTPStatusError as exc:
        error_msg = f"Error response {exc.response.status_code} while requesting {exc.request.url!r}."
        logger.error(error_msg)
        return Image(name='error', Image=error_msg)

    except httpx.HTTPError as exc:
        error_msg = f"HTTPError Error while requesting {exc.request.url!r}."
        logger.error(error_msg)
        return Image(name='error', Image=error_msg)

    except httpx.InvalidURL as exc:
        error_msg = f"Error while requesting {exc.request.url!r}."
        logger.error(error_msg)
        return Image(name='error', Image=error_msg)
Ejemplo n.º 10
0
def get_image_as_base64(name: str = None):

    if name is not None:
        filename = translate_name_to_filename(name)
        filepath = str(pathlib.Path.cwd().joinpath("static", "images", filename))
        image_path = pathlib.Path(filepath)
        logger.debug("Imagepath: " + str(image_path))
        if image_path.is_file() and imghdr.what(image_path) is not None:
            with open(image_path, "rb") as img_file:
                image_base64 = base64.b64encode(img_file.read()).decode("utf-8")
            return image_base64
        else:
            logger.error("Imagepath not image", Imagepath=str(image_path))
            raise ValueError
    else:
        logger.error("Invlid name provided: " +  str(name))
        raise ValueError
Ejemplo n.º 11
0
def get_quote(url):
    try:
        response = requests.get(url)
        # If the response was successful, no Exception will be raised
        response.raise_for_status()
    except HTTPError as http_err:
        logger.error(f"HTTP error occurred: {http_err}")
        return {"name": "error", "quote": http_err}
    except Exception as err:
        logger.error(f"Other error occurred: {err}")
        return {"name": "error", "quote": err}
    else:
        try:
            json_object = response.json()
            logger.info("Success!")
            return response.json()
        except ValueError as e:
            logger.info("Not Valid JSON")
            return {"name": "error", "quote": "Not Valid JSON"}
Ejemplo n.º 12
0
def test_get_quotes():

    logger.info("Running '/quotes' tests")

    logger.info("Get '/admin/delete_all'")
    response = client.get("/admin/delete_all")

    logger.info("Post '/seed'")
    response = client.post("/seed", json=test_quotes_list)

    logger.info("Get '/quotes'")
    response = client.get("/quotes")
    assert response.status_code == 200

    msg = response.json()
    del msg["backend"]
    logger.info("Quote Received " + str(msg["quotes"]))

    for quote in msg["quotes"]:
        if quote not in test_quotes_list["quotes"]:
            logger.error("Unknown Quote: " + quote, quote=quote)
            assert False
Ejemplo n.º 13
0
def get_quote_simple(url):

    try:
        with httpx.Client() as client:
            
            logger.info("URL: " + url)

            response = client.get(url)
            response.raise_for_status()
        try:
            json_object = response.json()
            return check_message_validity(json_object)
        except ValueError as e:
            error_msg = "Not Valid JSON"
            logger.error(error_msg)
            return Quote(name='error', quote=error_msg)

    except httpx.RequestError as exc:
        error_msg = f"An error occured while requesting {exc.request.url!r}."
        logger.error(error_msg)
        return Quote(name='error', quote=error_msg)

    except httpx.HTTPStatusError as exc:
        error_msg = f"Error response {exc.response.status_code} while requesting {exc.request.url!r}."
        logger.error(error_msg)
        return Quote(name='error', quote=error_msg)

    except httpx.HTTPError as exc:
        error_msg = f"HTTPError Error while requesting {exc.request.url!r}."
        logger.error(error_msg)
        return Quote(name='error', quote=error_msg)

    except httpx.InvalidURL as exc:
        error_msg = f"Error while requesting {exc.request.url!r}."
        logger.error(error_msg)
        return Quote(name='error', quote=error_msg)
Ejemplo n.º 14
0
 def __init__(self, msg, log=False):
     super().__init__(msg)
     self.msg = msg
     if log is True:
         from core.log import logger
         logger.error(msg)
Ejemplo n.º 15
0
 def __init__(self, msg, log=False):
     super().__init__(msg)
     self.msg = msg
     if log is True:
         from core.log import logger
         logger.error(msg)
Ejemplo n.º 16
0
 def __init__(self, msg):
     super().__init__(msg)
     self.msg = msg
     logger.error(msg)
Ejemplo n.º 17
0
def request_fail(func=BaseError.system_exception):
    if not is_none(request.trace_id):
        logger.error('request fail trace id is:' + str(request.trace_id))
    logger.error(traceback.format_exc())
    return func()