stashapp / stash

An organizer for your porn, written in Go. Documentation: https://docs.stashapp.cc
https://stashapp.cc/
GNU Affero General Public License v3.0
8.45k stars 751 forks source link

[Feature] Extend Scan to include Clean/Autotag #1095

Open rg9400 opened 3 years ago

rg9400 commented 3 years ago

Is your feature request related to a problem? Please describe. Right now, if a change on disk is to automatically trigger a scan, I need to call clean, then scan, then autotag. This is to ensure that all possible file events are taken care of. Ideally, like generate, it is possible to include the clean/autotag tasks within the scan task itself, allowing a single scan to take care of all possible subtasks

Describe the solution you'd like Just like generate, give options to autotag/clean within a scan. The order of operations could be up for debate as cleaning may not be efficient if you've just done a rename (will delete then readd the same entry).

Describe alternatives you've considered Run these tasks outside Stash using multiple queries. This is inefficient though as it requires one task to complete before firing off the request for the next one.

rg9400 commented 1 year ago

Update on this issue. It would extend to Identify as well now, but essentially the idea is to configure a set default scan preference that can handle all the various tasks, and then external Apps can trigger this automatically. So for example, something like Whisparr can just trigger a scan for a path, and then Stash would scan in the directory, add or delete the relevant objects, generate the relevant objects, and identify them if necessary. Right now, for this to work, you need to configure every single preference in the external app and trigger multiple tasks, which is both inefficient as well as very complex -- changes in Stash requires changes in these apps. It makes it hard to create something that can be used by a diverse group of users as well as the entire configuration work is shifted to the app.

Goal here is to create a pipeline for full automation similar to how Sonarr/Radarr can function with Plex