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:
@@ -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:
|
||||||
|
|||||||
@@ -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)}")
|
||||||
|
|||||||
Reference in New Issue
Block a user