hydrusnetwork / hydrus

A personal booru-style media tagger that can import files and tags from your hard drive and popular websites. Content can be shared with other users via user-run servers.
http://hydrusnetwork.github.io/hydrus/
Other
2.4k stars 158 forks source link

Follow child/sibling relationships in white and blacklist filter #794

Open roachcord3 opened 3 years ago

roachcord3 commented 3 years ago

I would like the ability to specify, for any given item in the tag list (whitelist, blacklist, doesn't matter), that it should also apply to children or siblings of it.

For example, there are some tags on the PTR that are sibling'd to invalid tag or junk tag or something like that. I would like to blacklist any tag that would eventually cause invalid tag or junk tag to show up on the image.

This feature should be toggleable for each item in the list, ideally. It should not be the default behavior because it's unintuitive for new users. And obviously it should use the resolution path that the service is set to, so if you've got "my tags" using both the parent/sibling rules for itself and for the PTR, it should consider both.

Zweibach commented 3 years ago

White and blacklist already respects siblings.

roachcord3 commented 3 years ago

@Zweibach I've blocked the siblings but the tags that resolve to them still get copied. Do you mean something else?

roachcord3 commented 3 years ago

Example: I blacklist namespaced tags but not unnamespaced tags. pixiv tag is sibling'd to source:pixiv so if it respected siblings I would expect it not to copy the pixiv tag. And yet it does

Zweibach commented 3 years ago

No, that should be it especially since there have been a few fixes regarding blacklist not respecting siblings as intended. I will talk with dev and ask if this is intended behaviour for dupe filter.

hydrusnetwork commented 3 years ago

Argh, thank you for this report. I am not totally sure how this works when it actually happens. The siblings stuff mostly apply when it is doing blacklists for downloaders, where generous filters are useful. Here, it likely applies to the 'storage' tags, where siblings are not yet applied. I will look over this dupe metadata merge code and see what makes sense. As you say, it would be nice if siblings and parents were filtered in a helpful and easy to understand way.