tfse-etl-api-v0.2/common/scripts.py

64 lines
1.4 KiB
Python

import os
import json
import functools
from flask import request
from setting import API_SECRET, APP_NAME
def file_path(param):
"""
返回文件真实路径
避免因为文件路径问题带来的麻烦
Parameters:
param: 文件相对路径
Returns:
path: 文件真实路径
"""
abs_path = os.path.abspath(os.path.dirname(__file__))
rel_path = abs_path[:abs_path.find(APP_NAME) + len(APP_NAME)]
path = os.path.abspath(rel_path + param)
return path
def read_json_file(param):
"""
读取json文件
Parameters:
param: json文件真实路径
Returns:
result: json内容
"""
with open(param, "r", encoding='utf-8') as f:
result = json.load(f)
return result
def verify_token(func):
"""
校验token
"""
@functools.wraps(func)
def internal(*args, **kwargs):
try:
token = request.headers.get('token')
if token != API_SECRET:
return {"info": "接口密钥错误"}, 401
except Exception:
return {"info": "请求异常"}, 401
return func(*args, **kwargs)
return internal
def sub_dict(param1, param2):
"""
获取字典的子集
Parameters:
param1: 原字典
param2: 子集字段
Returns:
子集
"""
return dict((key, value) for key, value in param1.items() if key in param2)