fix: ReccoBeats audio features and OpenAI narrative generation

- Add reccobeats_id column to Track model for API mapping
- Fix ReccoBeats batch size limit (max 40 IDs per request)
- Extract spotify_id from href field in ReccoBeats responses
- Fix OpenAI API: remove unsupported temperature param, increase max_completion_tokens to 4000
- Add playlist/user management methods to spotify_client for future auto-playlist feature
This commit is contained in:
bnair123
2025-12-30 01:15:49 +04:00
parent 887e78bf47
commit fa28b98c1a
5 changed files with 241 additions and 11 deletions

View File

@@ -0,0 +1,25 @@
"""Add reccobeats_id column to tracks table
Revision ID: b2c3d4e5f6g7
Revises: a1b2c3d4e5f6
Create Date: 2025-12-30
"""
from alembic import op
import sqlalchemy as sa
revision = "b2c3d4e5f6g7"
down_revision = "a1b2c3d4e5f6"
branch_labels = None
depends_on = None
def upgrade() -> None:
op.add_column("tracks", sa.Column("reccobeats_id", sa.String(), nullable=True))
op.create_index("ix_tracks_reccobeats_id", "tracks", ["reccobeats_id"])
def downgrade() -> None:
op.drop_index("ix_tracks_reccobeats_id", "tracks")
op.drop_column("tracks", "reccobeats_id")