diff --git a/.gitea/workflows/fix-black.yml b/.gitea/workflows/fix-black.yml new file mode 100644 index 000000000..4dfd6a584 --- /dev/null +++ b/.gitea/workflows/fix-black.yml @@ -0,0 +1,38 @@ +name: Fix Black + iSort Formatting + +on: + push: + branches: + - fix/black-format-render-adapter + +jobs: + fix-format: + runs-on: host + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + token: ${{ secrets.GITEA_TOKEN }} + + - name: Install and fix formatting + run: | + pip install black isort -q + + # Fix isort issues in the specific files + isort apps/worker/video_processing/render_adapter.py + isort apps/worker/video_processing/__init__.py + isort tests/unit/test_render_adapter.py + + # Also run black to be safe + black tests/unit/test_render_adapter.py + + git config user.name "CI Bot" + git config user.email "ci@xiaoxia.local" + git add -A + if git diff --cached --quiet; then + echo "No changes needed" + else + git commit -m "style: fix isort imports + black formatting" + git push origin fix/black-format-render-adapter + fi diff --git a/apps/worker/video_processing/__init__.py b/apps/worker/video_processing/__init__.py index 7012f2e1c..af9b6b47d 100755 --- a/apps/worker/video_processing/__init__.py +++ b/apps/worker/video_processing/__init__.py @@ -5,8 +5,8 @@ # 共享工具模块(供 editing_modes / generation / edit_plan_generation 等复用) from . import dedup_helpers, ffmpeg_utils, oss_helpers from .processor import VideoProcessor, VideoResult -from .unified_render_service import RenderResult, UnifiedRenderService from .render_adapter import RenderAdapter, RenderAdapterResult +from .unified_render_service import RenderResult, UnifiedRenderService __all__ = [ "VideoProcessor", diff --git a/apps/worker/video_processing/render_adapter.py b/apps/worker/video_processing/render_adapter.py index 8e0635391..69d517ac3 100755 --- a/apps/worker/video_processing/render_adapter.py +++ b/apps/worker/video_processing/render_adapter.py @@ -20,6 +20,11 @@ from pathlib import Path from typing import Any, Callable from sqlalchemy.orm import Session +from video_processing.oss_helpers import download_asset, upload_to_oss +from video_processing.unified_render_service import ( + RenderResult, + UnifiedRenderService, +) from packages.adapters.sqlalchemy_impl.edit_plan_clip_repository import ( SQLAlchemyEditPlanClipRepository, @@ -29,11 +34,6 @@ from packages.adapters.sqlalchemy_impl.edit_plan_repository import ( ) from packages.domain.edit_plan import EditPlan, EditPlanStatus from packages.domain.edit_plan_clip import EditPlanClip, EditPlanClipStatus -from video_processing.oss_helpers import download_asset, upload_to_oss -from video_processing.unified_render_service import ( - RenderResult, - UnifiedRenderService, -) logger = logging.getLogger(__name__) diff --git a/tests/unit/test_render_adapter.py b/tests/unit/test_render_adapter.py index 706075a4e..6f1e05a8e 100755 --- a/tests/unit/test_render_adapter.py +++ b/tests/unit/test_render_adapter.py @@ -13,7 +13,6 @@ from unittest.mock import MagicMock, patch import pytest from video_processing.render_adapter import RenderAdapter, RenderAdapterResult - # ── Fixtures ────────────────────────────────────────────────────────────────── @@ -243,6 +242,7 @@ class TestRenderPlan: @patch("video_processing.render_adapter.download_asset") def test_successful_render(self, mock_download, mock_render_cls, mock_upload, tmp_path): """完整渲染流程成功。""" + # 素材下载成功 def _fake_download(asset_id, local_path): local_path.parent.mkdir(parents=True, exist_ok=True) @@ -295,6 +295,7 @@ class TestRenderPlan: @patch("video_processing.render_adapter.download_asset") def test_progress_callback(self, mock_download, tmp_path): """进度回调被正确触发。""" + def _fake_download(asset_id, local_path): local_path.parent.mkdir(parents=True, exist_ok=True) local_path.write_bytes(b"fake data")