Spaces:
Running
Running
Commit
·
857bebe
1
Parent(s):
fe51676
Update Dockerfile and application imports: modify PYTHONPATH in Dockerfile and run script to include additional app directory, enhance model imports in audiobook_routes.py and migrations/env.py, and add missing imports in main.py.
Browse files- Dockerfile +1 -1
- app/api/audiobook_routes.py +3 -1
- app/main.py +1 -0
- migrations/env.py +5 -9
- scripts/run.sh +3 -3
Dockerfile
CHANGED
@@ -6,7 +6,7 @@ ENV PYTHONUNBUFFERED=1 \
|
|
6 |
PYTHONDONTWRITEBYTECODE=1 \
|
7 |
PIP_NO_CACHE_DIR=1 \
|
8 |
PIP_DISABLE_PIP_VERSION_CHECK=1 \
|
9 |
-
PYTHONPATH=/app
|
10 |
|
11 |
# Create and set working directory
|
12 |
WORKDIR /app
|
|
|
6 |
PYTHONDONTWRITEBYTECODE=1 \
|
7 |
PIP_NO_CACHE_DIR=1 \
|
8 |
PIP_DISABLE_PIP_VERSION_CHECK=1 \
|
9 |
+
PYTHONPATH=/app:/app/app
|
10 |
|
11 |
# Create and set working directory
|
12 |
WORKDIR /app
|
app/api/audiobook_routes.py
CHANGED
@@ -3,13 +3,15 @@ Audiobook creation routes for the CSM-1B TTS API.
|
|
3 |
"""
|
4 |
import os
|
5 |
import uuid
|
|
|
|
|
6 |
import logging
|
7 |
from datetime import datetime
|
8 |
from typing import Optional, List
|
9 |
from fastapi import APIRouter, Request, HTTPException, BackgroundTasks, UploadFile, File, Form, Depends
|
10 |
from fastapi.responses import FileResponse, JSONResponse
|
11 |
from sqlalchemy.orm import Session
|
12 |
-
from app.models.database import Audiobook, AudiobookStatus, AudiobookChunk
|
13 |
from app.services.storage import storage
|
14 |
from app.db import get_db
|
15 |
import torchaudio
|
|
|
3 |
"""
|
4 |
import os
|
5 |
import uuid
|
6 |
+
import json
|
7 |
+
import shutil
|
8 |
import logging
|
9 |
from datetime import datetime
|
10 |
from typing import Optional, List
|
11 |
from fastapi import APIRouter, Request, HTTPException, BackgroundTasks, UploadFile, File, Form, Depends
|
12 |
from fastapi.responses import FileResponse, JSONResponse
|
13 |
from sqlalchemy.orm import Session
|
14 |
+
from app.app.models.database import Audiobook, AudiobookStatus, AudiobookChunk, TextChunk
|
15 |
from app.services.storage import storage
|
16 |
from app.db import get_db
|
17 |
import torchaudio
|
app/main.py
CHANGED
@@ -18,6 +18,7 @@ from fastapi.middleware.cors import CORSMiddleware
|
|
18 |
from fastapi.responses import RedirectResponse, FileResponse
|
19 |
from fastapi.staticfiles import StaticFiles
|
20 |
from app.api.routes import router as api_router
|
|
|
21 |
|
22 |
# Setup logging
|
23 |
os.makedirs("logs", exist_ok=True)
|
|
|
18 |
from fastapi.responses import RedirectResponse, FileResponse
|
19 |
from fastapi.staticfiles import StaticFiles
|
20 |
from app.api.routes import router as api_router
|
21 |
+
from app.app.models.database import Base, get_db
|
22 |
|
23 |
# Setup logging
|
24 |
os.makedirs("logs", exist_ok=True)
|
migrations/env.py
CHANGED
@@ -14,16 +14,12 @@ if app_dir not in sys.path:
|
|
14 |
|
15 |
# Import your models here
|
16 |
try:
|
17 |
-
from app.models import Base, Audiobook, TextChunk, AudiobookStatus
|
18 |
except ImportError as e:
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
raise Exception(
|
24 |
-
f"Failed to import models. PYTHONPATH: {os.environ.get('PYTHONPATH')}, "
|
25 |
-
f"sys.path: {sys.path}, Error: {str(e)}, Secondary error: {str(e2)}"
|
26 |
-
)
|
27 |
|
28 |
# this is the Alembic Config object
|
29 |
config = context.config
|
|
|
14 |
|
15 |
# Import your models here
|
16 |
try:
|
17 |
+
from app.app.models.database import Base, Audiobook, TextChunk, AudiobookStatus
|
18 |
except ImportError as e:
|
19 |
+
raise Exception(
|
20 |
+
f"Failed to import models. PYTHONPATH: {os.environ.get('PYTHONPATH')}, "
|
21 |
+
f"sys.path: {sys.path}, Error: {str(e)}"
|
22 |
+
)
|
|
|
|
|
|
|
|
|
23 |
|
24 |
# this is the Alembic Config object
|
25 |
config = context.config
|
scripts/run.sh
CHANGED
@@ -8,8 +8,8 @@ export WORKERS=${WORKERS:-1}
|
|
8 |
export LOG_LEVEL=${LOG_LEVEL:-"info"}
|
9 |
export DATABASE_URL=${DATABASE_URL:-"sqlite:///app/storage/audiobooks.db"}
|
10 |
|
11 |
-
# Set Python path to include
|
12 |
-
export PYTHONPATH="/app:${PYTHONPATH:-}"
|
13 |
|
14 |
# Create storage directories if they don't exist
|
15 |
mkdir -p /app/storage/audio
|
@@ -50,7 +50,7 @@ fi
|
|
50 |
|
51 |
# Run database migrations
|
52 |
echo "Running database migrations..."
|
53 |
-
PYTHONPATH="/app:${PYTHONPATH:-}" alembic upgrade head || {
|
54 |
echo "Warning: Database migration failed. This might be expected for first run."
|
55 |
echo "Continuing with application startup..."
|
56 |
}
|
|
|
8 |
export LOG_LEVEL=${LOG_LEVEL:-"info"}
|
9 |
export DATABASE_URL=${DATABASE_URL:-"sqlite:///app/storage/audiobooks.db"}
|
10 |
|
11 |
+
# Set Python path to include both app directories
|
12 |
+
export PYTHONPATH="/app:/app/app:${PYTHONPATH:-}"
|
13 |
|
14 |
# Create storage directories if they don't exist
|
15 |
mkdir -p /app/storage/audio
|
|
|
50 |
|
51 |
# Run database migrations
|
52 |
echo "Running database migrations..."
|
53 |
+
PYTHONPATH="/app:/app/app:${PYTHONPATH:-}" alembic upgrade head || {
|
54 |
echo "Warning: Database migration failed. This might be expected for first run."
|
55 |
echo "Continuing with application startup..."
|
56 |
}
|