From bc6aa38242b0a7dea4b18bc90e2d78740436a58b Mon Sep 17 00:00:00 2001
From: Bin <bin.zheng@slooong.com>
Date: 星期三, 17 十二月 2025 14:40:29 +0800
Subject: [PATCH] 图片路径测试

---
 label_studio/data_export/models.py |   66 +++++++++++++++-----------------
 1 files changed, 31 insertions(+), 35 deletions(-)

diff --git a/label_studio/data_export/models.py b/label_studio/data_export/models.py
index 864ca46..50a3518 100644
--- a/label_studio/data_export/models.py
+++ b/label_studio/data_export/models.py
@@ -158,25 +158,21 @@
 
         upload_dir = os.path.join(settings.MEDIA_ROOT, settings.UPLOAD_DIR)
         
-        # 调试日志
-        logger.error(f'[Generate Export Debug] ========== Generate Export Started ==========')
-        logger.error(f'[Generate Export Debug] Project ID: {project.id}')
-        logger.error(f'[Generate Export Debug] Output format: {output_format}')
-        logger.error(f'[Generate Export Debug] download_resources: {download_resources}')
-        logger.error(f'[Generate Export Debug] hostname: {hostname}')
-        logger.error(f'[Generate Export Debug] upload_dir: {upload_dir}')
-        logger.error(f'[Generate Export Debug] upload_dir exists: {os.path.exists(upload_dir)}')
+        # ==== 详细调试日志 ====
+        logger.error('=' * 80)
+        logger.error('[COCO DEBUG] Starting COCO export')
+        logger.error(f'[COCO DEBUG] upload_dir: {upload_dir}')
+        logger.error(f'[COCO DEBUG] download_resources: {download_resources}')
+        logger.error(f'[COCO DEBUG] Task count: {len(tasks)}')
+        
+        # 打印前3个任务的数据
+        for i, task in enumerate(tasks[:3]):
+            logger.error(f'[COCO DEBUG] Task {i+1} data: {task.get("data")}')
+        
+        # 检查上传目录内容
         if os.path.exists(upload_dir):
-            try:
-                logger.error(f'[Generate Export Debug] upload_dir contents: {os.listdir(upload_dir)}')
-            except Exception as e:
-                logger.error(f'[Generate Export Debug] Error listing upload_dir: {e}')
-        logger.error(f'[Generate Export Debug] Task count: {len(tasks)}')
-        if tasks:
-            first_task = tasks[0]
-            logger.error(f'[Generate Export Debug] First task data: {first_task.get("data", {})}')
-        logger.error(f'[Generate Export Debug] settings.MEDIA_ROOT: {settings.MEDIA_ROOT}')
-        logger.error(f'[Generate Export Debug] settings.UPLOAD_DIR: {settings.UPLOAD_DIR}')
+            subdirs = os.listdir(upload_dir)
+            logger.error(f'[COCO DEBUG] upload_dir contents: {subdirs}')
 
         converter = Converter(
             config=project.get_parsed_config(),
@@ -187,27 +183,32 @@
             hostname=hostname,
         )
         
-        logger.error(f'[Generate Export Debug] Starting converter.convert...')
-        logger.error(f'[Generate Export Debug] input_json: {input_json}')
+        logger.error(f'[COCO DEBUG] Converter initialized')
         
         with get_temp_dir() as tmp_dir:
-            logger.error(f'[Generate Export Debug] tmp_dir: {tmp_dir}')
+            logger.error(f'[COCO DEBUG] Calling converter.convert...')
+            
             converter.convert(input_json, tmp_dir, output_format, is_dir=False)
-            logger.error(f'[Generate Export Debug] Converter.convert completed')
             
-            files = get_all_files_from_dir(tmp_dir)
-            logger.error(f'[Generate Export Debug] Output files: {files}')
-            logger.error(f'[Generate Export Debug] tmp_dir listing: {os.listdir(tmp_dir)}')
+            logger.error(f'[COCO DEBUG] Converter.convert completed')
             
-            # 检查 images 目录
+            # 检查输出
+            tmp_contents = os.listdir(tmp_dir)
+            logger.error(f'[COCO DEBUG] tmp_dir contents: {tmp_contents}')
+            
+            # 检查images目录
             images_dir = os.path.join(tmp_dir, 'images')
             if os.path.exists(images_dir):
-                image_files = os.listdir(images_dir)
-                logger.error(f'[Generate Export Debug] images/ directory exists with {len(image_files)} files')
-                logger.error(f'[Generate Export Debug] Image files: {image_files}')
+                image_files = os.listdir(images_dir)  
+                logger.error(f'[COCO DEBUG] images/ has {len(image_files)} files: {image_files}')
+                if len(image_files) == 0:
+                    logger.error('[COCO DEBUG] *** PROBLEM: images directory is EMPTY ***')
             else:
-                logger.error(f'[Generate Export Debug] images/ directory does NOT exist')
+                logger.error('[COCO DEBUG] *** PROBLEM: images/ directory DOES NOT EXIST ***')
             
+            logger.error('=' * 80)
+            
+            files = get_all_files_from_dir(tmp_dir)
             # if only one file is exported - no need to create archive
             if len(os.listdir(tmp_dir)) == 1:
                 output_file = files[0]
@@ -215,18 +216,13 @@
                 content_type = f'application/{ext}'
                 out = path_to_open_binary_file(output_file)
                 filename = name + os.path.splitext(output_file)[-1]
-                logger.error(f'[Generate Export Debug] Single file export: {filename}')
-                logger.error(f'[Generate Export Debug] ========== Generate Export Completed ==========')
                 return out, content_type, filename
 
             # otherwise pack output directory into archive
-            logger.error(f'[Generate Export Debug] Creating zip archive...')
             shutil.make_archive(tmp_dir, 'zip', tmp_dir)
             out = path_to_open_binary_file(os.path.abspath(tmp_dir + '.zip'))
             content_type = 'application/zip'
             filename = name + '.zip'
-            logger.error(f'[Generate Export Debug] Zip created: {filename}')
-            logger.error(f'[Generate Export Debug] ========== Generate Export Completed ==========')
             return out, content_type, filename
 
 

--
Gitblit v1.9.3