Accept Merge Request #2064: (feature/6694 -> develop)

Merge Request: 增加传输文件列表返回

Created By: @胡尧
Accepted By: @胡尧
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/2064?initial=true
This commit is contained in:
胡尧
2025-04-25 14:05:10 +08:00
committed by Coding
2 changed files with 8 additions and 8 deletions

View File

@@ -1,7 +1,7 @@
import json import json
from odoo import http from odoo import http
from odoo.http import request from odoo.http import request
from odoo.addons.sf_machine_connect.models.ftp_operate import transfer_nc_files from odoo.addons.sf_machine_connect.models.ftp_operate import transfer_files
from odoo.addons.sf_base.decorators.api_log import api_log from odoo.addons.sf_base.decorators.api_log import api_log
class MainController(http.Controller): class MainController(http.Controller):
@@ -54,15 +54,15 @@ class MainController(http.Controller):
} }
# 传输nc文件 # 传输nc文件
try: try:
result = transfer_nc_files( result = transfer_files(
source_ftp_info, source_ftp_info,
target_ftp_info, target_ftp_info,
'/' + str(model_id), '/' + str(model_id),
'/', '/',
match_str=r'^\d*_\d*-' + tool_groups_id.name + r'-\w{2}-all\.nc$' match_str=r'^\d*_\d*-' + tool_groups_id.name + r'-\w{2}-all\.nc$'
) )
if result: if len(result) > 0:
return {'code': 200, 'message': 'success'} return {'code': 200, 'message': '传输成功', 'file_list': result}
else: else:
return {'code': 404, 'message': '未找到编程文件'} return {'code': 404, 'message': '未找到编程文件'}
except Exception as e: except Exception as e:

View File

@@ -133,7 +133,7 @@ class FtpController:
def transfer_nc_files( def transfer_files(
source_ftp_info, source_ftp_info,
target_ftp_info, target_ftp_info,
source_dir, source_dir,
@@ -151,7 +151,7 @@ def transfer_nc_files(
target_dir: str, 目标FTP上的目标目录 target_dir: str, 目标FTP上的目标目录
keep_dir: bool, 是否保持目录结构,默认False keep_dir: bool, 是否保持目录结构,默认False
""" """
trans_status = [False] transfered_file_list = []
try: try:
# 连接源FTP # 连接源FTP
source_ftp = FtpController( source_ftp = FtpController(
@@ -217,7 +217,7 @@ def transfer_nc_files(
with open(temp_path, 'rb') as f: with open(temp_path, 'rb') as f:
target_ftp.ftp.storbinary(f'STOR {target_path}', f) target_ftp.ftp.storbinary(f'STOR {target_path}', f)
trans_status[0] = True transfered_file_list.append(item)
# 删除临时文件 # 删除临时文件
os.remove(temp_path) os.remove(temp_path)
logging.info(f"已传输文件: {item}") logging.info(f"已传输文件: {item}")
@@ -259,7 +259,7 @@ def transfer_nc_files(
traverse_dir(source_dir) traverse_dir(source_dir)
logging.info("所有文件传输完成") logging.info("所有文件传输完成")
return trans_status[0] return transfered_file_list
except Exception as e: except Exception as e:
logging.error(f"传输过程出错: {str(e)}") logging.error(f"传输过程出错: {str(e)}")