| | |
| | | |
| | | 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: |