def setUp(self): """Set up test case.""" super(TestDryPageGenerator, self).setUp() mysite = self.get_site() self.gen = api.PageGenerator(site=mysite, generator="links", titles="User:R'n'B") # following test data is copied from an actual api.php response, # but that query no longer matches this dataset. # http://en.wikipedia.org/w/api.php?action=query&generator=links&titles=User:R%27n%27B self.gen.request.submit = types.MethodType(lambda self: { "query": {"pages": {"296589": {"pageid": 296589, "ns": 0, "title": "Broadcaster.com" }, "13918157": {"pageid": 13918157, "ns": 0, "title": "Broadcaster (definition)" }, "156658": {"pageid": 156658, "ns": 0, "title": "Wiktionary" }, "47757": {"pageid": 47757, "ns": 4, "title": "Wikipedia:Disambiguation" } } } }, self.gen.request) # On a dry site, the namespace objects only have canonical names. # Add custom_name for this site namespace, to match the live site. if 'Wikipedia' not in self.site.namespaces: self.site.namespaces[4].custom_name = 'Wikipedia'
def setUp(self): super(TestPageGenerator, self).setUp() self.gen = api.PageGenerator(site=mysite, generator="links", titles="User:R'n'B") # following test data is copied from an actual api.php response self.gen.data = { "query": { "pages": { "296589": { "pageid": 296589, "ns": 0, "title": "Broadcaster.com" }, "13918157": { "pageid": 13918157, "ns": 0, "title": "Broadcaster (definition)" }, "156658": { "pageid": 156658, "ns": 0, "title": "Wiktionary" }, "47757": { "pageid": 47757, "ns": 4, "title": "Wikipedia:Disambiguation" } } } }
def test_namespace_for_module_with_no_limit(self): """Test PageGenerator set_namespace.""" self.gen = api.PageGenerator(site=self.site, generator='links', parameters={'titles': 'test'}) self.assertRaises(AssertionError, self.gen.set_namespace, 0) self.assertRaises(AssertionError, self.gen.set_namespace, 1) self.assertRaises(AssertionError, self.gen.set_namespace, None)
def PagesByGeographId(gridimage_id): # Returns all pages with a given Geograph ID. return api.PageGenerator( "categorymembers", parameters=dict( gcmtitle="Category:Images from Geograph Britain and Ireland", gcmtype="file", gcmstartsortkeyprefix=" %08d" % (gridimage_id, ), gcmendsortkeyprefix=" %08d" % (gridimage_id + 1, )))
def NewGeographImages(parameters=None, **kwargs): if parameters == None: parameters = dict() return api.PageGenerator( "categorymembers", parameters=dict( gcmtitle="Category:Images from Geograph Britain and Ireland", gcmtype="file", gcmsort="timestamp", gcmdir="older", **parameters), **kwargs)
def setUp(self): """Set up test case.""" super(TestDryPageGenerator, self).setUp() mysite = self.get_site() self.gen = api.PageGenerator(site=mysite, generator='links', parameters={'titles': "User:R'n'B"}) # following test data is copied from an actual api.php response, # but that query no longer matches this dataset. # http://en.wikipedia.org/w/api.php?action=query&generator=links&titles=User:R%27n%27B self.gen.request.submit = types.MethodType( lambda self: { 'query': { 'pages': { '296589': { 'pageid': 296589, 'ns': 0, 'title': 'Broadcaster.com' }, '13918157': { 'pageid': 13918157, 'ns': 0, 'title': 'Broadcaster ' '(definition)' }, '156658': { 'pageid': 156658, 'ns': 0, 'title': 'Wiktionary' }, '47757': { 'pageid': 47757, 'ns': 4, 'title': 'Wikipedia:Disambiguation' } } } }, self.gen.request) # On a dry site, the namespace objects only have canonical names. # Add custom_name for this site namespace, to match the live site. if 'Wikipedia' not in self.site.namespaces: self.site.namespaces[4].custom_name = 'Wikipedia' self.site.namespaces._namespace_names['wikipedia'] = ( self.site.namespaces[4])
def RossUploads(parameters=None, **kwargs): if parameters == None: parameters = {} parameters['gaiuser'] = '******' parameters['gaisort'] = 'timestamp' print(parameters) return api.PageGenerator("allimages", parameters=parameters, **kwargs)