Topic: blacklist help: how to blacklist stuff while using the or/and function

Posted under General

i was trying to do a blacklist for stuff and for some reason if i group the ~ and - functions i cant get it to work

example
pokemon ~( -flygon -charizard -aggron )

in this example i want it to blacklist posts of pokemon unless its either of these characters, how would i do that?

.. huh?

I'm not really familiar with the bracketed syntax, but from your description, you don't need it here.
"posts of pokemon unless its either of these characters"
is just "pokemon -flygon -charizard -aggron" (either in blacklist entry or in search)

savageorange said:
.. huh?

I'm not really familiar with the bracketed syntax, but from your description, you don't need it here.
"posts of pokemon unless its either of these characters"
is just "pokemon -flygon -charizard -aggron" (either in blacklist entry or in search)

this i dont think works because it would only get results that are all of those characters in the same image

Aacafah

Moderator

A. The grouped syntax is not supported on the blacklist; don't base your blacklist on the search syntax, it's handled entirely differently. The only things supported by the blacklist are detailed on the blacklist help page.
B. savageorange is correct. Remember, everything that matches your blacklist will be hidden; pokemon -flygon -charizard -aggron will blacklists posts that follow all of the these rules:

  • Does have the pokemon tag
  • Does not have the flygon tag
  • Does not have the charizard tag
  • Does not have the aggron tag

C. Even in the main search, you don't need the group syntax for that. Firstly, there isn't another term with an ~ operator, so it's effectively the same as pokemon ( -flygon -charizard -aggron ); you'd need to do pokemon ~( -flygon ) ~( -charizard ) ~( -aggron ) for it to choose between them. Secondly, if you want to remove results that have any of those three tags, pokemon -flygon -charizard -aggron will show posts that follow all of the these rules:

  • Does have the pokemon tag
  • Does not have the flygon tag
  • Does not have the charizard tag
  • Does not have the aggron tag

pokemon ~( -flygon ) ~( -charizard ) ~( -aggron ) would show posts that follow all of the these rules:

  • Does have the pokemon tag
  • Follows one or more of the following 3 rules:
    • Does not have the flygon tag
    • Does not have the charizard tag
    • Does not have the aggron tag

e.g. If a post has pokemon & flygon tagged, pokemon ~( -flygon ) ~( -charizard ) ~( -aggron ) will match that (because it doesn't have charizard nor aggron, so those 2 rules are true), & pokemon -flygon -charizard -aggron will not (because the mandatory rule of not having flygon isn't met). If a post has pokemon, flygon, charizard, & aggron tagged, pokemon ~( -flygon ) ~( -charizard ) ~( -aggron ) will not match that (because it has all three) & pokemon -flygon -charizard -aggron will also not match that (because all three mandatory rules other than having pokemon aren't met).
D. Think of the blacklist/search as a series of conditions that, for each post, must all be true for it to return/hide that post. Items with the ~ operator just require 1 of the conditions that use that operator to be true. Therefore, using only 1 ~ operator is useless, as it only has 1 choice for what can match.

Tl;dr, savageorange is correct, pokemon -flygon -charizard -aggron will blacklist posts that have pokemon, don't have flygon, don't have charizard, and don't have aggron; if a post has flygon, it doesn't meet all of the conditions.

aacafah said:
A. The grouped syntax is not supported on the blacklist; don't base your blacklist on the search syntax, it's handled entirely differently. The only things supported by the blacklist are detailed on the blacklist help page.
B. savageorange is correct. Remember, everything that matches your blacklist will be hidden; pokemon -flygon -charizard -aggron will blacklists posts that follow all of the these rules:

  • Does have the pokemon tag
  • Does not have the flygon tag
  • Does not have the charizard tag
  • Does not have the aggron tag

C. Even in the main search, you don't need the group syntax for that. Firstly, there isn't another term with an ~ operator, so it's effectively the same as pokemon ( -flygon -charizard -aggron ); you'd need to do pokemon ~( -flygon ) ~( -charizard ) ~( -aggron ) for it to choose between them. Secondly, if you want to remove results that have any of those three tags, pokemon -flygon -charizard -aggron will show posts that follow all of the these rules:

  • Does have the pokemon tag
  • Does not have the flygon tag
  • Does not have the charizard tag
  • Does not have the aggron tag

pokemon ~( -flygon ) ~( -charizard ) ~( -aggron ) would show posts that follow all of the these rules:

  • Does have the pokemon tag
  • Follows one or more of the following 3 rules:
    • Does not have the flygon tag
    • Does not have the charizard tag
    • Does not have the aggron tag

e.g. If a post has pokemon & flygon tagged, pokemon ~( -flygon ) ~( -charizard ) ~( -aggron ) will match that (because it doesn't have charizard nor aggron, so those 2 rules are true), & pokemon -flygon -charizard -aggron will not (because the mandatory rule of not having flygon isn't met). If a post has pokemon, flygon, charizard, & aggron tagged, pokemon ~( -flygon ) ~( -charizard ) ~( -aggron ) will not match that (because it has all three) & pokemon -flygon -charizard -aggron will also not match that (because all three mandatory rules other than having pokemon aren't met).
D. Think of the blacklist/search as a series of conditions that, for each post, must all be true for it to return/hide that post. Items with the ~ operator just require 1 of the conditions that use that operator to be true. Therefore, using only 1 ~ operator is useless, as it only has 1 choice for what can match.

good to know, thanks for the help

Original page: https://e621.net/forum_topics/59339?page=1