Merge web-interface branch with enhanced UI features and improved date parsing

- Added Smart Fix modal with multiple date source options
- Enhanced edit modal with automatic date option population
- Improved date parsing with timezone handling and validation
- Added debug functionality for database inspection
- Fixed search issues and enhanced web interface controls

🤖 Generated with [Claude Code](https://claude.ai/code)
This commit is contained in:
2025-10-14 15:32:37 -04:00
4 changed files with 119 additions and 9 deletions
+8
View File
@@ -1068,6 +1068,14 @@ def register_routes(app, dependencies: dict):
"""Get available date options for an episode"""
return await get_episode_date_options(dependencies, imdb_id, season, episode)
@app.get("/api/debug/movie/{imdb_id}/raw")
async def _debug_movie_raw(imdb_id: str):
"""Debug endpoint to see raw movie database data"""
db = dependencies["db"]
movie = db.get_movie_dates(imdb_id)
if not movie:
raise HTTPException(status_code=404, detail="Movie not found")
return {"raw_data": dict(movie), "imdb_id": imdb_id}
# ---------------------------
# Static Web Interface
# ---------------------------
+7
View File
@@ -449,6 +449,13 @@ async def get_movie_date_options(dependencies: dict, imdb_id: str):
if not movie:
raise HTTPException(status_code=404, detail="Movie not found")
# Debug logging to understand the data issue
print(f"🔍 DEBUG: Movie data for {imdb_id}:")
print(f" - released: {movie.get('released')}")
print(f" - dateadded: {movie.get('dateadded')}")
print(f" - source: {movie.get('source')}")
print(f" - path: {movie.get('path')}")
options = []
# Option 1: Current dateadded (if exists and is different from released)