Gebruiker:Bitbotje/logmovestomain.py
Script voor Gebruiker:Bitbotje/Logboek verplaatsingen naar de hoofdnaamruimte.
# -*- coding: utf-8 -*-
"""
Searches the move logs for moves to the main namespace and generates a report.
"""
#
# (C) bdijkstra 2018
#
# Distributed under the terms of the MIT license.
#
import datetime
import locale
import pywikibot
from datetime import timedelta
from pywikibot.data import api
site = pywikibot.Site('nl')
locale.setlocale(locale.LC_ALL, 'nl') # strftime()
now = site.server_time()
oneWeekAgo = now - timedelta(days=7)
wikistr = u"Hieronder staat een lijst van pagina's die zijn verplaatst naar de hoofdnaamruimte vanuit een andere naamruimte. Deze pagina wordt meerdere malen per week bijgewerkt door een bot. De tijden zijn in UTC.\n\n"
for item in api.LogEntryListGenerator(site=site, logtype='move',
letype='move', lelimit='500'):
if item.target_ns == 0 and item.ns() != 0:
if item.timestamp() <= oneWeekAgo:
break
if site.isBot(item.user()):
continue
day = int(u'%s' % item.timestamp().strftime("%d"))
wikistr += u'* %d %s' % (day, item.timestamp().strftime("%b %Y %H:%M"))
wikistr += u' [[Special:Contributions/%s|%s]]' % (
item.user(), item.user())
wikistr += u' heeft pagina %s hernoemd naar %s' % (
item.page().title(as_link=True, textlink=True),
item.target_page.title(as_link=True, textlink=True))
if item.comment():
wikistr += " ''(%s)''" % item.comment().replace('<', '<')
wikistr += u'\n'
pywikibot.Page(site,
u'User:Bitbotje/Logboek verplaatsingen naar de hoofdnaamruimte'
).put(wikistr, summary=u'update')