2f55f898ed
- Implemented Spotify OAuth handling in spotify_client_manager.py to ensure valid access tokens for users. - Created helper functions in spotify_helper.py for refreshing tokens and retrieving user information. - Developed manage_spotify.html template for connecting and managing Spotify accounts, displaying connection status and token information. - Added logging for token management processes to enhance debugging and monitoring. - Introduced a debug client for Spotify interactions to facilitate easier testing and development.
48 lines
1.7 KiB
Python
48 lines
1.7 KiB
Python
"""
|
|
Manually run the OAuth providers migration script
|
|
"""
|
|
import os
|
|
import sys
|
|
from flask import Flask
|
|
import logging
|
|
|
|
# Set up logging
|
|
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
|
|
logger = logging.getLogger(__name__)
|
|
|
|
# Add the parent directory to the path so we can import modules
|
|
sys.path.insert(0, os.path.abspath(os.path.dirname(__file__)))
|
|
|
|
# Ensure the project root is also in the path for musicround imports
|
|
project_root = os.path.abspath(os.path.join(os.path.dirname(__file__), '.')) # Assuming run_migration.py is in project root
|
|
if project_root not in sys.path:
|
|
sys.path.insert(0, project_root)
|
|
|
|
def run_spotify_oauth_migration():
|
|
"""Run the migration to add Spotify OAuth columns"""
|
|
try:
|
|
# Create a minimal Flask app with database connection
|
|
from musicround import db, create_app
|
|
app = create_app()
|
|
|
|
with app.app_context():
|
|
logger.info("Starting Spotify OAuth columns migration...")
|
|
|
|
# Import and run the migration script
|
|
from migrations.add_spotify_oauth_columns import run_migration
|
|
success = run_migration()
|
|
|
|
if success:
|
|
logger.info("Migration completed successfully!")
|
|
return True
|
|
else:
|
|
logger.info("Migration reported no changes needed - continuing anyway")
|
|
return True # Return True even when no changes were made
|
|
|
|
except Exception as e:
|
|
logger.error(f"Error running migration: {str(e)}")
|
|
return False
|
|
|
|
if __name__ == "__main__":
|
|
success = run_spotify_oauth_migration()
|
|
sys.exit(0 if success else 1) # Exit with 0 (success) or 1 (error) |