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 |   44 +++++++++++++++++++++++++++++++++++++++++++-
 label_studio/data_export/mixins.py |    2 +-
 2 files changed, 44 insertions(+), 2 deletions(-)

diff --git a/label_studio/data_export/mixins.py b/label_studio/data_export/mixins.py
index 6406a25..d41e521 100644
--- a/label_studio/data_export/mixins.py
+++ b/label_studio/data_export/mixins.py
@@ -352,7 +352,7 @@
             converter = Converter(
                 config=self.project.get_parsed_config(),
                 project_dir=None,
-                upload_dir=os.getenv('LS_UPLOAD_DIR', '/data'),  # 优先使用环境变量
+                upload_dir=os.path.join(settings.MEDIA_ROOT, settings.UPLOAD_DIR),
                 download_resources=download_resources,
                 # for downloading resource we need access to the API
                 access_token=self.project.organization.created_by.auth_token.key,
diff --git a/label_studio/data_export/models.py b/label_studio/data_export/models.py
index ab238df..50a3518 100644
--- a/label_studio/data_export/models.py
+++ b/label_studio/data_export/models.py
@@ -156,16 +156,58 @@
 
         input_json = DataExport.save_export_files(project, now, get_args, data, md5, name)
 
+        upload_dir = os.path.join(settings.MEDIA_ROOT, settings.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):
+            subdirs = os.listdir(upload_dir)
+            logger.error(f'[COCO DEBUG] upload_dir contents: {subdirs}')
+
         converter = Converter(
             config=project.get_parsed_config(),
             project_dir=None,
-            upload_dir=os.getenv('LS_UPLOAD_DIR', '/data'),  # 优先使用环境变量
+            upload_dir=upload_dir,
             download_resources=download_resources,
             access_token=project.organization.created_by.auth_token.key,
             hostname=hostname,
         )
+        
+        logger.error(f'[COCO DEBUG] Converter initialized')
+        
         with get_temp_dir() as tmp_dir:
+            logger.error(f'[COCO DEBUG] Calling converter.convert...')
+            
             converter.convert(input_json, tmp_dir, output_format, is_dir=False)
+            
+            logger.error(f'[COCO DEBUG] Converter.convert completed')
+            
+            # 检查输出
+            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'[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('[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:

--
Gitblit v1.9.3