From 7ac1560c15eecb4f4cbba7c6f00893146d2b1d0c Mon Sep 17 00:00:00 2001 From: han0 Date: Thu, 23 Feb 2023 15:26:38 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=20file/params?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nc_http/tools/helpers/file.py | 15 +++++++++++++++ nc_http/tools/helpers/params.py | 23 +++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 nc_http/tools/helpers/file.py create mode 100644 nc_http/tools/helpers/params.py diff --git a/nc_http/tools/helpers/file.py b/nc_http/tools/helpers/file.py new file mode 100644 index 0000000..202215e --- /dev/null +++ b/nc_http/tools/helpers/file.py @@ -0,0 +1,15 @@ +import os +import time + + +def save_file(f, clip=None, root=None): + clip = clip or '' + clip_path = os.path.join(root, clip, str(int(time.time()))) + if not os.path.exists(clip_path): + os.makedirs(clip_path) + + file_path = os.path.join(clip_path, f.filename) + with open(file_path, 'wb+') as tmp_f: + tmp_f.write(f.read()) + + return file_path diff --git a/nc_http/tools/helpers/params.py b/nc_http/tools/helpers/params.py new file mode 100644 index 0000000..5a9c9e4 --- /dev/null +++ b/nc_http/tools/helpers/params.py @@ -0,0 +1,23 @@ +def filter_fields(data, valid_fields): + """ + 过滤字段 + :param data: + :param valid_fields: 格式['field1', 'field2', 'field3', {'field4': ['sub_field1', 'sub_field2']}] + :return: + """ + if isinstance(data, list): + tmp = [] + for item in data: + tmp.append(filter_fields(item, valid_fields)) + format_data = tmp + else: + format_data = {} + for field in valid_fields: + if isinstance(field, dict): + for key, sub_valid_fields in field.items(): + if isinstance(sub_valid_fields, list) and key in data: + format_data[key] = filter_fields(data[key], sub_valid_fields) + else: + if field in data: + format_data[field] = data[field] + return format_data