Ejemplo n.º 1
0
    def test_site_get_siteinfo(self):
        site = wptools.site(silent=SILENT_FLAG)
        site.cache = {
            'siteinfo': siteinfo.cache,
            'sitevisitors': siteviews.cache
        }
        site.get_info(wiki='en.wikipedia.org')
        site._set_data('siteinfo')
        site._set_data('sitevisitors')
        data = site.data
        self.assertEqual(data['activeusers'], 126428)
        self.assertEqual(data['admins'], 1248)
        self.assertEqual(data['articles'], 5478623)
        self.assertEqual(data['edits'], 910438071)
        self.assertEqual(data['images'], 854622)
        self.assertEqual(len(data['info']), 49)
        self.assertEqual(data['pages'], 43112467)
        self.assertEqual(data['site'], 'enwiki')
        self.assertEqual(data['users'], 31786628)

        self.assertEqual(len(data['mostviewed']), 478)
        self.assertEqual(data['siteviews'], 233991363)
        self.assertEqual(data['visitors'], 63079969)

        site.top()
        site.top(wiki='en.wikipedia.org', limit=10)

        self.assertTrue('requests' not in site.data)
Ejemplo n.º 2
0
 def test_site_get_info(self):
     """
     Get info about a random site
     """
     site = wptools.site(silent=True)
     site.get_sites()
     self.assertTrue(site.data['random'] is not None)
     site.get_info(site.data['random'])
     self.assertTrue(site.data['visitors'] >= 0)
     site.top(limit=10)
Ejemplo n.º 3
0
def popular(lang):
    """
    returns list of most popular pages
    """
    site = wptools.site(silent=True)
    if lang:
        site.get_info("%s.wikipedia.org" % lang)
    else:
        site.get_info()
    return [x['title'] for x in site.data['mostviewed']]
Ejemplo n.º 4
0
def popular(lang):
    """
    returns list of most popular pages
    """
    site = wptools.site(silent=True)
    if lang:
        site.get_info("%s.wikipedia.org" % lang)
    else:
        site.get_info()
    return [x['title'] for x in site.data['mostviewed']]
Ejemplo n.º 5
0
    def test_site_get_info(self):
        """
        Get info about a random site
        """
        site = wptools.site(silent=True)

        site.get_sites()
        self.assertTrue(site.data['random'] is not None)

        site.get_info(site.data['random'])
        self.assertTrue(site.data['visitors'] >= 0)

        site.top()
Ejemplo n.º 6
0
    def test_site_query(self):
        site = wptools.site()

        qobj = wptools.query.WPToolsQuery(wiki='commons.wikimedia.org')
        query = site._query('sitematrix', qobj)
        self.assertTrue(query.startswith('https://commons.wikimedia.org'))

        qobj = wptools.query.WPToolsQuery()
        query = site._query('siteinfo', qobj)
        self.assertTrue('&meta=siteinfo|siteviews' in query)
        self.assertTrue('&siprop=general|statistics' in query)
        self.assertTrue('&list=mostviewed&pvimlimit=max' in query)
        query = site._query('sitevisitors', qobj)
        self.assertTrue('&meta=siteviews&pvismetric=uniques' in query)
Ejemplo n.º 7
0
    def test_site_get_sites(self):
        site = wptools.site(silent=True)
        site.cache = {'sitematrix': sitematrix.cache}

        site.get_sites()
        site._set_data('sitematrix')
        self.assertEqual(len(site.data['sites']), 741)
        self.assertTrue(site.data.get('random') is not None)

        site.get_sites(domain='wikipedia.org')
        site._set_data('sitematrix')
        self.assertEqual(len(site.data['sites']), 290)

        # filter by domain
        site.params.update({'domain': 'wikipedia.org'})
        site._set_data('sitematrix')
        data = site.data
        self.assertEqual(len(data['sites']), 290)
Ejemplo n.º 8
0
 def test_site_init(self):
     site = wptools.site()
     self.assertEqual(site.params, {'lang': 'en'})
     self.assertEqual(site.flags, {'silent': False, 'verbose': False})
Ejemplo n.º 9
0
}
outdict = {'langs': []}
errorlog = open('errorlog.txt', 'w')
"""
for franchise in franchises:
	page = wptools.page(franchise)
	#page.get_parse()
	#for elem in page.data['infobox']:
	#	print(elem)
	page.get_wikidata()
	print(page.data['wikidata'])
"""

for lang in wiki_langs_dict:
    try:
        site = wptools.site()
        site.top(lang + '.wikipedia.org')

        lang_dict = {
            'shortname': lang,
            'longname': wiki_langs_dict[lang],
            'top_articles': []
        }

        for i in range(0, 25):
            p = site.data['mostviewed'][i]
            try:
                page = wptools.page(p['title'])
                page.get_more()
                if 'categories' in page.data:
                    p['categories'] = page.data['categories']