def test_add_url(self): html = u""" <div> <div id="P856"> <div class="wikibase-statementgroupview-property-label"> <a href="/wiki/Property:P856"> official website </a> </div> <div class="wikibase-statementlistview"> <div class="wikibase-statementview listview-item"> <div class="wikibase-statementview-mainsnak"> <div> <div class="wikibase-snakview-value"> <a class="external free" href="https://searx.me"> https://searx.me/ </a> </div> </div> </div> </div> </div> </div> </div> """ urls = [] html_etree = fromstring(html) wikidata.add_url(urls, html_etree, 'P856') self.assertEquals(len(urls), 1) self.assertIn({ 'title': 'Official website', 'url': 'https://searx.me/' }, urls) urls = [] results = [] wikidata.add_url(urls, html_etree, 'P856', 'custom label', results=results) self.assertEquals(len(urls), 1) self.assertEquals(len(results), 1) self.assertIn({ 'title': 'custom label', 'url': 'https://searx.me/' }, urls) self.assertIn({ 'title': 'custom label', 'url': 'https://searx.me/' }, results) html = u""" <div> <div id="P856"> <div class="wikibase-statementgroupview-property-label"> <a href="/wiki/Property:P856"> official website </a> </div> <div class="wikibase-statementlistview"> <div class="wikibase-statementview listview-item"> <div class="wikibase-statementview-mainsnak"> <div> <div class="wikibase-snakview-value"> <a class="external free" href="http://www.worldofwarcraft.com"> http://www.worldofwarcraft.com </a> </div> </div> </div> </div> <div class="wikibase-statementview listview-item"> <div class="wikibase-statementview-mainsnak"> <div> <div class="wikibase-snakview-value"> <a class="external free" href="http://eu.battle.net/wow/en/"> http://eu.battle.net/wow/en/ </a> </div> </div> </div> </div> </div> </div> </div> """ urls = [] html_etree = fromstring(html) wikidata.add_url(urls, html_etree, 'P856') self.assertEquals(len(urls), 2) self.assertIn( { 'title': 'Official website', 'url': 'http://www.worldofwarcraft.com' }, urls) self.assertIn( { 'title': 'Official website', 'url': 'http://eu.battle.net/wow/en/' }, urls)
def test_add_url(self): html = u""" <div> <div id="P856"> <div class="wikibase-statementgroupview-property-label"> <a href="/wiki/Property:P856"> official website </a> </div> <div class="wikibase-statementlistview"> <div class="wikibase-statementview listview-item"> <div class="wikibase-statementview-mainsnak"> <div> <div class="wikibase-snakview-value"> <a class="external free" href="https://searx.me"> https://searx.me/ </a> </div> </div> </div> </div> </div> </div> </div> """ urls = [] html_etree = fromstring(html) wikidata.add_url(urls, html_etree, 'P856') self.assertEquals(len(urls), 1) self.assertIn({'title': 'Official website', 'url': 'https://searx.me/'}, urls) urls = [] results = [] wikidata.add_url(urls, html_etree, 'P856', 'custom label', results=results) self.assertEquals(len(urls), 1) self.assertEquals(len(results), 1) self.assertIn({'title': 'custom label', 'url': 'https://searx.me/'}, urls) self.assertIn({'title': 'custom label', 'url': 'https://searx.me/'}, results) html = u""" <div> <div id="P856"> <div class="wikibase-statementgroupview-property-label"> <a href="/wiki/Property:P856"> official website </a> </div> <div class="wikibase-statementlistview"> <div class="wikibase-statementview listview-item"> <div class="wikibase-statementview-mainsnak"> <div> <div class="wikibase-snakview-value"> <a class="external free" href="http://www.worldofwarcraft.com"> http://www.worldofwarcraft.com </a> </div> </div> </div> </div> <div class="wikibase-statementview listview-item"> <div class="wikibase-statementview-mainsnak"> <div> <div class="wikibase-snakview-value"> <a class="external free" href="http://eu.battle.net/wow/en/"> http://eu.battle.net/wow/en/ </a> </div> </div> </div> </div> </div> </div> </div> """ urls = [] html_etree = fromstring(html) wikidata.add_url(urls, html_etree, 'P856') self.assertEquals(len(urls), 2) self.assertIn({'title': 'Official website', 'url': 'http://www.worldofwarcraft.com'}, urls) self.assertIn({'title': 'Official website', 'url': 'http://eu.battle.net/wow/en/'}, urls)