diff --git a/application/common/config.py b/application/common/config.py index 86c695c40c035ea87483ba657a2a25c8c708dd73..6b463d562ad3e9eb310d1688f769d2c67504d69d 100644 --- a/application/common/config.py +++ b/application/common/config.py @@ -16,6 +16,8 @@ from typing import Any from flask import Flask from loguru import logger +from application.libs import ConfigKeyError + class ConfigHelper: """ @@ -28,7 +30,7 @@ class ConfigHelper: def __init__(self, app: Flask): self.app = app - def __getattr__(self, name): + def __getattr__(self, name: str) -> Any: """ Get a config value as an attribute. @@ -38,8 +40,8 @@ class ConfigHelper: try: return self.app.config[name] except KeyError: - logger.error(f'Key {name} error') - raise KeyError(f'Key {name} error') + logger.error(f'Key {name} not found in configuration') + raise ConfigKeyError(name) def __repr__(self): return f"" diff --git a/application/libs/__init__.py b/application/libs/__init__.py index 620fe13d4292adf261c0459926f95279c1bc4e1e..20aa673ab0a5619a9ff27f34cd652fe52a1fa95a 100644 --- a/application/libs/__init__.py +++ b/application/libs/__init__.py @@ -11,5 +11,6 @@ """ from .config import ConsulConfig, LocalConfig +from .error import ConfigKeyError from .flask_elasticsearch import FlaskElasticsearch from .flask_loguru import FlaskLoguru diff --git a/application/libs/error/__init__.py b/application/libs/error/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..c3ac498c9d5ad79e11f287cb39f9f207656105c6 --- /dev/null +++ b/application/libs/error/__init__.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +# @Version : Python 3.11.4 +# @Software : Sublime Text 4 +# @Author : StudentCWZ +# @Email : StudentCWZ@outlook.com +# @Date : 2023/11/4 12:13 +# @File : __init__.py +# @Description : error 自定义模块 +""" + +from .exceptions import ConfigKeyError diff --git a/application/libs/error/exceptions.py b/application/libs/error/exceptions.py new file mode 100644 index 0000000000000000000000000000000000000000..7caf33f02df9548a270921dd36b4b4cd98acf995 --- /dev/null +++ b/application/libs/error/exceptions.py @@ -0,0 +1,20 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +# @Version : Python 3.11.4 +# @Software : Sublime Text 4 +# @Author : StudentCWZ +# @Email : StudentCWZ@outlook.com +# @Date : 2023/11/4 12:14 +# @File : exceptions.py +# @Description : +""" + + +class ConfigKeyError(Exception): + """ + An error that is raised when a configuration key is not found. + """ + def __init__(self, key): + self.key = key + super().__init__(f'Key {self.key} not found in configuration')