def new_from_wikipedia(klass, url): # if we have a page for a given url already we can return it wikipedia_pages = WikipediaPage.objects.filter(url=url) if wikipedia_pages.count() > 0: return wikipedia_pages[0], False title_escaped = wikipedia.url_to_title(url) info = wikipedia.info(title_escaped) wikipedia_page = WikipediaPage.objects.create(title=info['title'], url=url, last_modified=rfc3339_parse(info['touched'])) for cat in wikipedia.categories(wikipedia_page.title): title = cat['title'][9:] if not title: continue category, created = WikipediaCategory.objects.get_or_create(title=title) wikipedia_page.categories.add(category) wikipedia_page.save() return wikipedia_page, True
def new_from_wikipedia(klass, url): # if we have a page for a given url already we can return it wikipedia_pages = WikipediaPage.objects.filter(url=url) if wikipedia_pages.count() > 0: return wikipedia_pages[0], False title_escaped = wikipedia.url_to_title(url) info = wikipedia.info(title_escaped) wikipedia_page = WikipediaPage.objects.create( title=info['title'], url=url, last_modified=rfc3339_parse(info['touched'])) for cat in wikipedia.categories(wikipedia_page.title): title = cat['title'][9:] if not title: continue category, created = WikipediaCategory.objects.get_or_create( title=title) wikipedia_page.categories.add(category) wikipedia_page.save() return wikipedia_page, True
def test_categories(self): info = wikipedia.categories('Skull_and_Bones') self.assertTrue(len(info) > 1)