Skip to content

Commit b6eca48

Browse files
committed
Code refactoring: Import depth cleaning
1 parent 8e189db commit b6eca48

6 files changed

Lines changed: 261 additions & 279 deletions

File tree

app.py

Lines changed: 51 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,6 @@
4646
resolve_jwt_secret,
4747
)
4848

49-
from app_provider_migration import migration_bp
50-
5149
from error import error_manager
5250
from error.error_manager import AudioMuseError
5351
from error.error_dictionary import UNKNOWN_ERROR_CODE
@@ -757,48 +755,57 @@ def listen_for_index_reloads():
757755

758756

759757

760-
# --- Import and Register Blueprints ---
761-
# This is the original, working structure.
762-
from app_chat import chat_bp
763-
from app_clustering import clustering_bp
764-
from app_analysis import analysis_bp
765-
from app_cron import cron_bp, run_due_cron_jobs
766-
from app_voyager import voyager_bp
767-
from app_sonic_fingerprint import sonic_fingerprint_bp
768-
from app_path import path_bp
769-
from app_external import external_bp # --- NEW: Import the external blueprint ---
770-
from app_alchemy import alchemy_bp
771-
from app_map import map_bp
772-
from app_waveform import waveform_bp
773-
from app_artist_similarity import artist_similarity_bp
774-
from app_clap_search import clap_search_bp
775-
from app_lyrics import lyrics_search_bp
776-
from app_sem_grove import sem_grove_bp
777-
from app_backup import backup_bp
778-
from app_dashboard import dashboard_bp
779-
from app_users import users_bp
780-
from app_sync import sync_bp
781-
782-
app.register_blueprint(chat_bp, url_prefix='/chat')
783-
app.register_blueprint(clustering_bp)
784-
app.register_blueprint(analysis_bp)
785-
app.register_blueprint(cron_bp)
786-
app.register_blueprint(voyager_bp)
787-
app.register_blueprint(sonic_fingerprint_bp)
788-
app.register_blueprint(path_bp)
789-
app.register_blueprint(external_bp, url_prefix='/external') # --- NEW: Register the external blueprint ---
790-
app.register_blueprint(alchemy_bp)
791-
app.register_blueprint(map_bp)
792-
app.register_blueprint(waveform_bp)
793-
app.register_blueprint(artist_similarity_bp)
794-
app.register_blueprint(clap_search_bp)
795-
app.register_blueprint(lyrics_search_bp)
796-
app.register_blueprint(sem_grove_bp)
797-
app.register_blueprint(backup_bp)
798-
app.register_blueprint(migration_bp)
799-
app.register_blueprint(dashboard_bp)
800-
app.register_blueprint(users_bp)
801-
app.register_blueprint(sync_bp)
758+
# --- Blueprint Registration ---
759+
# Standard Flask factory pattern: blueprint imports are inside
760+
# this function so the eager import graph stays flat.
761+
from app_cron import run_due_cron_jobs
762+
763+
764+
def _register_blueprints(flask_app):
765+
from app_chat import chat_bp
766+
from app_clustering import clustering_bp
767+
from app_analysis import analysis_bp
768+
from app_cron import cron_bp
769+
from app_voyager import voyager_bp
770+
from app_sonic_fingerprint import sonic_fingerprint_bp
771+
from app_path import path_bp
772+
from app_external import external_bp
773+
from app_alchemy import alchemy_bp
774+
from app_map import map_bp
775+
from app_waveform import waveform_bp
776+
from app_artist_similarity import artist_similarity_bp
777+
from app_clap_search import clap_search_bp
778+
from app_lyrics import lyrics_search_bp
779+
from app_sem_grove import sem_grove_bp
780+
from app_backup import backup_bp
781+
from app_provider_migration import migration_bp
782+
from app_dashboard import dashboard_bp
783+
from app_users import users_bp
784+
from app_sync import sync_bp
785+
786+
flask_app.register_blueprint(chat_bp, url_prefix='/chat')
787+
flask_app.register_blueprint(clustering_bp)
788+
flask_app.register_blueprint(analysis_bp)
789+
flask_app.register_blueprint(cron_bp)
790+
flask_app.register_blueprint(voyager_bp)
791+
flask_app.register_blueprint(sonic_fingerprint_bp)
792+
flask_app.register_blueprint(path_bp)
793+
flask_app.register_blueprint(external_bp, url_prefix='/external')
794+
flask_app.register_blueprint(alchemy_bp)
795+
flask_app.register_blueprint(map_bp)
796+
flask_app.register_blueprint(waveform_bp)
797+
flask_app.register_blueprint(artist_similarity_bp)
798+
flask_app.register_blueprint(clap_search_bp)
799+
flask_app.register_blueprint(lyrics_search_bp)
800+
flask_app.register_blueprint(sem_grove_bp)
801+
flask_app.register_blueprint(backup_bp)
802+
flask_app.register_blueprint(migration_bp)
803+
flask_app.register_blueprint(dashboard_bp)
804+
flask_app.register_blueprint(users_bp)
805+
flask_app.register_blueprint(sync_bp)
806+
807+
808+
_register_blueprints(app)
802809

803810
# --- Startup: Load indexes and caches (Flask server only, NOT RQ workers) ---
804811
# RQ workers import app.py but should NOT load indexes or start background threads.

tasks/ai/api.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
from tasks.ai.providers import (
3939
gemini as ai_api_gemini,
4040
mistral as ai_api_mistral,
41-
ollama as ai_api_ollama,
4241
openai as ai_api_openai,
4342
)
4443
from tasks.ai.prompts import build_mcp_system_prompt
@@ -174,10 +173,11 @@ def generate_text(prompt: str, ai_config: Dict, *, skip_delay: bool = False,
174173
if provider == "NONE":
175174
return "AI Naming Skipped"
176175
if provider == "OLLAMA":
177-
return ai_api_ollama.generate_text(
176+
return ai_api_openai.generate_text(
178177
ai_config["ollama_url"],
179178
ai_config["ollama_model"],
180179
prompt,
180+
api_key="no-key-needed",
181181
skip_delay=skip_delay,
182182
temperature=temperature,
183183
max_tokens=max_tokens,
@@ -250,7 +250,7 @@ def call_with_tools(
250250
if provider == "OLLAMA":
251251
# Ollama builds its own JSON-output prompt internally; system_prompt is
252252
# ignored because the Ollama prompt contains the system text already.
253-
return ai_api_ollama.call_with_tools(
253+
return ai_api_openai.call_with_tools_ollama(
254254
ai_config["ollama_url"],
255255
ai_config["ollama_model"],
256256
user_message,

tasks/ai/providers/ollama.py

Lines changed: 0 additions & 205 deletions
This file was deleted.

0 commit comments

Comments
 (0)