ginjaninja 652 Posted 11 hours ago Posted 11 hours ago (edited) Purpose and Function Clean Person TMDB|TVDB IDs (maximise agreement, remove disagreement). Split and Merge Persons, change media attribution between persons. Identify corrections for TMDB|TVDB provider data. Work around them in short term. Clean Person Metadata Folder (all folders which dont belong to a person are removed) Caches TVDB|TMDB responses. Small sandbox segregation of library for faster initial testing over limited scope. Acknowledgement Uses TVDB and TMDB APIs/Data.. Notes This one was tough and i think ive ended up with at best a white elephant. I went down the route of seeing peple through the lense of their media attributions. There is no point of truth to hang your hat on and there are alot of errors on the providers, the plugin attempts to find clusters of consistent signals and stitch TMDB|TVDB info together with a score/confidence, and overlay that back over the current emby configuration to look for agreement and disagreement. Once the media and then IDs are associated robustly to persons (persons are 'clean'), it should be trivial to clean the metadata folder to match the persons. If there is an appetite and testing proves some value, i will improve but its broken me for now. Getting Started Test on backup server, at a minimum backup library.db and \metadata\people folder before testing. You need to assign a TVDB and TMDB api key in the config (I just asked for them and was sent) Run evidence gathering task. (will take hours) Manually curate "Problem Cases", cases without automated solutions. Run En Masse (Database) Correction task for automated repair of simple cases (after a lot of testing of a small sandbox). Run Folder cleaner task. (does not respect sandbox, covers entire library) 2026-08-28 23-36-22.mp4 Disclaimers Vibe coded with Claude, backup database and people metadata folder before 1st use, until tested. folders in \metadata\people are targetted for deletion and persons are edited and removed. Download https://github.com/ginjaninja1/PersonCleaner 0.1.17.0PersonCleaner.dll 0.1.16.0PersonCleaner.dll Changes 0.1.17 Improve task performance (8 mins on 150000 person library, after provider fetching on my 6 core cpu, still uses GBs of memory) Known issues Suggestions and Issues welcome. Needs a fast server with alot of memory. GenericEdit UI rendering failures for dxgrid, tab/shift tab will restore ui elements if lost. Probably should have built own ui in html/js. (search a person, or close/reopen dialog , if the rows are not expandable in dxgrid on first use) Not tested with \people\letter\person folder layout. Very early days for metadata folder cleaner. Very early with limited testing. No library filter Roadmap See if this has legs Other Info Plugin stores data in \programdata\data\personcleaner-v2 (good to know if you want to reset/uninstall) Edited 2 hours ago by ginjaninja
ginjaninja 652 Posted 2 hours ago Author Posted 2 hours ago 0.1.17 Improve task performance (8 mins on 150000 person library, after provider fetching on my 6 core cpu, still uses GBs of memory)
ginjaninja 652 Posted 2 hours ago Author Posted 2 hours ago 1.5% failure rate (emby/provider data can not be well reconcilled), thats a bit too much manual work, but the large cohorts are probably auto resolvable.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now