DupFileManager is a Stash plugin which manages duplicate files in the Stash system.
It has both task and tools-UI components.
Features
Creates a duplicate file report which can be accessed from the settings->tools menu options.The report is created as an HTML file and stored in local path under plugins\DupFileManager\report\DuplicateTagScenes.html.
See screenshot at the bottom of this page for example report.
Items on the left side of the report are the primary duplicates designated for deletion. By default, these duplicates are given a special _duplicate tag.
Items on the right side of the report are designated as primary duplicates to keep. They usually have higher resolution, duration and/or preferred paths.
The report has the following options:
Delete: Delete file and remove from Stash library.
Remove: Remove from Stash library.
Rename: Rename file.
Copy: Copy file from left (source) to right (to-keep).
Move: Copy file and metadata left to right.
Cpy-Name: Copy file name left to right.
Add-Exclude: Add exclude tag to scene,so that scene is excluded from deletion.
Remove-Tag: Remove duplicate tag from scene.
Flag-Scene: Flag (mark) scene in report as reviewed (or as requiring further review). Optional flags (yellow, green, orange, cyan, pink, red, strike-through, & disable-scene)
Merge: Copy Metadata (tags, performers,& studios) from left to right.
Can merge potential source in the duplicate file names for tag names, performers, and studios.
Normally when Stash searches the file name for tag names, performers, and studios, it only does so using the primary file.
Can access either Duplicate File Report (DupFileManager) or DupFileManager Tools and Utilities menu options.
Requirements
pip install --upgrade stashapp-tools
pip install requests
pip install Send2Trash
Installation
Follow Requirements instructions.
In the stash plugin directory (C:\Users\MyUserName.stash\plugins), create a folder named DupFileManager.
Copy all the plugin files to this folder.(C:\Users\MyUserName\.stash\plugins\DupFileManager).
Click the [Reload Plugins] button in Stash->Settings->Plugins->Plugins.
That’s it!!!
Options
Options are accessible in the GUI via Settings->Plugins->Plugins->[DupFileManager].
More options available in DupFileManager_config.py.
Screenshots
Example DupFileManager duplicate report. (file names have been edited to PG).
The report displays preview videos that are playable. Will play a few seconds sample of the video. This requires scan setting [Generate animated image previews] to be enabled when scanning all files.
If there’s a scene on the left side that has a higher resolution or duration, it gets a yellow highlight on the report.
There’s an optional setting that allows both preview videos and preview images to be displayed on the report. See settings htmlIncludeImagePreview in the DupFileManager_report_config.py file.
There are many more options available for how the report is created. These options are targeted for more advanced users. The options are all available in the DupFileManager_report_config.py file, and the settings have commented descriptions preceeding them. See the DupFileManager_report_config.py file in the DupFileManager plugin folder for more details.
Has anyone been able to get this working? I am on windows and been trying to see if this can help me merge like 1000 duplicates but I can’t load the report even though the report file exists.
Does anyone know of any way to bulk merge duplicates? I have transcoded a bunch of files from mp4 to mkv but want to keep all the tags from the mp4s onto the mkv but the only way i have found to do this so far is one at a time in sceneDuplicateChecker
Don’t know if this is the right place to put this, but upon following the install instructions & attempting to run either tool from this plugin, it leads Stash to crash with the following error:
Hi there! DupFileManager looks like a fantastic addition to Stash. I am trying really hard to get it installed and working in my Docker image. I had to manually create the ‘reports’ directory, as the python code is looking in the wrong path. Once that was done, I get a new error (or warning) when running the report generation (No Tag). The error is:
[Plugin / DupFileManager] [LN:517] WRN: 'Exception calling [mergeMetadata]. Will retry; count(0); Error: \'id\'\nTraceBack=Traceback (most recent call last):\n File "/config/plugins/community/DupFileManager/StashPluginHelper.py", line 521, in mergeMetadata\n return self._mergeMetadata.merge(SrcData, DestData)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/config/plugins/community/DupFileManager/StashPluginHelper.py", line 996, in merge\n self.mergeItems(\'performers\', \'performer_ids\', [])\n File "/config/plugins/community/DupFileManager/StashPluginHelper.py", line 1045, in mergeItems\n listToAdd += [item[\'id\']]\n ~~~~^^^^^^\nKeyError: \'id\'\n'
Does this give you any clue as to what is going wrong?
The author of this plugin does not monitor Discourse. Please post any bugs, feature request, help-request to the following link: https://github.com/David-Maisonave/Axter-Stash/issues/new/choose.
The Discourse link should be use for discussion that would be inappropriate in GitHub.