jameszokah commited on
Commit
0caca00
Β·
1 Parent(s): 321ea93

Refactor application structure: update model import paths from 'app.model' to 'app.modelz' across multiple files for consistency, and introduce new database models in 'app.modelz.database' to enhance organization and clarity in the codebase.

Browse files
Dockerfile CHANGED
@@ -34,7 +34,7 @@ COPY . .
34
  # Debug: Show destination directory structure
35
  RUN echo "Contents of /app:" && ls -la /app && \
36
  echo "\nContents of /app/app:" && ls -la /app/app && \
37
- echo "\nContents of /app/app/model:" && ls -la app/app/model
38
 
39
  # Set up permissions
40
  RUN chmod +x /app/scripts/run.sh && \
 
34
  # Debug: Show destination directory structure
35
  RUN echo "Contents of /app:" && ls -la /app && \
36
  echo "\nContents of /app/app:" && ls -la /app/app && \
37
+ echo "\nContents of /app/app/modelz:" && ls -la app/app/modelz
38
 
39
  # Set up permissions
40
  RUN chmod +x /app/scripts/run.sh && \
alembic/env.py CHANGED
@@ -5,7 +5,7 @@ from sqlalchemy import pool
5
 
6
  from alembic import context
7
 
8
- from app.model.database import Base
9
  from app.config import get_settings
10
 
11
  # this is the Alembic Config object, which provides
 
5
 
6
  from alembic import context
7
 
8
+ from app.modelz.database import Base
9
  from app.config import get_settings
10
 
11
  # this is the Alembic Config object, which provides
app/api/audiobook_routes.py CHANGED
@@ -11,7 +11,7 @@ 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.model.database import Audiobook, AudiobookStatus, AudiobookChunk, TextChunk
15
  from app.services.storage import storage
16
  from app.db import get_db
17
  import torchaudio
 
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.modelz.database import Audiobook, AudiobookStatus, AudiobookChunk, TextChunk
15
  from app.services.storage import storage
16
  from app.db import get_db
17
  import torchaudio
app/api/routes.py CHANGED
@@ -16,7 +16,7 @@ import numpy as np
16
  from fastapi import APIRouter, Request, HTTPException, BackgroundTasks, Body, Response, Query
17
  from fastapi.responses import StreamingResponse
18
  from app.api.schemas import SpeechRequest, ResponseFormat, Voice
19
- from app.model import Segment
20
  from app.api.streaming import AudioChunker
21
  from app.prompt_engineering import split_into_segments
22
 
 
16
  from fastapi import APIRouter, Request, HTTPException, BackgroundTasks, Body, Response, Query
17
  from fastapi.responses import StreamingResponse
18
  from app.api.schemas import SpeechRequest, ResponseFormat, Voice
19
+ from app.modelz import Segment
20
  from app.api.streaming import AudioChunker
21
  from app.prompt_engineering import split_into_segments
22
 
app/api/streaming.py CHANGED
@@ -10,7 +10,7 @@ from fastapi import APIRouter, Request, HTTPException
10
  from fastapi.responses import StreamingResponse
11
  from app.api.schemas import SpeechRequest, ResponseFormat
12
  from app.prompt_engineering import split_into_segments
13
- from app.model import Segment
14
 
15
  logger = logging.getLogger(__name__)
16
  router = APIRouter()
 
10
  from fastapi.responses import StreamingResponse
11
  from app.api.schemas import SpeechRequest, ResponseFormat
12
  from app.prompt_engineering import split_into_segments
13
+ from app.modelz import Segment
14
 
15
  logger = logging.getLogger(__name__)
16
  router = APIRouter()
app/db.py CHANGED
@@ -2,7 +2,7 @@
2
  import os
3
  from sqlalchemy import create_engine
4
  from sqlalchemy.orm import sessionmaker
5
- from app.model.database import Base
6
 
7
  # Get database URL from environment or use SQLite as default
8
  DATABASE_URL = os.getenv(
 
2
  import os
3
  from sqlalchemy import create_engine
4
  from sqlalchemy.orm import sessionmaker
5
+ from app.modelz.database import Base
6
 
7
  # Get database URL from environment or use SQLite as default
8
  DATABASE_URL = os.getenv(
app/generator.py CHANGED
@@ -8,7 +8,7 @@ import os
8
  from huggingface_hub import hf_hub_download
9
  from transformers import AutoTokenizer
10
  from tokenizers.processors import TemplateProcessing
11
- from app.model import Segment
12
  from app.text_normalizer import clean_text_for_tts
13
  from app.text_normalizer import TextNormalizer
14
 
 
8
  from huggingface_hub import hf_hub_download
9
  from transformers import AutoTokenizer
10
  from tokenizers.processors import TemplateProcessing
11
+ from app.modelz import Segment
12
  from app.text_normalizer import clean_text_for_tts
13
  from app.text_normalizer import TextNormalizer
14
 
app/main.py CHANGED
@@ -18,7 +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
- from app.model.database import Base, get_db
22
 
23
  # Setup logging
24
  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.modelz.database import Base, get_db
22
 
23
  # Setup logging
24
  os.makedirs("logs", exist_ok=True)
app/{model β†’ modelz}/__init__.py RENAMED
@@ -1,5 +1,5 @@
1
  """Models package initialization."""
2
- from app.model.database import Base, Audiobook, AudiobookChunk, TextChunk, AudiobookStatus
3
 
4
  __all__ = [
5
  'Base',
 
1
  """Models package initialization."""
2
+ from app.modelz.database import Base, Audiobook, AudiobookChunk, TextChunk, AudiobookStatus
3
 
4
  __all__ = [
5
  'Base',
app/{model β†’ modelz}/database.py RENAMED
File without changes
app/voice_cloning.py CHANGED
@@ -21,7 +21,7 @@ import torchaudio
21
  from pydantic import BaseModel
22
  from fastapi import UploadFile
23
 
24
- from app.model import Segment
25
 
26
  # Set up logging
27
  logger = logging.getLogger(__name__)
 
21
  from pydantic import BaseModel
22
  from fastapi import UploadFile
23
 
24
+ from app.modelz import Segment
25
 
26
  # Set up logging
27
  logger = logging.getLogger(__name__)
app/voice_enhancement.py CHANGED
@@ -476,7 +476,7 @@ def get_voice_segments(voice_name: str, device: torch.device) -> List:
476
  Returns:
477
  List of context segments
478
  """
479
- from app.model import Segment
480
 
481
  if voice_name not in VOICE_PROFILES:
482
  logger.warning(f"Voice {voice_name} not found, defaulting to alloy")
 
476
  Returns:
477
  List of context segments
478
  """
479
+ from app.modelz import Segment
480
 
481
  if voice_name not in VOICE_PROFILES:
482
  logger.warning(f"Voice {voice_name} not found, defaulting to alloy")
app/voice_memory.py CHANGED
@@ -7,7 +7,7 @@ import random
7
  import logging
8
  from typing import Dict, List, Optional
9
  from dataclasses import dataclass
10
- from app.model import Segment
11
 
12
  # Setup logging
13
  logger = logging.getLogger(__name__)
 
7
  import logging
8
  from typing import Dict, List, Optional
9
  from dataclasses import dataclass
10
+ from app.modelz import Segment
11
 
12
  # Setup logging
13
  logger = logging.getLogger(__name__)
scripts/migrate.py CHANGED
@@ -21,13 +21,13 @@ logger = logging.getLogger(__name__)
21
  logger.info(f"Current directory: {os.getcwd()}")
22
  logger.info(f"Python Path (sys.path): {sys.path}")
23
 
24
- models_db_path = "/app/app/models/database.py"
25
  logger.info(f"Checking existence of {models_db_path}: {os.path.exists(models_db_path)}")
26
 
27
  try:
28
  # Direct import, assuming PYTHONPATH is correct
29
- from app.model.database import Base
30
- logger.info("Successfully imported Base from app.model.database")
31
  except ImportError as e:
32
  logger.error(f"Error importing Base: {e}")
33
  # Log directory contents for deeper debugging
@@ -43,12 +43,12 @@ except ImportError as e:
43
  logger.info(os.listdir("/app/app"))
44
  except Exception as list_err:
45
  logger.error(f"Could not list /app/app: {list_err}")
46
- logger.info("Contents of /app/app/models:")
47
- if os.path.exists("/app/app/models"):
48
  try:
49
- logger.info(os.listdir("/app/app/models"))
50
  except Exception as list_err:
51
- logger.error(f"Could not list /app/app/models: {list_err}")
52
  raise
53
 
54
  def run_migrations():
 
21
  logger.info(f"Current directory: {os.getcwd()}")
22
  logger.info(f"Python Path (sys.path): {sys.path}")
23
 
24
+ models_db_path = "/app/app/modelz/database.py"
25
  logger.info(f"Checking existence of {models_db_path}: {os.path.exists(models_db_path)}")
26
 
27
  try:
28
  # Direct import, assuming PYTHONPATH is correct
29
+ from app.modelz.database import Base
30
+ logger.info("Successfully imported Base from app.modelz.database")
31
  except ImportError as e:
32
  logger.error(f"Error importing Base: {e}")
33
  # Log directory contents for deeper debugging
 
43
  logger.info(os.listdir("/app/app"))
44
  except Exception as list_err:
45
  logger.error(f"Could not list /app/app: {list_err}")
46
+ logger.info("Contents of /app/app/modelz:")
47
+ if os.path.exists("/app/app/modelz"):
48
  try:
49
+ logger.info(os.listdir("/app/app/modelz"))
50
  except Exception as list_err:
51
+ logger.error(f"Could not list /app/app/modelz: {list_err}")
52
  raise
53
 
54
  def run_migrations():