name: DupFileManager description: Manages duplicate files. version: 0.1.5 url: https://github.com/David-Maisonave/Axter-Stash/tree/main/plugins/DupFileManager settings: doNotGeneratePhash: displayName: Do Not Generate PHASH description: Do not generate PHASH after tag or delete task. type: BOOLEAN mergeDupFilename: displayName: Merge Duplicate Tags description: Before deletion, merge metadata from duplicate. E.g. Tag names, performers, studios, title, galleries, rating, details, etc... type: BOOLEAN permanentlyDelete: displayName: Permanent Delete description: Enable to permanently delete files, instead of moving files to trash can. type: BOOLEAN whitelistDelDupInSameFolder: displayName: Whitelist Delete In Same Folder description: Allow whitelist deletion of duplicates within the same whitelist folder. type: BOOLEAN whitelistDoTagLowResDup: displayName: Whitelist Duplicate Tagging description: Enable to tag whitelist duplicates of lower resolution or duration or same folder. type: BOOLEAN zCleanAfterDel: displayName: Run Clean After Delete description: After running a 'Delete Duplicates' task, run Clean, Clean-Generated, and Optimize-Database. type: BOOLEAN zSwapBetterBitRate: displayName: Swap Better Bit Rate description: Swap better bit rate for duplicate files. Use with DupFileManager_config.py file option favorHighBitRate type: BOOLEAN zSwapBetterFrameRate: displayName: Swap Better Frame Rate description: Swap better frame rate for duplicates. Use with DupFileManager_config.py file option favorHigherFrameRate type: BOOLEAN zSwapCodec: displayName: Swap Better Codec description: If enabled, swap better codec duplicate files to preferred path. type: BOOLEAN zSwapHighRes: displayName: Swap Higher Resolution description: If enabled, swap higher resolution duplicate files to preferred path. type: BOOLEAN zSwapLongLength: displayName: Swap Longer Duration description: If enabled, swap longer duration media files to preferred path. Longer is determine by significantLongerTime field. type: BOOLEAN zWhitelist: displayName: White List description: A comma seperated list of paths NOT to be deleted. E.g. C:\Favorite\,E:\MustKeep\ type: STRING zxGraylist: displayName: Gray List description: Preferential paths to determine which duplicate should be kept. E.g. C:\2nd_Fav,C:\3rd_Fav,C:\4th_Fav,H:\ShouldKeep type: STRING zyBlacklist: displayName: Black List description: Least preferential paths; Determine primary deletion candidates. E.g. C:\Downloads,C:\DelMe-3rd,C:\DelMe-2nd,C:\DeleteMeFirst type: STRING zyMatchDupDistance: displayName: Match Duplicate Distance description: (Default=0) Where 0 = Exact Match, 1 = High Match, and 2 = Medium Match. type: NUMBER zyMaxDupToProcess: displayName: Max Dup Process description: Maximum number of duplicates to process. If 0, infinity type: NUMBER zzdebugTracing: displayName: Debug Tracing description: Enable debug tracing so-as to add additional debug logging in Stash\plugins\DupFileManager\DupFileManager.log type: BOOLEAN exec: - python - "{pluginDir}/DupFileManager.py" interface: raw tasks: - name: Tag Duplicates description: Set tag DuplicateMarkForDeletion to the duplicates with lower resolution, duration, file name length, or black list path. defaultArgs: mode: tag_duplicates_task - name: Clear Tags description: Clear tag DuplicateMarkForDeletion. Remove the tag from all files. defaultArgs: mode: clear_duplicate_tags_task - name: Delete Tagged Scenes description: Only delete scenes having DuplicateMarkForDeletion tag. defaultArgs: mode: delete_tagged_duplicates_task - name: Delete Duplicates description: Delete duplicate scenes. Performs deletion without first tagging. defaultArgs: mode: delete_duplicates_task - name: Generate PHASH Matching description: Generate PHASH file matching. Used for file comparisons. defaultArgs: mode: generate_phash_task