def fetch_keywords(self): def html_to_keyword_dict(html): keywords = pages_parser.parse_keywords_from_html(html) return { keyword.name : keyword for keyword in keywords } perpage = 1000 keywords_page = self._awr_cloud_connector.get_keywords_page(self._project_id, perpage, 0) total_keywords = pages_parser.parse_total_keywords(keywords_page.text) print ("Fetching keywords...") print ("Retrieved %s keywords" % total_keywords) self._keywords = html_to_keyword_dict(keywords_page.text) for offset in range (perpage, total_keywords, perpage): print ("Fetching remaining keywords from " + str(offset)) keywords_page = self._awr_cloud_connector.get_keywords_page(self._project_id, perpage, offset) self._keywords.update(html_to_keyword_dict(keywords_page.text))
def test_get_total_keywords(self): with open(get_fixture_file("fixtures/html/keywords_page.html"), "r") as f: s = f.read() number = pages_parser.parse_total_keywords(s) self.assertEqual(2, number)