So, not for every tag, but one particular application came to mind - character tags have a different color, and oc tags have oc:[oc name]. What about a bot that could systematically run through the index of images, check the tags, and add the right implications?
Like, I’m not saying just to add an implication because I don’t think those effect old images unless their tags are updated?
But also because it could involve just a little bit of logic.
So, on each image, just run a little loop over the tags and check for any that have whatever property makes them have the “character tag” color, or any that begin with “oc:”, and add up the number of each. And if there’s 1 character tag or oc tag, then add the “solo” tag to the image. If there’s 2, add the “duo” tag, and 3, add “trio”. Then other things - like if it finds all of the mane 6, add the “mane 6 tag”. If it finds all the CMC’s character tags, add the “cmc” tag.
I guess it might miss a little if there’s a plush adding the character tag, but you could just add a condition to not add any of the “quantity tags” (solo, duo, or trio) if there already is one - that would still leave a few, but then it could just make a gallery of all the images it added the “solo” tag to, another gallery for all the images it added the “duo” tag to, and another for all the images it added the “trio” tag to, and those could quickly be sorted through from the thumbnails.
A lot of it [searching by combinations of tags and adding the tag that goes with them] is what we already do with mass-tagging. And that can get through about 1,000 images per 3 minutes. Only slow part is figuring out an accurate search and also feeling up to doing the repetitive task.
int char_tags = 0;
bool has_trio = FALSE;
bool has_duo = FALSE;
bool has_nopony = FALSE;
for(int i = 0; i < image.numtags(); i____) {
image.addtag(“no pony”) } It's not a particularly hard problem. Of course this is assuming those nice functions already exist and calling the image properties could actually be doable, as if the images are all indexed in a nicely workable array or something. And even if they don't exist, making the functions to add a string on an array (if that's what tags even are) or return them or any of that would be pretty straightforward.
.is_char_tag()` might be a little tedious, but that would just mean grabbing whatever list of tags derpi uses to highlight a tag cyan instead of green and seeing if it is any of those tags.Help fund the $15 daily operational cost of Derpibooru - support us financially!