Jump to content
Wikipedia The Free Encyclopedia

User:DreamRimmer bot III/Task9.py

From Wikipedia, the free encyclopedia
import pywikibot
import mwparserfromhell
def run(wikicode, inside_template=False):
 for node in wikicode.nodes:
 if isinstance(node, mwparserfromhell.nodes.Template):
 for param in node.params:
 run(param.value, inside_template=True)
 elif isinstance(node, mwparserfromhell.nodes.Wikilink):
 if str(node.title).startswith('Category:') and not inside_template:
 category_name = str(node.title)[9:].strip()
 words = category_name.split()
 if not any(word.lower() in {'draft', 'drafts', 'wikipedia'} for word in words):
 node.title.insert(0, mwparserfromhell.nodes.Text(':'))
 elif isinstance(node, mwparserfromhell.nodes.Tag):
 if node.contents:
 run(node.contents, inside_template)
site = pywikibot.Site('en', 'wikipedia')
search_string = r'insource:/\[\[Category:/ incategory:"All content moved from mainspace to draftspace" -insource:/\{\{[Dd]raft categories/'
pages = site.search(search_string, namespaces=[118])
for page in pages:
 print(page)
 current_text = page.text
 code = mwparserfromhell.parse(current_text)
 run(code)
 new_text = str(code)
 
 if current_text != new_text:
 pywikibot.showDiff(current_text, new_text)
 page.text = new_text
 page.save(summary='Disable content categories per [[WP:DRAFTNOCAT]] (bot)', minor=True, bot=True)

AltStyle によって変換されたページ (->オリジナル) /