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'
Exemple #2
0
 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"
                 }
             }
         }
     }
Exemple #3
0
 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)
Exemple #6
0
    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)