|
@@ -61,6 +61,11 @@ def _get_upload_data(data) -> pd.ExcelFile:
|
|
excel = pd.ExcelFile(file_path)
|
|
excel = pd.ExcelFile(file_path)
|
|
return excel
|
|
return excel
|
|
|
|
|
|
|
|
+def _get_upload_data_path(data) ->str:
|
|
|
|
+ base_dir = _get_base_dir(data)
|
|
|
|
+ save_path = os.path.join(base_dir, DATA_SUB_DIR)
|
|
|
|
+ file_path = _get_prefix_file(save_path, UPLOAD_DATA_PREFIX)
|
|
|
|
+ return file_path
|
|
|
|
|
|
def _get_node_func_dict(data) -> dict:
|
|
def _get_node_func_dict(data) -> dict:
|
|
node_func_dict_path = _get_save_path(data, BaseConfig.node_map_name)
|
|
node_func_dict_path = _get_save_path(data, BaseConfig.node_map_name)
|
|
@@ -95,7 +100,7 @@ def _get_save_path(data, file_name: str, sub_dir="", name_prefix=""):
|
|
|
|
|
|
def f_data_upload(data):
|
|
def f_data_upload(data):
|
|
if not _check_save_dir(data):
|
|
if not _check_save_dir(data):
|
|
- return
|
|
|
|
|
|
+ return None
|
|
file_data = engine.get(data, "file_data")
|
|
file_data = engine.get(data, "file_data")
|
|
data_path = _get_save_path(data, file_data.name, DATA_SUB_DIR, UPLOAD_DATA_PREFIX)
|
|
data_path = _get_save_path(data, file_data.name, DATA_SUB_DIR, UPLOAD_DATA_PREFIX)
|
|
shutil.copy(file_data.name, data_path)
|
|
shutil.copy(file_data.name, data_path)
|
|
@@ -105,7 +110,10 @@ def f_data_upload(data):
|
|
excel.close()
|
|
excel.close()
|
|
return {
|
|
return {
|
|
engine.get_elem_by_id("data_upload"): gr.update(value=df, visible=True),
|
|
engine.get_elem_by_id("data_upload"): gr.update(value=df, visible=True),
|
|
- engine.get_elem_by_id("sheet_name"): gr.update(choices=columns),
|
|
|
|
|
|
+ engine.get_elem_by_id("sheet_name"): gr.update(choices=columns, value=BaseConfig.flow_sheet_name),
|
|
|
|
+ engine.get_elem_by_id("download_demo"): gr.update(visible=False),
|
|
|
|
+ engine.get_elem_by_id("code_view"): gr.update(value=None, visible=False),
|
|
|
|
+ engine.get_elem_by_id("download_code"): gr.update(value=None, visible=False),
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -120,7 +128,7 @@ def f_get_sheet_data(data):
|
|
code = f_read_file(_get_save_path(data, node_func_dict[sheet_name]))
|
|
code = f_read_file(_get_save_path(data, node_func_dict[sheet_name]))
|
|
return {
|
|
return {
|
|
engine.get_elem_by_id("data_upload"): gr.update(value=df),
|
|
engine.get_elem_by_id("data_upload"): gr.update(value=df),
|
|
- engine.get_elem_by_id("code_view"): gr.update(value=code),
|
|
|
|
|
|
+ engine.get_elem_by_id("code_view"): gr.update(value=code, label=sheet_name),
|
|
}
|
|
}
|
|
|
|
|
|
return {
|
|
return {
|
|
@@ -145,6 +153,38 @@ def f_verify_param(data):
|
|
return True
|
|
return True
|
|
|
|
|
|
|
|
|
|
|
|
+def f_project_load(data):
|
|
|
|
+ project_name = engine.get(data, "project_name")
|
|
|
|
+ if project_name is None or len(project_name) == 0:
|
|
|
|
+ gr.Warning(message='项目名称不能为空', duration=5)
|
|
|
|
+ if os.path.exists(_get_base_dir(data)):
|
|
|
|
+ node_func_dict = _get_node_func_dict(data)
|
|
|
|
+ if node_func_dict is not None:
|
|
|
|
+ excel = _get_upload_data(data)
|
|
|
|
+ df = excel.parse(sheet_name=BaseConfig.flow_sheet_name)
|
|
|
|
+ columns = excel.sheet_names
|
|
|
|
+ excel.close()
|
|
|
|
+ code = f_read_file(_get_save_path(data, node_func_dict[BaseConfig.flow_sheet_name]))
|
|
|
|
+ code_zip_file_path = _get_save_path(data, BaseConfig.code_zip_name)
|
|
|
|
+ upload_data_path = _get_upload_data_path(data)
|
|
|
|
+ return {
|
|
|
|
+ engine.get_elem_by_id("data_upload"): gr.update(value=df, visible=True),
|
|
|
|
+ engine.get_elem_by_id("code_view"): gr.update(value=code, visible=True,
|
|
|
|
+ label=BaseConfig.flow_sheet_name),
|
|
|
|
+ engine.get_elem_by_id("sheet_name"): gr.update(choices=columns, value=BaseConfig.flow_sheet_name),
|
|
|
|
+ engine.get_elem_by_id("download_demo"): gr.update(visible=False),
|
|
|
|
+ engine.get_elem_by_id("download_code"): gr.update(value=code_zip_file_path, visible=True),
|
|
|
|
+ engine.get_elem_by_id("file_data"): gr.update(value=upload_data_path)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return {
|
|
|
|
+ engine.get_elem_by_id("data_upload"): gr.update(visible=False),
|
|
|
|
+ engine.get_elem_by_id("code_view"): gr.update(visible=False),
|
|
|
|
+ engine.get_elem_by_id("download_code"): gr.update(visible=False),
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
def f_code_generate(data, progress=gr.Progress(track_tqdm=True)):
|
|
def f_code_generate(data, progress=gr.Progress(track_tqdm=True)):
|
|
def _reset_component_state():
|
|
def _reset_component_state():
|
|
return {engine.get_elem_by_id("download_code"): gr.update(visible=False),
|
|
return {engine.get_elem_by_id("download_code"): gr.update(visible=False),
|
|
@@ -155,12 +195,13 @@ def f_code_generate(data, progress=gr.Progress(track_tqdm=True)):
|
|
|
|
|
|
all_param = engine.get_all(data)
|
|
all_param = engine.get_all(data)
|
|
|
|
|
|
- # 清空储存目录
|
|
|
|
- # _clean_base_dir(data)
|
|
|
|
# 校验参数
|
|
# 校验参数
|
|
if not f_verify_param(data):
|
|
if not f_verify_param(data):
|
|
yield _reset_component_state()
|
|
yield _reset_component_state()
|
|
|
|
|
|
|
|
+ # 清空储存目录
|
|
|
|
+ # _clean_base_dir(data)
|
|
|
|
+
|
|
yield _reset_component_state()
|
|
yield _reset_component_state()
|
|
|
|
|
|
progress(0.01)
|
|
progress(0.01)
|
|
@@ -190,5 +231,6 @@ def f_code_generate(data, progress=gr.Progress(track_tqdm=True)):
|
|
|
|
|
|
yield {engine.get_elem_by_id("generate_progress"): gr.update(value="生成完成"),
|
|
yield {engine.get_elem_by_id("generate_progress"): gr.update(value="生成完成"),
|
|
engine.get_elem_by_id("download_code"): gr.update(value=code_zip_file_path, visible=True),
|
|
engine.get_elem_by_id("download_code"): gr.update(value=code_zip_file_path, visible=True),
|
|
- engine.get_elem_by_id("code_view"): gr.update(value=flow_code, visible=True),
|
|
|
|
|
|
+ engine.get_elem_by_id("code_view"): gr.update(value=flow_code, label=BaseConfig.flow_sheet_name,
|
|
|
|
+ visible=True),
|
|
}
|
|
}
|