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