style: 优化部分文件中的函数及类注释

This commit is contained in:
insistence
2024-07-13 18:15:35 +08:00
parent c23a3ccfaf
commit e3b422cc6e
41 changed files with 353 additions and 19 deletions

View File

@@ -33,7 +33,7 @@ def worship():
// ========`-.____`-.___\_____/___.-`____.-'======== //
// `=---=' //
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //
// 佛祖保佑 永不宕机 永无BUG //
// 佛祖保佑 永不宕机 永无BUG //
////////////////////////////////////////////////////////////////////
""")
@@ -47,6 +47,7 @@ class CamelCaseUtil:
def snake_to_camel(cls, snake_str):
"""
下划线形式字符串(snake_case)转换为小驼峰形式字符串(camelCase)
:param snake_str: 下划线形式字符串
:return: 小驼峰形式字符串
"""
@@ -59,6 +60,7 @@ class CamelCaseUtil:
def transform_result(cls, result):
"""
针对不同类型将下划线形式(snake_case)批量转换为小驼峰形式(camelCase)方法
:param result: 输入数据
:return: 小驼峰形式结果
"""
@@ -101,6 +103,7 @@ class SnakeCaseUtil:
def camel_to_snake(cls, camel_str):
"""
小驼峰形式字符串(camelCase)转换为下划线形式字符串(snake_case)
:param camel_str: 小驼峰形式字符串
:return: 下划线形式字符串
"""
@@ -112,6 +115,7 @@ class SnakeCaseUtil:
def transform_result(cls, result):
"""
针对不同类型将下划线形式(snake_case)批量转换为小驼峰形式(camelCase)方法
:param result: 输入数据
:return: 小驼峰形式结果
"""
@@ -172,6 +176,7 @@ def bytes2file_response(bytes_info):
def export_list2excel(list_data: List):
"""
工具方法将需要导出的list数据转化为对应excel的二进制数据
:param list_data: 数据列表
:return: 字典信息对应excel的二进制数据
"""
@@ -186,6 +191,7 @@ def export_list2excel(list_data: List):
def get_excel_template(header_list: List, selector_header_list: List, option_list: List[dict]):
"""
工具方法将需要导出的list数据转化为对应excel的二进制数据
:param header_list: 表头数据列表
:param selector_header_list: 需要设置为选择器格式的表头数据列表
:param option_list: 选择器格式的表头预设的选项列表
@@ -246,6 +252,7 @@ def get_excel_template(header_list: List, selector_header_list: List, option_lis
def get_filepath_from_url(url: str):
"""
工具方法:根据请求参数获取文件路径
:param url: 请求参数中的url参数
:return: 文件路径
"""

View File

@@ -30,6 +30,7 @@ class PageUtil:
def get_page_obj(cls, data_list: List, page_num: int, page_size: int):
"""
输入数据列表data_list和分页信息返回分页数据列表结果
:param data_list: 原始数据列表
:param page_num: 当前页码
:param page_size: 当前页面数据量
@@ -53,6 +54,7 @@ class PageUtil:
async def paginate(cls, db: AsyncSession, query: Select, page_num: int, page_size: int, is_page: bool = False):
"""
输入查询语句和分页信息,返回分页数据列表结果
:param db: orm对象
:param query: sqlalchemy查询语句
:param page_num: 当前页码
@@ -93,6 +95,7 @@ class PageUtil:
def get_page_obj(data_list: List, page_num: int, page_size: int):
"""
输入数据列表data_list和分页信息返回分页数据列表结果
:param data_list: 原始数据列表
:param page_num: 当前页码
:param page_size: 当前页面数据量

View File

@@ -12,6 +12,7 @@ class PwdUtil:
def verify_password(cls, plain_password, hashed_password):
"""
工具方法:校验当前输入的密码与数据库存储的密码是否一致
:param plain_password: 当前输入的密码
:param hashed_password: 数据库存储的密码
:return: 校验结果
@@ -22,6 +23,7 @@ class PwdUtil:
def get_password_hash(cls, input_password):
"""
工具方法:对当前输入的密码进行加密
:param input_password: 输入的密码
:return: 加密成功的密码
"""

View File

@@ -23,6 +23,7 @@ class ResponseUtil:
) -> Response:
"""
成功响应方法
:param msg: 可选,自定义成功响应信息
:param data: 可选成功响应结果中属性为data的值
:param rows: 可选成功响应结果中属性为rows的值
@@ -56,6 +57,7 @@ class ResponseUtil:
) -> Response:
"""
失败响应方法
:param msg: 可选,自定义失败响应信息
:param data: 可选失败响应结果中属性为data的值
:param rows: 可选失败响应结果中属性为rows的值
@@ -89,6 +91,7 @@ class ResponseUtil:
) -> Response:
"""
未认证响应方法
:param msg: 可选,自定义未认证响应信息
:param data: 可选未认证响应结果中属性为data的值
:param rows: 可选未认证响应结果中属性为rows的值
@@ -121,13 +124,14 @@ class ResponseUtil:
model_content: Optional[BaseModel] = None,
) -> Response:
"""
认证响应方法
:param msg: 可选,自定义未认证响应信息
:param data: 可选,未认证响应结果中属性为data的值
:param rows: 可选,未认证响应结果中属性为rows的值
:param dict_content: 可选dict类型未认证响应结果中自定义属性的值
:param model_content: 可选,BaseModel类型,未认证响应结果中自定义属性的值
:return: 未认证响应结果
授权响应方法
:param msg: 可选,自定义未授权响应信息
:param data: 可选,未授权响应结果中属性为data的值
:param rows: 可选未授权响应结果中属性为rows的值
:param dict_content: 可选,dict类型,未授权响应结果中自定义属性的值
:param model_content: 可选BaseModel类型未授权响应结果中自定义属性的值
:return: 未授权响应结果
"""
result = {'code': HttpStatusConstant.FORBIDDEN, 'msg': msg}
@@ -155,6 +159,7 @@ class ResponseUtil:
) -> Response:
"""
错误响应方法
:param msg: 可选,自定义错误响应信息
:param data: 可选错误响应结果中属性为data的值
:param rows: 可选错误响应结果中属性为rows的值
@@ -181,6 +186,7 @@ class ResponseUtil:
def streaming(cls, *, data: Any = None):
"""
流式响应方法
:param data: 流式传输的内容
:return: 流式响应结果
"""

View File

@@ -10,6 +10,7 @@ class StringUtil:
def is_blank(cls, string: str) -> bool:
"""
校验字符串是否为''或全空格
:param string: 需要校验的字符串
:return: 校验结果
"""
@@ -28,6 +29,7 @@ class StringUtil:
def is_empty(cls, string) -> bool:
"""
校验字符串是否为''或None
:param string: 需要校验的字符串
:return: 校验结果
"""
@@ -37,6 +39,7 @@ class StringUtil:
def is_http(cls, link: str):
"""
判断是否为http(s)://开头
:param link: 链接
:return: 是否为http(s)://开头
"""

View File

@@ -29,6 +29,7 @@ def list_format_datetime(lst):
def format_datetime_dict_list(dicts):
"""
递归遍历嵌套字典,并将 datetime 值转换为字符串格式
:param dicts: 输入一个嵌套字典的列表
:return: 对目标列表中所有字典的datetime类型的属性格式化
"""

View File

@@ -14,15 +14,20 @@ class UploadUtil:
def generate_random_number(cls):
"""
生成3位数字构成的字符串
:return: 3位数字构成的字符串
"""
random_number = random.randint(1, 999)
return f'{random_number:03}'
@classmethod
def check_file_exists(cls, filepath):
def check_file_exists(cls, filepath: str):
"""
检查文件是否存在
:param filepath: 文件路径
:return: 校验结果
"""
return os.path.exists(filepath)
@@ -30,6 +35,9 @@ class UploadUtil:
def check_file_extension(cls, file: UploadFile):
"""
检查文件后缀是否合法
:param file: 文件对象
:return: 校验结果
"""
file_extension = file.filename.rsplit('.', 1)[-1]
if file_extension in UploadConfig.DEFAULT_ALLOWED_EXTENSION:
@@ -37,9 +45,12 @@ class UploadUtil:
return False
@classmethod
def check_file_timestamp(cls, filename):
def check_file_timestamp(cls, filename: str):
"""
校验文件时间戳是否合法
:param filename: 文件名称
:return: 校验结果
"""
timestamp = filename.rsplit('.', 1)[0].split('_')[-1].split(UploadConfig.UPLOAD_MACHINE)[0]
try:
@@ -49,18 +60,24 @@ class UploadUtil:
return False
@classmethod
def check_file_machine(cls, filename):
def check_file_machine(cls, filename: str):
"""
校验文件机器码是否合法
:param filename: 文件名称
:return: 校验结果
"""
if filename.rsplit('.', 1)[0][-4] == UploadConfig.UPLOAD_MACHINE:
return True
return False
@classmethod
def check_file_random_code(cls, filename):
def check_file_random_code(cls, filename: str):
"""
校验文件随机码是否合法
:param filename: 文件名称
:return: 校验结果
"""
valid_code_list = [f'{i:03}' for i in range(1, 999)]
if filename.rsplit('.', 1)[0][-3:] in valid_code_list:
@@ -68,9 +85,12 @@ class UploadUtil:
return False
@classmethod
def generate_file(cls, filepath):
def generate_file(cls, filepath: str):
"""
根据文件生成二进制数据
:param filepath: 文件路径
:yield: 二进制数据
"""
with open(filepath, 'rb') as response_file:
yield from response_file
@@ -79,5 +99,7 @@ class UploadUtil:
def delete_file(cls, filepath: str):
"""
根据文件路径删除对应文件
:param filepath: 文件路径
"""
os.remove(filepath)