Jump to content

Plugin: Ginjaninja Tools - Person Cleaner (pre-alpha)


Recommended Posts

ginjaninja
Posted (edited)

image.png.26d5a2babcb572a76c8b0b7d2e958cba.png

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)

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

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 by ginjaninja
ginjaninja
Posted

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
Posted

image.png.bcc61cb963e9c1da917021966f66b8b6.png

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.

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...