Merge branch 'develop' of https://git.xiaoxiajianji.com/xiaoxia/xiaoxia-saas into develop
CI/CD Pipeline / Check if frontend-only change (push) Has been cancelled
CI/CD Pipeline / Validate - Code Quality (push) Has been cancelled
CI/CD Pipeline / Validate - Type Check (mypy) (push) Has been cancelled
CI/CD Pipeline / Validate - Migration (alembic) (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (push) Has been cancelled
CI/CD Pipeline / PR Build API Image (push) Has been cancelled
CI/CD Pipeline / PR Build Web Image (push) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (push) Has been cancelled
CI/CD Pipeline / Build Staging API Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
CI/CD Pipeline / Canary Release to Production (push) Has been cancelled

This commit is contained in:
2026-07-27 07:21:30 +08:00
5 changed files with 20 additions and 16 deletions
@@ -13,6 +13,8 @@ import logging
import subprocess
from pathlib import Path
from video_processing.ffmpeg_utils import FFMPEG_BIN, run_ffmpeg
from packages.domain.intro_outro_config import ( # noqa: F401 — 向后兼容
INTRO_OUTRO_TYPE_FOLLOW,
INTRO_OUTRO_TYPE_NONE,
@@ -21,7 +23,6 @@ from packages.domain.intro_outro_config import ( # noqa: F401 — 向后兼容
TRANSITION_FADE,
IntroOutroConfig,
)
from video_processing.ffmpeg_utils import FFMPEG_BIN, run_ffmpeg
logger = logging.getLogger(__name__)
@@ -19,20 +19,21 @@ import logging
from pathlib import Path
from typing import TYPE_CHECKING
from video_processing.ffmpeg_utils import FFMPEG_BIN, probe_duration, run_ffmpeg
from video_processing.path_security import PathSecurityError, is_in_allowed_dirs, safe_resolve_path
from packages.domain.audio_track_config import ( # noqa: F401 — 向后兼容
ALLOWED_AUDIO_EXTENSIONS,
DEFAULT_VOLUMES,
MAX_AUDIO_TRACKS,
AudioTrack,
MultiTrackMixConfig,
TRACK_TYPE_AMBIENT,
TRACK_TYPE_BGM,
TRACK_TYPE_MAIN,
TRACK_TYPE_SFX,
TRACK_TYPE_VOICEOVER,
AudioTrack,
MultiTrackMixConfig,
)
from video_processing.ffmpeg_utils import FFMPEG_BIN, probe_duration, run_ffmpeg
from video_processing.path_security import PathSecurityError, is_in_allowed_dirs, safe_resolve_path
if TYPE_CHECKING:
from video_processing.render_audio import RenderContext
+9 -8
View File
@@ -16,15 +16,15 @@ from __future__ import annotations
import logging
from pathlib import Path
from packages.domain.pip_config import ( # noqa: F401 — 向后兼容:保留模块级导出
# 向后兼容:POSITION_BOTTOM_CENTER 也从 pip_config 再导出
from packages.domain.pip_config import POSITION_BOTTOM_CENTER # noqa: E402, F401
from packages.domain.pip_config import (
ANIMATION_FADE,
ANIMATION_SCALE,
ANIMATION_SLIDE_BOTTOM,
ANIMATION_SLIDE_LEFT,
ANIMATION_SLIDE_RIGHT,
ANIMATION_SLIDE_TOP,
PiPConfig,
PiPLayerConfig,
POSITION_BOTTOM_LEFT,
POSITION_BOTTOM_RIGHT,
POSITION_CENTER,
@@ -33,12 +33,13 @@ from packages.domain.pip_config import ( # noqa: F401 — 向后兼容:保留
POSITION_TOP_CENTER,
POSITION_TOP_LEFT,
POSITION_TOP_RIGHT,
calculate_pip_position as _calculate_pip_position_base,
parse_size_value as _parse_size_value_base,
PiPConfig,
PiPLayerConfig,
)
# 向后兼容:POSITION_BOTTOM_CENTER 也从 pip_config 再导出
from packages.domain.pip_config import POSITION_BOTTOM_CENTER # noqa: E402, F401
from packages.domain.pip_config import ( # noqa: F401 — 向后兼容:保留模块级导出
calculate_pip_position as _calculate_pip_position_base,
)
from packages.domain.pip_config import parse_size_value as _parse_size_value_base
logger = logging.getLogger(__name__)
@@ -13,6 +13,8 @@ from __future__ import annotations
import logging
from video_processing.ffmpeg_utils import build_xfade_filter_chain
from packages.domain.transition_config import ( # noqa: F401 — 向后兼容
CUT_TRANSITION,
DEFAULT_TRANSITION_DURATION,
@@ -21,7 +23,6 @@ from packages.domain.transition_config import ( # noqa: F401 — 向后兼容
TransitionConfig,
TransitionType,
)
from video_processing.ffmpeg_utils import build_xfade_filter_chain
logger = logging.getLogger(__name__)
+2 -2
View File
@@ -8,13 +8,13 @@ from packages.domain.audio_track_config import (
ALLOWED_AUDIO_EXTENSIONS,
DEFAULT_VOLUMES,
MAX_AUDIO_TRACKS,
AudioTrack,
MultiTrackMixConfig,
TRACK_TYPE_AMBIENT,
TRACK_TYPE_BGM,
TRACK_TYPE_MAIN,
TRACK_TYPE_SFX,
TRACK_TYPE_VOICEOVER,
AudioTrack,
MultiTrackMixConfig,
clamp_volume,
is_valid_audio_extension,
)