新增YAML配置文件和解析封装
This commit is contained in:
parent
7b26d9ddbd
commit
bae428c975
|
@ -0,0 +1,6 @@
|
||||||
|
|
||||||
|
ops1:
|
||||||
|
server: http://10.2.2.10:8000
|
||||||
|
project_list: /api/items/list/
|
||||||
|
headers:
|
||||||
|
X-Token: 51ab21fa323a11eca1af000c2993d583
|
|
@ -5,3 +5,5 @@ flask-mongoengine==1.0.0
|
||||||
flask-redis==0.4.0
|
flask-redis==0.4.0
|
||||||
Flask-RESTful==0.3.9
|
Flask-RESTful==0.3.9
|
||||||
jsonschema==4.2.1
|
jsonschema==4.2.1
|
||||||
|
PyYAML==6.0
|
||||||
|
requests==2.26.0
|
||||||
|
|
|
@ -1,3 +1,12 @@
|
||||||
|
import os.path
|
||||||
|
|
||||||
|
from common.conf import load_yaml
|
||||||
|
|
||||||
|
# 项目目录
|
||||||
|
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
|
||||||
|
|
||||||
|
CONFIG_FILE = os.path.join(os.path.dirname(BASE_DIR), "conf.yaml")
|
||||||
|
CONFIG: dict = load_yaml(CONFIG_FILE, raise_exception=True, default={})
|
||||||
|
|
||||||
VERSION = "v1"
|
VERSION = "v1"
|
||||||
INSTANCE = "9e5da0b3-565f-11ec-b095-18c04d9eb245"
|
INSTANCE = "9e5da0b3-565f-11ec-b095-18c04d9eb245"
|
||||||
|
|
|
@ -6,7 +6,7 @@ BASE_DIR = os.path.dirname(os.path.abspath(__file__))
|
||||||
SECRET_KEY = 'cf036e50524a11ecb4a618c04d9eb245'
|
SECRET_KEY = 'cf036e50524a11ecb4a618c04d9eb245'
|
||||||
|
|
||||||
JSONIFY_PRETTYPRINT_REGULAR = False
|
JSONIFY_PRETTYPRINT_REGULAR = False
|
||||||
RESTFUL_JSON = {'separators': (',', ':'), 'indent': 0}
|
RESTFUL_JSON = {'separators': (',', ':'), 'indent': 4}
|
||||||
|
|
||||||
# mongodb 地址
|
# mongodb 地址
|
||||||
MONGODB_SETTINGS = {
|
MONGODB_SETTINGS = {
|
||||||
|
@ -18,7 +18,7 @@ REDIS_URL = "redis://:@10.2.2.10:6379/1"
|
||||||
|
|
||||||
LOGGING = {
|
LOGGING = {
|
||||||
'version': 1,
|
'version': 1,
|
||||||
'disable_existing_loggers': True,
|
'disable_existing_loggers': False,
|
||||||
'formatters': {
|
'formatters': {
|
||||||
'verbose': {
|
'verbose': {
|
||||||
'format': '%(asctime)s %(levelname)s %(module)s:%(funcName)s %(process)d %(thread)d %(message)s'
|
'format': '%(asctime)s %(levelname)s %(module)s:%(funcName)s %(process)d %(thread)d %(message)s'
|
||||||
|
@ -44,12 +44,26 @@ LOGGING = {
|
||||||
'backupCount': 5,
|
'backupCount': 5,
|
||||||
'formatter': 'verbose'
|
'formatter': 'verbose'
|
||||||
},
|
},
|
||||||
|
'common': {
|
||||||
|
'level': 'DEBUG',
|
||||||
|
'class': 'logging.handlers.RotatingFileHandler',
|
||||||
|
'filename': os.path.join(os.path.dirname(BASE_DIR), 'logs/common.log'),
|
||||||
|
'encoding': 'utf-8',
|
||||||
|
'maxBytes': 1024 * 1024 * 5,
|
||||||
|
'backupCount': 5,
|
||||||
|
'formatter': 'verbose',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
'loggers': {
|
'loggers': {
|
||||||
'root': {
|
'root': {
|
||||||
'handlers': ['file_app'],
|
'handlers': ['file_app'],
|
||||||
'level': 'DEBUG',
|
'level': 'DEBUG',
|
||||||
'propagate': True,
|
'propagate': False,
|
||||||
},
|
},
|
||||||
|
'common': {
|
||||||
|
'handlers': ['common'],
|
||||||
|
'level': 'DEBUG',
|
||||||
|
'propagate': False,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
"""
|
||||||
|
conf.yaml 的辅助方法
|
||||||
|
"""
|
||||||
|
import yaml
|
||||||
|
from settings import common
|
||||||
|
|
||||||
|
|
||||||
|
def load_yaml(filename, raise_exception=False, default=None):
|
||||||
|
"""
|
||||||
|
|
||||||
|
:param filename:
|
||||||
|
:param raise_exception: 是否触发异常
|
||||||
|
:param default: 默认值,不触发异常时使用
|
||||||
|
:return:
|
||||||
|
"""
|
||||||
|
data = default
|
||||||
|
filename = str(filename)
|
||||||
|
try:
|
||||||
|
with open(filename, 'r') as f:
|
||||||
|
data = yaml.safe_load(f)
|
||||||
|
except Exception as e:
|
||||||
|
if raise_exception:
|
||||||
|
raise e
|
||||||
|
return data if data else default
|
||||||
|
|
||||||
|
|
||||||
|
def get_conf_section(name, default=None):
|
||||||
|
"""从配置文件中获取配置项"""
|
||||||
|
try:
|
||||||
|
return common.CONFIG.get(name, default)
|
||||||
|
except:
|
||||||
|
return default
|
||||||
|
|
||||||
|
|
||||||
|
def get_conf_section_opt(section_name, opt_name, default=None):
|
||||||
|
"""从配置文件中获取配置项,需要是字典"""
|
||||||
|
try:
|
||||||
|
section = common.CONFIG.get(section_name, {})
|
||||||
|
data = section.get(opt_name, default)
|
||||||
|
except:
|
||||||
|
return default
|
||||||
|
return data
|
Loading…
Reference in New Issue