User:TidB/Operation Cleanup/Filters

From Team Fortress Wiki
< User:TidB‎ | Operation Cleanup
Revision as of 16:18, 4 February 2015 by Darkid (talk | contribs) (The problem with a lot of what this program is doing is that it's not really practical to automate it -- too liable to break something.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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.

Removing {{DISPLAYTITLE}} from certain pages

def check_displaytitle(t, **kwargs):
    displaytitle_notrequired = ["Cosmetic items", "Weapons", "Patches", "Tools", "Action items"]
    displaytitle_required = ["Major updates", "Content Packs"]  # Set because these are also in the "patches" category
    if t.getName().startswith("DISPLAYTITLE:"):  # why do we need a getter method btw?
        categories = kwargs["article"].getCategories()  # I'm just guessing the return type is a list, will check later
        print kwargs["article"].title
        language = kwargs["article"].title.split("/")[-1]  # I know it's ugly, but I dunno if there are easier sources to get the language code. It's cleaner to check it with a list, though

        for c in displaytitle_required:
            if "Category:{}/{}".format(c, language) in categories:
                return t
        for c in displaytitle_notrequired:
            if "Category:{}/{}".format(c, language) in categories:
                return None
    return t
addTemplateFilter(check_displaytitle)

Removing the name parameter from item infoboxes

def name_parameter(t, **kwargs):
    if t.getName() == "Item infobox":  # 'getName()' seems to return the stripped name; no newlines
        t.delParam("name")
    return t
addTemplateFilter(name_parameter)