예제 #1
0
    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'])
예제 #2
0
 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)
예제 #3
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