forked from Github/Axter-Stash
- Added code to handle Chrome, Edge and any other chrome based browser when selecting local file links from Stash URL. - On a Chrome based browser, the new code list the local links in text instead of as a button. - A note is displayed and highlighted explaining to the user that they have to copy and pasted the link to the browser's address field. - On browsers like FireFox, a button is displayed instead, and no note is displayed. - Removed *.css and *.map files, which were not being used.
133 lines
9.8 KiB
Markdown
133 lines
9.8 KiB
Markdown
# DupFileManager: Ver 1.1.1 (By David Maisonave)
|
|
|
|
DupFileManager is a [Stash](https://github.com/stashapp/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.
|
|
- Advance menu
|
|
- 
|
|
- Advance menu can be access from the Settings->Tools->**[DupFileManager Tools and Utilities]** menu or from the **reports**.
|
|
- Only access Advance Menu from the report when using Stash setup requiring a password.
|
|
- Here are **some** of the options available in the **Advance Menu**.
|
|
- Delete specially tagged duplicates in blacklist path.
|
|
- Delete duplicates with specified file path.
|
|
- Delete duplicates with specific string in File name.
|
|
- Delete duplicates with specified file size range.
|
|
- Delete with specified duration range.
|
|
- Delete with resolution range.
|
|
- Delete duplicates having specified tags.
|
|
- Delete duplicates with specified rating.
|
|
- Delete duplicates with any of the above combinations.
|
|
- Bottom extended portion of the Advanced Menu is for customizing the report.
|
|
- 
|
|
- Delete duplicate file task with the following options:
|
|
- Tasks (Settings->Task->[Plugin Tasks]->DupFileManager)
|
|
- **Tag Duplicates** - Set tag DuplicateMarkForDeletion to the duplicates with lower resolution, duration, file name length, and/or black list path.
|
|
- **Delete Tagged Duplicates** - Delete scenes having DuplicateMarkForDeletion tag.
|
|
- **Delete Duplicates** - Deletes duplicate files. Performs deletion without first tagging.
|
|
- Plugin UI options (Settings->Plugins->Plugins->[DupFileManager])
|
|
- Has a 3 tier path selection to determine which duplicates to keep, and which should be candidates for deletions.
|
|
- **Whitelist** - List of paths NOT to be deleted.
|
|
- E.g. C:\Favorite\,E:\MustKeep\
|
|
- **Gray-List** - List of preferential paths to determine which duplicate should be the primary.
|
|
- E.g. C:\2nd_Favorite\,H:\ShouldKeep\
|
|
- **Blacklist** - List of LEAST preferential paths to determine primary candidates for deletion.
|
|
- E.g. C:\Downloads\,F:\DeleteMeFirst\
|
|
- **Permanent Delete** - Enable to permanently delete files, instead of moving files to trash can.
|
|
- **Max Dup Process** - Use to limit the maximum files to process. Can be used to do a limited test run.
|
|
- **Merge Duplicate Tags** - Before deletion, merge metadata from duplicate. E.g. Tag names, performers, studios, title, galleries, rating, details, etc...
|
|
- **Swap High Resolution** - When enabled, swaps higher resolution files between whitelist and blacklist/graylist files.
|
|
- **Swap Longer Duration** - When enabled, swaps scene with longer duration.
|
|
- Options available via DupFileManager_config.py
|
|
- **dup_path** - Alternate path to move deleted files to. Example: "C:\TempDeleteFolder"
|
|
- **toRecycleBeforeSwap** - When enabled, moves destination file to recycle bin before swapping files.
|
|
- **addPrimaryDupPathToDetails** - If enabled, adds the primary duplicate path to the scene detail.
|
|
- Tools UI Menu
|
|

|
|
- 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.
|
|
- Tools UI Menu
|
|

|
|
- Can access either **Duplicate File Report (DupFileManager)** or **DupFileManager Tools and Utilities** menu options.
|
|
- DupFileManager Report Menu
|
|
- 
|
|
- DupFileManager Tools and Utilities
|
|
- 
|
|
- Full bottom extended portion of the Advanced Menu screen.
|
|
- 
|
|
|
|
### Future Planned Features, Changes, or Fixes
|
|
- Scheduled Changes
|
|
- Add chat icon to report which on hover, displays a popup window showing scene details content. Planned for 1.2.0 Version.
|
|
- Add image icon to report; on hover show scene cover image. Planned for 1.2.0 Version.
|
|
- Add studio icon to report; on hover show studio name. Planned for 1.2.0 Version.
|
|
- Add option on report to view rating and change it. Use an icon with a number on it to show rating. Planned for 1.2.0 Version.
|
|
- On report make flag toggle logic. In other words, when flag button is selected, and scene is already that color, remove the colored flag. Planned for 1.2.0 Version.
|
|
- Add report option to set flag to all scenes missing metadata on Scene-ToKeep or having higher resolution or longer duration on **Duplicate-to-Delete** scene. Planned for 1.2.0 Version.
|
|
- Add option to [**Advance Duplicate File Menu**] to display cover image for preview image. Planned for 1.2.0 Version.
|
|
- On report, when move operation is performed, have it automatically delete the **Duplicate-to-Delete** scene. Planned for 1.2.0 Version.
|
|
- On [**Advance Duplicate File Menu**], add a flag option to the menu on the left side, and shrink the tag option. Planned for 1.2.0 Version.
|
|
- Change the TagOrFlag option on the right side to a check mark.
|
|
- Add option to delete by file type. Planned for 1.2.0 Version.
|
|
- On report, have [Flag or Tag] option still enabled after manually disabling scene. Planned for 1.2.0 Version.
|
|
- On [**Advance Duplicate File Menu**], have the details section hide fully, or partially when the page is first displayed. Planned for 1.4.0 Version.
|
|
- Unscheduled Changes
|
|
- Change splitbutton so it hides tooltip when hovering over dropdown side of the button.
|
|
- Fix errors on HTML page listed in https://validator.w3.org.
|
|
- Add logic to merge performers and galaries seperatly from tag merging on report.
|
|
- Add logic to merge group metadata when selecting merge option on report.
|
|
- Add advanced menu directly to the Settings->Tools menu.
|
|
- Add report directly to the Settings->Tools menu.
|
|
- Create cookies for the options in the [**Advance Duplicate File Menu**].
|
|
- Add doulbe strike-through option to flagging.
|
|
- Add option to report to avoid reloading page after updating report.
|
|
- Add option to report to automatically strip width & height from name on rename.
|
|
- Add link to version history to [**Advance Duplicate File Menu**] and to [DupFileManager Tools and Utilities]
|
|
|
|
|