From 2ff935f68d44e98e09d0d802cc6f83d4beceea34 Mon Sep 17 00:00:00 2001 From: "jinling.yang" Date: Wed, 26 Jun 2024 11:10:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=BC=96=E7=A8=8B=E5=8D=95?= =?UTF-8?q?=E4=B8=8B=E5=8F=91ftp=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_mrs_connect/controllers/controllers.py | 14 +++++++------- sf_mrs_connect/models/ftp_operate.py | 7 +++---- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/sf_mrs_connect/controllers/controllers.py b/sf_mrs_connect/controllers/controllers.py index 5b4250d8..ee2ef3e5 100644 --- a/sf_mrs_connect/controllers/controllers.py +++ b/sf_mrs_connect/controllers/controllers.py @@ -37,13 +37,13 @@ class Sf_Mrs_Connect(http.Controller): for file_name in files_r: file_path = os.path.join(program_path_tmp_r, file_name) os.remove(file_path) - download_state = request.env['sf.cnc.processing'].with_user( - request.env.ref("base.user_admin")).download_file_tmp( - ret['folder_name'], r) - if download_state == 0: - res['status'] = -2 - res['message'] = '编程单号为%s的CNC程序文件从FTP拉取失败' % (ret['programming_no']) - return json.JSONEncoder().encode(res) + download_state = request.env['sf.cnc.processing'].with_user( + request.env.ref("base.user_admin")).download_file_tmp( + ret['folder_name'], r) + if download_state == 0: + res['status'] = -2 + res['message'] = '编程单号为%s的CNC程序文件从FTP拉取失败' % (ret['programming_no']) + return json.JSONEncoder().encode(res) for production in productions: if not production.workorder_ids: production.product_id.model_processing_panel = ret['processing_panel'] diff --git a/sf_mrs_connect/models/ftp_operate.py b/sf_mrs_connect/models/ftp_operate.py index 8ac9a4b7..6d7d172c 100644 --- a/sf_mrs_connect/models/ftp_operate.py +++ b/sf_mrs_connect/models/ftp_operate.py @@ -32,11 +32,11 @@ class FtpController(): for directory in directories: if directory: # 检查目录是否存在 - if directory in ['NC']: + if (directory in ['NC']) or (directory not in ['home', 'ftp', 'ftp_root', 'NC']): self.ftp.cwd(directory) if directory not in ['home', 'ftp', 'ftp_root', 'NC']: # 切换到新的目录 - self.ftp.cwd(current_dir) + self.ftp.cwd(directory) return os.path.basename(path) except Exception as e: logging.error(f"Error checking file: {e}") @@ -60,14 +60,13 @@ class FtpController(): try: logging.info('FTP目录:%s' % target_dir) logging.info("进入FTP目录 ") - # self.ftp.cwd(target_dir) # 切换工作路径 - # logging.info('FTP目录:%s' % target_dir) remotenames = self.ftp.nlst() logging.info('FTP目录文件:%s' % remotenames) for file in remotenames: server = os.path.join(serverdir, file) if file.find(".pdf") != -1: self.download_file(server, file) + return True except: return False