summaryrefslogtreecommitdiff
path: root/find_archived_proposals_without_template.py
blob: 50dbbd9917fcd299823a911d9d06be611622c7b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/env python3
"""
Sometimes when archiving a page people accidentally also replace the
{{Proposal page}} template, which however means that proposal.py
won't find the page anymore. This script lists such pages so that the
template can be manually restored.
"""
import pywikiapi
import mwparserfromhell

OSMWIKI_ENDPOINT = 'https://wiki.openstreetmap.org/w/api.php'


def run():
    osmwiki = pywikiapi.Site(OSMWIKI_ENDPOINT)

    for page in osmwiki.query_pages(
        generator='categorymembers',
        gcmtitle='Category:Archived proposals',
        gcmlimit='max',
        prop='templates',
        tltemplates='Template:Proposal page',
    ):
        if not 'templates' in page:
            print(page['title'])


if __name__ == "__main__":
    run()