#thanks to Magnus Manske
import json
import requests
import pywikibot
api_token = '?id=%s&action=get_data&format=json&doit'
api_url_base = 'https://tools.wmflabs.org/pagepile/api.php'
mypile='25092'
def PagePyleGenerator(pile):
url=api_url_base+api_token%pile
data = requests.get(url)
#print(dir(data))
pile_lng =json.loads(data.text)['language'] #language
pile_prj =json.loads(data.text)['project'] #project
pile_items=json.loads(data.text)['pages_returned'] #nr of items
pile_total=json.loads(data.text)['pages_total'] #pages_total
plsite=pywikibot.Site(pile_lng,pile_prj)
plrepo=plsite.data_repository()
pyle=(json.loads(data.text)['pages'])
for oneitem in pyle:
if (pile_lng=='wikidata'):
plwd=pywikibot.ItemPage(plrepo,oneitem)
plwd.get(get_redirect=True)
yield(plwd)
else:
plpage=pywikibot.Page(plsite,oneitem)
yield(plpage)
print('Start')
for x in PagePyleGenerator(mypile):
print(x)
print('Klaar')