User:TidB/Operation Cleanup/Filters

From Team Fortress Wiki
< User:TidB‎ | Operation Cleanup
Revision as of 05:59, 4 November 2014 by TidB (talk | contribs) (nah, it's just a list comprehension spanning over multiple lines. basically the same. long lines ftw. using filter() would be ugly.)
Jump to: navigation, search

Test page; will poot filter concepts for User:WindBOT here. Later (my favorite word).

As I haven't looked into both wikitools' and WindBOT's code too much, this is really just a concept.

def check_displaytitle(t, **kwargs):
    displaytitle_notrequired = ["Cosmetic items", "Weapons", "Patches", "Tools", "Action items"]
    displaytitle_required = ["Major updates", "Content Packs"]  # Set because major updates are also in the "patches" category
    if t.getName().startswith("DISPLAYTITLE:"):  # why do we need a getter method btw?
        categories = kwargs["page"].getCategories()  # I'm just guessing the return type is a list, will check later
        language = kwargs["page"].title.split()[1]  # I know it's ugly, but I dunno if there are easier sources to get the language code
        if [c for c in displaytitle_required if "Category:{}/{}".format(c, language) in categories]:
            return t
        elif [c for c in displaytitle_notrequired if "Category:{}/{}".format(c, language) in categories]:  # I don't like repeating code .-.
            return None
addTemplateFilter(check_displaytitle)