Gebruiker:HernoemBot/bulkmove.py
Uiterlijk
(Doorverwezen vanaf Gebruiker:Bitbotje/bulkmove.py)
Voor het hernoemen van een serie metapagina's (maar geen categorieën!), inclusief het bijwerken van het label op Wikidata.
import pwb
import pywikibot
from pywikibot.backports import Tuple
import scripts.movepages
from scripts.movepages import MovePagesBot
def main(*args: Tuple[str, ...]) -> None:
summary = ''
local_args = pywikibot.handle_args(args)
for arg in local_args:
option, _, value = arg[1:].partition(':')
if option == 'summary':
summary = value
inputFile = open('input.txt', 'r', encoding='utf-8')
site = pywikibot.Site()
# call movepages.py
options = {'always': True, 'summary': summary}
bot = MovePagesBot(**options)
for line in inputFile:
old_title, new_title = line.split('\t')
try:
bot.move_one(pywikibot.Page(site, old_title), new_title)
except Error:
pywikibot.error('Fatal error:', exc_info=True)
# update Wikidata label
page = pywikibot.Page(site, new_title)
try:
item = pywikibot.ItemPage.fromPage(page)
item.get()
item.editLabels(labels={'nl': page.title(with_ns=True)}, summary='Update [nl] label')
except pywikibot.exceptions.NoPageError:
pass
inputFile.close()
print('Done.')
if __name__ == '__main__':
main()