Skip to content

Conversation

@hellblazer315
Copy link

@hellblazer315 hellblazer315 commented Mar 14, 2024

Merging to Hossy as it seems to have built upon origin in healthy ways and origin hasn't had a new commit/PR accept in 2 years.

  • Update of all dependencies to current latest.

  • Updated Docker readme to function from no matter your current directory.

  • Added a docker.env file to specify container userspace and timezone.

  • Added & documented functionality around date and timezone logging.

  • Added a line to the log file when each library initates for easier tracking and debugging.

  • Updated log/debug ouput to put raw values of all scored attributes in line with their score.

  • Added final score to beginning of the readout for the decisions log.

  • Add some of the feature addition created in Tackyou/plex_dupefinder:

    • Cleaner result printing
      • ✨ successful deletion
      • ⚠️ failed deletion
      • ✅ keep file
      • ☑️ ignore/skip file
      • ❌ delete file
      • 🆔 file id
    • Ignore system specific files
    • New scoring options: Toggle for audiochannels and videobitrate, multiplier for videobitrate and videowidth
      • Extended this further with video bitrate and height multipliers).
    • Better regex for deletefiles.sh
      • Maintained origin regex for easy revert.
    • Better evidence for the source value of a score.

Note from Tackyou (attempted to account for this and already changed the technique up, it does still require 3 parts in the path though.) :

Something that might be an issue:
shortenedFilePath = '/' + '/'.join(part_info['file'][0].split('/')[-3:]) will cut out the last 3 parts of the path.
For example /path/to/the/mount/Movies/stuff.mkv would show as /mount/Movies/stuff.mkv
This is supposed to make the output easier to read by removing uninteresting stuff from the path, but if the path is less than 3 folders deep it will most likely throw an error.
It probably also doesn't work on Windows Plex servers due to the backward slashes.
Maybe remove this part before merging. (easiest way is to change it to shortenedFilePath = part_info['file'][0])

- Cleaner result printing
- Ignore system specific files
- Config toggle for audiochannels and videobitrate
- Better regex for deletefiles.sh
…config file.

Updated log/debug ouput to put raw values of all scored attributes in line with their score.
Changed the way file path is being shortened so that it should work both with Windows and for manual/debugging workflows instead of only in the "decisions.log" file.
- Updated Docker readme to function from no matter your current directory.
- Added a docker.env file to specify container userspace and timezone.
- Added & documented functionality around date and timezone logging.
-  Added a line to the log file when each library initates for easier tracking and debugging.
- Added final score to beginning of the readout for the decisions log.
…optimizations, and increase human readability.
Add exception to gitignore for config_sample.json.

Update config to betterorganize runtime, plex, and scoring settings.
* Add support for Radarr

Update config.py and config sample for Radarr settings.
Update plex_dupefinder.py for additional *arr logic.

* Patch
- Fixed typo in config.py
- Add get_item_metadata function to retrieve important item level (not part level) information (section and tmdbID)
- Update build_tabulated table to pass *arr override ID.
- Update manual deletion logic for increased clarity in each step.

* Minor Fix
Add missing parameter to get_media_info
Cleanup/fix get_arr_override_id

* Logic Refinement
Restructure auto-delete logic.
Nest duplicate processing within a try/except that catches keyboard interrupts to maintain summary output.

* Documentation Update
Update the NewFeatures_README.md to account for radarr support.
* Add Sonarr Support
Extend upon Radarr implementation to also support Sonarr.

* Sonarr Logic Overhaul
- Implemented Series cache to minimize API calls. Caches Plex Series ID, TVDB ID, All episode information for Seasons with dupe Episodes,
- Split movie vs tv specific data retrieval in get_item_metadata. TV shows have much more complicated logic to get to the *arr associated file.
- Split movie vs tv specific data retrieval in get_media_info. TV shows have additional required data like season/episode.
- Update build_tabulated to work for Sonarr.
- Rewrite of get_sonarr_file, piggy backing off of cache to reduce API calls.

* Bug Fixes
- Fixed tvdbid, series_key, season, and episode number definition.
- Normalized file path for comparison logic.
- Fixed item type retrieval in auto-delete mode.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant