David 5 ヶ月 前
コミット
89c9b8fef8
2 ファイル変更21 行追加19 行削除
  1. 1 1
      common/logs.py
  2. 20 18
      data_processing/data_operation/data_nwp_ftp.py

+ 1 - 1
common/logs.py

@@ -147,7 +147,7 @@ class Log(object):
                   'CRITICAL': logging.CRITICAL}
 
         # 必须设置,这里如果不显示设置,默认过滤掉warning之前的所有级别的信息
-        self.logger.setLevel(LEVELS['DEBUG'])
+        self.logger.setLevel(LEVELS['INFO'])
 
         # 仅为matplotlib设置更高的日志等级(ERROR)
         matplotlib_logger = logging.getLogger('matplotlib')

+ 20 - 18
data_processing/data_operation/data_nwp_ftp.py

@@ -92,29 +92,31 @@ def download_zip_files_from_ftp(moment=None):
     ftp_host, ftp_user, ftp_password, remote_dir, local_dir = ftp_params[host]['host'], ftp_params[host]['user'], ftp_params[host]['password'], ftp_params[host]['remote_dir'], ftp_params['xxl']['local_dir']
     zip_extension = f'meteoforce_{date}{str(moment)}_*.zip'
     zip_file_path = []
-    if len(glob.glob(os.path.join(local_dir, zip_extension))) == 0:
-        # 连接到FTP服务器
-        with FTP(ftp_host) as ftp:
-            ftp.login(user=ftp_user, passwd=ftp_password)
+    # 连接到FTP服务器
+    with FTP(ftp_host) as ftp:
+        ftp.login(user=ftp_user, passwd=ftp_password)
 
-            # 切换到远程目录
-            ftp.cwd(remote_dir)
+        # 切换到远程目录
+        ftp.cwd(remote_dir)
 
-            # 获取远程目录中的文件和目录列表
-            files = ftp.nlst()
+        # 获取远程目录中的文件和目录列表
+        files = ftp.nlst()
 
-            # 遍历文件列表,找到ZIP文件并下载
-            for file_name in files:
-                if fnmatch.fnmatch(file_name, zip_extension):
-                    remote_file_path = os.path.join(remote_dir, file_name)
-                    local_file_path = os.path.join(local_dir, file_name)
+        # 遍历文件列表,找到ZIP文件并下载
+        for file_name in files:
+            if fnmatch.fnmatch(file_name, zip_extension):
+                remote_file_path = os.path.join(remote_dir, file_name)
+                local_file_path = os.path.join(local_dir, file_name)
 
-                    with open(local_file_path, 'wb') as local_file:
-                        logger.info(f"Downloading {remote_file_path} to {local_file_path}")
-                        ftp.retrbinary(f'RETR {remote_file_path}', local_file.write)
+                if os.path.isfile(local_file_path):
+                    continue
 
-                    logger.info(f"Downloaded {file_name}")
-                    zip_file_path.append(local_file_path)
+                with open(local_file_path, 'wb') as local_file:
+                    logger.info(f"Downloading {remote_file_path} to {local_file_path}")
+                    ftp.retrbinary(f'RETR {remote_file_path}', local_file.write)
+
+                logger.info(f"Downloaded {file_name}")
+                zip_file_path.append(local_file_path)
     # 解压 ZIP 文件到临时目录
     for zip_file_p in zip_file_path:
         with zipfile.ZipFile(zip_file_p, 'r') as zip_ref: