def get_all_pages(self, api, site): """Return all pages on the wiki""" from wikitools.pagelist import listFromQuery result = api.APIRequest(site, {'action': 'query', 'generator': 'allpages'}).query() return listFromQuery(site, result['query']['pages'])
def test_listFromQuery(self): params = {"action": "query", "list": "allpages"} req = api.APIRequest(self.site, params) res = req.query(False) api.logging = True pages = pagelist.listFromQuery(self.site, res["query"]["allpages"]) for item in pages: self.assertIsInstance(item, page.Page) self.assertTrue(item.exists) self.assertEqual(len(api.querylog), 0)
""" This script parse the orphan pages from Special pages It add the orphan page template if it is necessary and build the project pages """ # define the params for the query params = {'action':'query', 'list':'querypage', 'qppage':'Lonelypages', 'qplimit':'500', 'qpoffset':'0'} #params = {'action' : 'query', 'titles':'Main page'} # create the request object request = api.APIRequest(Site.site, params) # query the API result = request.query(False) pages = pagelist.listFromQuery(Site.site, result['query']['querypage']['results']) allCat = {} orphans = [] for p in pages: if p.namespace > 0: print p.title + ": not an article" continue if p.isRedir(): print p.title + ": redirect" continue p.setPageInfo() if int(p.pageid) < 1: print p.title + ": del" continue