hydrusnetwork / hydrusnetwork/hydrus
Duplicate processing tags: conditionals
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 3.2k
- Forks
- 207
- PR merge metrics
- No merged PRs in 30d
Description
Since posting this, I've come up with new use cases. The newer one, which should be relevant to more users, comes first.
Use case 1: only copy title: tag if better duplicate doesn't have one
I follow some artists who use both pixiv and a paid site. They tend to post some lower-res versions of their works on pixiv with a link to the high-res versions on their paysite. I consider the post titles for each individual post to be identifiers of that post, so I don't want to copy the title: tag over.
There are also the cases of artists reposting past work on the same site, but in better quality. This is another time when I don't want to copy the title: tag.
However, there are times when I have a better quality duplicate from another source that doesn't have titles, such as a private discord server acting as a paysite. In this case, copying the title: over usually makes sense, since there isn't the same "post page" concept going on.
To solve this, I would like a rule that says "copy title: tags from worse to better, unless the better quality image already has any title: tag."
Use case 2: only copy todo: tag if better duplicate also meets the criteria
I use a tag on the my tags service to indicate a backlog of files where I want to do some future work with them: clean them up/decensor in GIMP, search for/purchase a higher resolution version, stuff like that. In some cases, when processing dupes, I want to still copy/move these tags because a new dupe, even if it is higher quality, has not satisfied the workflow yet.
Example of when I want to keep a tag: there's a file I plan to decensor later when I have the time. I find a higher resolution version of it online but the higher res is still censored. I want to preserve my tag that tells me to decensor the image later.
Counter example of when I want to remove that same tag: I get around to decensoring the file and I use dupe processing to replace it. In this case I don't want to copy the tag.
To solve this, I would like a rule that says "if the better quality image has the meta:censored tag on any service, copy the todo:decensor tag from worse to better."
This may be partially addressed by #754 but having to create new custom actions for every conditional branch would be very tedious, and it would be easy to get the rules out of sync if e.g. I want to add a new tag to the blacklist in general.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing issue #754 and the existing duplicate-processing tag rules to understand how custom actions and conditional branches are represented. Then map the two requested behaviors—conditional title copying and conditional todo-tag copying—to the current processing flow. Done means both rules can be configured without duplicating or desynchronizing custom actions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100