63 Commits
Author SHA1 Message Date
Justin Oros 81b19d13a2 Stop cleanup of .DUPLICATES 2026-09-23 13:19:26 -07:00
Justin Oros a2fc8d002d Scope 'all' confirmation to its own action so Rename's A-for-all doesn't skip Clean's prompts 2026-09-21 08:40:55 -07:00
Justin Oros 605cd84707 Add A-for-all option to remaining y/n confirmation prompts 2026-09-21 08:20:43 -07:00
Justin Oros 18abd5e457 Add interactive share+action menu when run with no arguments 2026-09-21 08:16:15 -07:00
Justin Oros a555fb6b51 Check near-year candidates before the unique exact-title fallback in best_match 2026-09-20 14:32:03 -07:00
Justin Oros 244351fff8 Rename DUPLICATES to .DUPLICATES so Plex's scanner skips it, with automatic migration for existing folders 2026-09-20 14:07:29 -07:00
Justin Oros 9e23051616 Remove DUPLICATES in two clear phases (subdirs, then the folder itself) and drop the failing cross-device fallback 2026-09-20 13:47:16 -07:00
Justin Oros 6e1ca40dbe Add genre filtering to --suggestions via TMDb discover 2026-09-20 12:05:26 -07:00
Justin Oros ad40d1dadc Add --suggestions/-s recommendation feature with history cache and --clear-suggestions 2026-09-20 11:53:58 -07:00
Justin Oros a254264610 Harden safe_move to prune leftover empty subdirectories before retrying a directory move 2026-09-14 14:01:30 -07:00
Justin Oro 296503df67 Recognize Specials folder as season 0 during rename 2026-09-11 13:54:49 -07:00
Justin Oro fd95c6ced6 Update delete.yaml 2026-09-07 12:35:28 -07:00
Justin Oro 45583bd6f5 Strip Rifftrax/channel tags and trust unique fuzzy match candidates 2026-09-07 08:16:46 -07:00
Justin Oro 2f73463bbe Add opt-in sample_videos cleanup rule for loose sample video files 2026-09-06 17:47:05 -07:00
Justin Oro 8ceaa9cfdb Trust a unique exact-title match over an unreliable inferred year 2026-09-06 04:56:22 -07:00
Justin Oro cdb7e9a6f8 Loosen near-year match threshold when only one candidate exists 2026-09-03 15:45:32 -07:00
Justin Oro d7b7ee8b71 Add 'explicit' release tag to junk token list 2026-09-03 11:04:31 -07:00
Justin Oro 4a94bcb56c Split multi-movie bundle folders into individual movie folders with subs 2026-09-02 14:16:07 -07:00
Justin Oro f2abfb3154 Fix cross-device move crash in cleanup/restore by hardening safe_move against stray metadata files 2026-08-31 18:18:25 -07:00
Justin Oro 3a4cb06638 extend DUPLICATES staging to TV episode collisions across all rename/merge paths 2026-08-31 17:44:33 -07:00
Justin Oro 03f1c07f50 add grouped needs-attention summary at the end of each rename run 2026-08-31 17:14:16 -07:00
Justin Oro f0525dcefa move duplicate movie folders to a DUPLICATES staging folder on the share instead of trashing directly from rename; cleanup wipes it 2026-08-30 16:21:56 -07:00
Justin Oro b1d713903b fix subtitle title matching stripping hyphens along with the language suffix, breaking genre-tag detection 2026-08-30 14:54:52 -07:00
Justin Oro 123b7bc0e8 allow near-year (+/-1) title match when TMDb release year differs from filename year, gated by high title similarity 2026-08-30 14:07:41 -07:00
Justin Oro 0f4e7c1d06 add service.json to gitignore (machine-specific runtime state) 2026-08-30 14:00:03 -07:00
Justin Oro 57374880d2 recognize full language names as junk when deciding to strip trailing release-info parentheticals 2026-08-30 13:32:27 -07:00
Justin Oro 132bf51808 require minimum title similarity in best_match's no-year fallback to prevent false matches 2026-08-29 00:45:42 -07:00
Justin Oro d02855f7a6 fix illegal-character stripping gluing digits together in final folder/file names 2026-08-28 19:20:07 -07:00
Justin Oro fa8a783b5a pass folder release year as a hint for per-file TMDb lookups in multi-file movie folders 2026-08-28 18:39:41 -07:00
Justin Oro f6a1da9739 strip trailing subtitle-language code clusters like EN NL from TMDb search queries 2026-08-28 17:12:50 -07:00
Justin Oro bdfe0c1412 change default service interval to 5 minutes, clarify interval updates apply without restart 2026-08-27 00:19:36 -07:00
Justin Oro f6cbaa1a6f skip unchanged folders in cleanup and lower service worker process priority 2026-08-27 00:09:25 -07:00
Justin Oro 981f4bf40e add --service background daemon with start/stop, configurable interval, and share management 2026-08-26 22:21:39 -07:00
Justin Oro 833c84a283 detect and trash byte-identical duplicate subtitle files 2026-08-26 15:53:23 -07:00
Justin Oro a172584d77 detect forced subtitle tracks via line-count ratio 2026-08-26 15:32:33 -07:00
Justin Oro 1a3df93a11 ignore .DS_Store and other OS junk files when detecting empty folders 2026-08-26 11:20:13 -07:00
Justin Oro f0af397544 loosen SDH content-detection threshold to match real subtitle density 2026-08-26 10:55:52 -07:00
Justin Oro d85d38c24b detect SDH from subtitle content to self-heal already-collided files 2026-08-26 10:50:23 -07:00
Justin Oro 8c6dccfd06 add --type/-T flag to manually specify library type 2026-08-26 10:44:05 -07:00
Justin Oro cd157b095a detect media type from parent folder name when scanning a subfolder path 2026-08-26 10:41:50 -07:00
Justin Oro de3c41848f give SDH/forced subtitle variants distinct filenames instead of colliding 2026-08-26 10:38:07 -07:00
Justin Oro b015f020cf announce which action is running after share selection 2026-08-26 10:11:23 -07:00
Justin Oro 769b111587 disambiguate colliding subtitle destination names instead of skipping 2026-08-26 10:05:44 -07:00
Justin Oro 0c38d30ba2 match orphaned subtitle packs in a show's own root, not just during duplicate merges 2026-08-26 09:57:26 -07:00
Justin Oro d1fad551dc add fuzzy title fallback for typo'd folder names when exact TMDb match fails 2026-08-26 09:46:05 -07:00
Justin Oro 712bd24e91 merge orphaned subtitle-only duplicate folders into existing episodes 2026-08-26 09:40:12 -07:00
Justin Oro 52da1eb8d0 strip N-bit color depth tags (singular and plural) from TMDb query 2026-08-24 22:03:54 -07:00
Justin Oro fd3b99ad65 quote hyphenated TMDb search queries to avoid operator misparsing 2026-08-24 21:00:45 -07:00
Justin Oro b4fe509b99 add retail release tag to junk tokens 2026-08-24 19:44:57 -07:00
Justin Oro 3a4c02dd03 only use legacy 3-digit season/episode guess when no better signal exists 2026-08-24 11:08:50 -07:00
Justin Oro 52fecfcde1 parallelize TMDb folder lookups in -r for faster scans 2026-08-24 11:04:02 -07:00
Justin Oro 36417bd119 fix undo log persistence, non-English titles, season-folder absolute numbering, and rename race handling 2026-08-24 10:50:54 -07:00
Justin Oro 13bfcc2ac1 add DC director's cut abbreviation to junk tokens 2026-08-23 13:16:34 -07:00
Justin Oro 11de696807 strip domains/URLs and add cam-release junk tokens to TMDb query 2026-08-22 16:52:01 -07:00
Justin Oro ce3516c76e strip repeated trailing bracket tags from TMDb search query 2026-08-21 02:04:47 -07:00
Justin Oro 30c4c2e72f strip file size tags from TMDb search query 2026-08-21 01:54:58 -07:00
Justin Oro 83f3ab72ed add loose TV episode file handling to --rename 2026-08-20 21:53:09 -07:00
Justin Oro 0479be4100 add season-episode-count fallback for absolute episode numbering 2026-08-20 21:43:16 -07:00
Justin Oro 50d2306d95 fix --episodes treating a single shows season folders as separate shows 2026-08-20 21:27:11 -07:00
Justin Oro 1355e37ad3 Added --episodes argument for detecting missing tv show episodes 2026-08-20 20:56:35 -07:00
Justin Oro aa08736e22 Merge duplicate TV show folders into existing show on rename 2026-08-20 20:00:59 -07:00
Justin Oro ea7a92472b Update README.md 2026-08-20 16:35:07 -07:00
Justin Oro 2f0addb69b Initial commit 2026-08-20 16:31:08 -07:00