Difference between revisions of "User:TidB/Operation Cleanup/Filters"
m (→Removing {{code|{{DISPLAYTITLE}}}} from certain pages) |
(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.) |
||
Line 3: | Line 3: | ||
As I haven't looked into both wikitools' and WindBOT's code too much, this is really just a concept. | As I haven't looked into both wikitools' and WindBOT's code too much, this is really just a concept. | ||
=== Removing {{code|<nowiki>{{DISPLAYTITLE}}</nowiki>}} from certain pages === | === Removing {{code|<nowiki>{{DISPLAYTITLE}}</nowiki>}} from certain pages === | ||
− | + | <pre> | |
− | + | 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) | ||
+ | </pre> | ||
=== Removing the {{code|name}} parameter from item infoboxes === | === Removing the {{code|name}} parameter from item infoboxes === |
Latest revision as of 16:18, 4 February 2015
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)