Compare commits
2 Commits
69cdc7567d
...
502feea035
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
502feea035 | ||
|
|
5fdc7aae85 |
@@ -9,28 +9,28 @@ on:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
# lint:
|
||||
# runs-on: ubuntu-latest
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
# steps:
|
||||
# - name: Checkout code
|
||||
# uses: actions/checkout@v4
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# - name: "Set up python"
|
||||
# uses: actions/setup-python@v5
|
||||
# with:
|
||||
# python-version-file: "pyproject.toml"
|
||||
- name: "Set up python"
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version-file: "pyproject.toml"
|
||||
|
||||
# - name: Install uv
|
||||
# uses: astral-sh/setup-uv@v6
|
||||
# with:
|
||||
# enable-cache: true
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v6
|
||||
with:
|
||||
enable-cache: true
|
||||
|
||||
# - name: Install requirements
|
||||
# run: uv sync --locked --all-extras --dev
|
||||
- name: Install requirements
|
||||
run: uv sync --locked --all-extras --dev
|
||||
|
||||
# - name: Run linter
|
||||
# run: uv run ruff check
|
||||
- name: Run linter
|
||||
run: uv run ruff check --exclude tests
|
||||
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
@@ -45,7 +45,7 @@ async def lifespan(_app: FastAPI) -> AsyncGenerator[None, None]:
|
||||
logger.info("Extraction processor stopped")
|
||||
|
||||
|
||||
def create_app():
|
||||
def create_app() -> FastAPI:
|
||||
"""Create and configure the FastAPI application."""
|
||||
app = FastAPI(lifespan=lifespan)
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ class PlaylistService:
|
||||
# Fallback to main playlist if no current playlist is set
|
||||
return await self.get_main_playlist()
|
||||
|
||||
async def create_playlist(
|
||||
async def create_playlist( # noqa: PLR0913
|
||||
self,
|
||||
user_id: int,
|
||||
name: str,
|
||||
@@ -101,7 +101,7 @@ class PlaylistService:
|
||||
logger.info("Created playlist '%s' for user %s", name, user_id)
|
||||
return playlist
|
||||
|
||||
async def update_playlist(
|
||||
async def update_playlist( # noqa: PLR0913
|
||||
self,
|
||||
playlist_id: int,
|
||||
user_id: int,
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
"""Sound normalizer service for normalizing audio files using ffmpeg loudnorm."""
|
||||
|
||||
import asyncio
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
@@ -138,7 +139,9 @@ class SoundNormalizerService:
|
||||
stream = ffmpeg.output(stream, str(output_path), **output_args)
|
||||
stream = ffmpeg.overwrite_output(stream)
|
||||
|
||||
ffmpeg.run(stream, quiet=True, overwrite_output=True)
|
||||
await asyncio.to_thread(
|
||||
ffmpeg.run, stream, quiet=True, overwrite_output=True,
|
||||
)
|
||||
logger.info("One-pass normalization completed: %s", output_path)
|
||||
|
||||
except Exception:
|
||||
@@ -176,7 +179,9 @@ class SoundNormalizerService:
|
||||
|
||||
# Run first pass and capture output
|
||||
try:
|
||||
result = ffmpeg.run(stream, capture_stderr=True, quiet=True)
|
||||
result = await asyncio.to_thread(
|
||||
ffmpeg.run, stream, capture_stderr=True, quiet=True,
|
||||
)
|
||||
analysis_output = result[1].decode("utf-8")
|
||||
except ffmpeg.Error as e:
|
||||
logger.exception(
|
||||
@@ -256,7 +261,9 @@ class SoundNormalizerService:
|
||||
stream = ffmpeg.overwrite_output(stream)
|
||||
|
||||
try:
|
||||
ffmpeg.run(stream, quiet=True, overwrite_output=True)
|
||||
await asyncio.to_thread(
|
||||
ffmpeg.run, stream, quiet=True, overwrite_output=True,
|
||||
)
|
||||
logger.info("Two-pass normalization completed: %s", output_path)
|
||||
except ffmpeg.Error as e:
|
||||
logger.exception(
|
||||
|
||||
Reference in New Issue
Block a user