update: movie missing imdb
Local Docker Build (Dev) / build-dev (push) Successful in 5s

This commit is contained in:
2025-11-03 19:49:26 -05:00
parent c0ed1d9630
commit a326825347
3 changed files with 19 additions and 6 deletions
+1 -1
View File
@@ -1 +1 @@
2.10.0-skipped-tracking-fix2 2.10.0-skipped-tracking-fix3
+15 -2
View File
@@ -5,6 +5,7 @@ Bulk populates the NFOGuard database from Radarr/Sonarr
Phase 4: Replace NFO-based initial population with direct DB/API queries Phase 4: Replace NFO-based initial population with direct DB/API queries
""" """
import time import time
import hashlib
from typing import Dict, List, Optional, Tuple from typing import Dict, List, Optional, Tuple
from datetime import datetime from datetime import datetime
from pathlib import Path from pathlib import Path
@@ -82,16 +83,28 @@ class DatabasePopulator:
_log("DEBUG", f"Extracted IMDb ID {imdb_id} from path for: {movie.get('title')}") _log("DEBUG", f"Extracted IMDb ID {imdb_id} from path for: {movie.get('title')}")
if not imdb_id: if not imdb_id:
# Generate placeholder IMDb ID using hash of path
path_hash = hashlib.md5(path.encode()).hexdigest()[:12]
imdb_id = f"missing-{path_hash}"
skip_reason = 'No IMDb ID found' skip_reason = 'No IMDb ID found'
skip_info = { skip_info = {
'title': movie.get('title', 'Unknown'), 'title': movie.get('title', 'Unknown'),
'year': movie.get('year'), 'year': movie.get('year'),
'imdb_id': imdb_id,
'path': path, 'path': path,
'reason': skip_reason 'reason': skip_reason
} }
stats['skipped_items'].append(skip_info) stats['skipped_items'].append(skip_info)
_log("DEBUG", f"Skipping movie without IMDb ID: {movie.get('title')} (path: {path})") _log("DEBUG", f"Movie without IMDb ID: {movie.get('title')} (path: {path}), using placeholder {imdb_id}")
# Note: Cannot mark in DB because no IMDb ID (primary key)
# Mark as skipped in database with placeholder IMDb ID
self.db.mark_movie_skipped(
imdb_id=imdb_id,
title=movie.get('title', 'Unknown'),
year=movie.get('year', 0),
path=path,
reason=skip_reason
)
stats['skipped'] += 1 stats['skipped'] += 1
continue continue
+3 -3
View File
@@ -4,7 +4,7 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>NFOGuard - Database Management</title> <title>NFOGuard - Database Management</title>
<link rel="stylesheet" href="/static/css/styles.css?v=2.10.0-skipped-tracking-fix2"> <link rel="stylesheet" href="/static/css/styles.css?v=2.10.0-skipped-tracking-fix3">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet"> <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet">
</head> </head>
<body> <body>
@@ -12,7 +12,7 @@
<!-- Header --> <!-- Header -->
<header class="app-header"> <header class="app-header">
<div class="header-content"> <div class="header-content">
<h1><i class="fas fa-shield-alt"></i> NFOGuard <span style="font-size: 0.5em; color: #888;">v2.10.0-skipped-tracking-fix2</span></h1> <h1><i class="fas fa-shield-alt"></i> NFOGuard <span style="font-size: 0.5em; color: #888;">v2.10.0-skipped-tracking-fix3</span></h1>
<p>Database Management & Reporting</p> <p>Database Management & Reporting</p>
</div> </div>
<div class="auth-status" id="auth-status" style="display: none;"> <div class="auth-status" id="auth-status" style="display: none;">
@@ -723,6 +723,6 @@
<!-- Toast Notifications --> <!-- Toast Notifications -->
<div class="toast-container" id="toast-container"></div> <div class="toast-container" id="toast-container"></div>
<script src="/static/js/app.js?v=2.10.0-skipped-tracking-fix2"></script> <script src="/static/js/app.js?v=2.10.0-skipped-tracking-fix3"></script>
</body> </body>
</html> </html>