merge_scenes never reassigned playback_sources → ON DELETE CASCADE dropped them with the absorbed scene. Cross-source (canonical) merges rarely had tube playback so it hid, but tube-dup merges silently LOST playback links. Add _move_playback_sources (global unique (origin,page_url) guarantees no collision on reassign). + merge_exact_title_duration.py: catches missing-merge dupes bulk_dedup misses (same performer + identical normalized title + identical duration_sec, no phash). Bad Bella had 25 such pairs (bug-report ef92809d "duplikat, te same miniatury"). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| movie_match.py | ||
| movie_resolver.py | ||
| movie_score.py | ||
| performer_resolver.py | ||
| scene_match.py | ||
| scene_merge.py | ||
| scene_resolver.py | ||
| scene_score.py | ||
| scoring.py | ||
| studio_resolver.py | ||
| studio_title_parser.py | ||
| tag_resolver.py | ||