update 文件生成器路径优化

This commit is contained in:
P3ngSaM 2022-08-02 15:53:13 +08:00
parent 7310982f43
commit 84147a4a58
3 changed files with 82 additions and 24 deletions

View File

@ -1,3 +1,5 @@
import os
from Utils.ObjUtil import SpecObject
from Utils.ValidateUtil import ValidateAttr
@ -6,7 +8,15 @@ class FileObjImpl(object):
"""对象文件创建"""
@staticmethod
def new_file_obj(**kwargs):
def get_project_abs_path(**kwargs):
file_abs_path = os.path.abspath(os.path.dirname(__file__))
project_abs_path = file_abs_path[:file_abs_path.find('wide_rating') + len('wide_rating')]
name = kwargs['name']
pdf_relative_path = '/Modules/File/static/{}'.format(name)
pdf_abs_path = os.path.abspath(project_abs_path + pdf_relative_path)
return pdf_abs_path
def new_file_obj(self, **kwargs):
"""
新建对象文件
1.根据参数动态创建class类
@ -15,8 +25,9 @@ class FileObjImpl(object):
data = kwargs['data']
name = data['class_name']
file_name = '{}.py'.format(name)
parameter = data['parameter']
filename = './Modules/File/static/{}.py'.format(name)
filename = self.get_project_abs_path(name=file_name)
with open(filename, 'w', encoding="utf-8") as f:
f.write('from Utils.ObjUtil import SpecObject')

View File

@ -1,6 +1,6 @@
import time
from Modules.Filters.FiltersObj import FiltersObj, DataBaseRange, DataSheetRange, FieldRange, SubFieldRange
from Modules.Filters.FiltersObj import FiltersObj, DataBaseRange, DataSheetRange, FieldRange, SubFieldRange, data_base
from Modules.Filters.FiltersUtils import FilterUtils
from DBHelper.MongoHelperInstance import DB_TEST
@ -59,7 +59,8 @@ class FilterImpl(object):
)
return '新建成功'
def eidt_filter(self, **kwargs):
@staticmethod
def eidt_filter(**kwargs):
"""编辑筛选器"""
data = kwargs['data']
@ -83,13 +84,36 @@ class FilterImpl(object):
if data['filter_name'] != case1 and data['filter_name'] in case2:
return '筛选器名称已存在'
verify_result = self.verify_data(data['filter_range'])
if verify_result == '校验通过':
filters = FiltersObj()
filters.filter_id = data['filter_id']
filters.filter_name = data['filter_name']
filters.filter_range = data['filter_range']
filters.date = time.strftime("%Y-%m-%d", time.localtime())
# 处理筛选范围
filters.filter_range = list()
for base in data['filter_range']:
# 数据库名称
database = DataBaseRange()
database.value = base['value']
if len(base['choices']):
database.choices = list()
for sheet in base['choices']:
# 数据表名称
datasheet = DataSheetRange()
datasheet.value = sheet['value']
if len(sheet['choices']):
datasheet.choices = list()
for field in sheet['choices']:
datafield = FieldRange()
datafield.value = field['value']
if 'choices' in field and len(field['choices']):
datafield.choices = list()
for sub in field['choices']:
subfiled = SubFieldRange()
subfiled.value = sub['value']
datafield.choices.append(subfiled)
datasheet.choices.append(datafield)
database.choices.append(datasheet)
filters.filter_range.append(database)
DB_TEST.update_single_data(
'模型数据',
@ -97,9 +121,7 @@ class FilterImpl(object):
{'筛选器ID': data['filter_id']},
filters.fields_toggle()
)
return '修改成功'
else:
return verify_result
return '编辑成功'
@staticmethod
def delete_filter(**kwargs):
@ -157,7 +179,29 @@ class FilterImpl(object):
record_dict['filter_name'] = record['筛选器名称']
if '筛选器ID' in record:
record_dict['filter_id'] = record['筛选器ID']
record_dict['filter_range'] = record['筛选范围']
record_dict['filter_range'] = list()
for base in record['筛选范围']:
base_dict = dict()
base_dict['value'] = base['数据库名称']
if len(base['选择范围']):
base_dict['choices'] = list()
for sheet in base['选择范围']:
sheet_dict = dict()
sheet_dict['value'] = sheet['数据集名称']
if '选择范围' in sheet['选择范围'] and len(sheet['选择范围']):
sheet_dict['choices'] = list()
for field in sheet['选择范围']:
field_dict = dict()
field_dict['value'] = field['字段名称']
if '选择范围' in field and len(field['选择范围']):
field_dict['choices'] = list()
for sub in field['选择范围']:
sub_dict = dict()
sub_dict['value'] = sub['子字段名称']
field_dict['choices'].append(sub_dict)
sheet_dict['choices'].append(field_dict)
base_dict['choices'].append(sheet_dict)
record_dict['filter_range'].append(base_dict)
record_dict['date'] = record['创建日期']
record_list.append(record_dict)
@ -168,7 +212,8 @@ class FilterImpl(object):
return result
def search_db_gather(self, **kwargs):
@staticmethod
def search_db_gather(**kwargs):
"""查询数据库所有集合名"""
db_name = kwargs['db_name']
if len(db_name):
@ -179,7 +224,7 @@ class FilterImpl(object):
records = DB_TEST.find_database_all_gather(db_name)
return_list = list()
for record in records:
if record in self.filter_list:
if record in data_base:
return_list.append(record)
return return_list

View File

@ -30,9 +30,11 @@ def edit_filter_route():
data = request.json
impl = FilterImpl()
result = impl.eidt_filter(data=data)
return {"info": "新建筛选器", "result": result}, 200
return {"info": "编辑筛选器", "result": result}, 200
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
except AttrCheckError as e:
return {"info": e.__str__()}
@filters_route.route('/delete', methods=['GET'])