def execute(self, html): data, page = html soup = BeautifulSoup(data,convertEntities=BeautifulSoup.XML_ENTITIES, fromEncoding='utf-8') if Retriever.is_acquisition_feed(soup): self.tasks = [ Entry(unicode(entry), self.link) for entry in Retriever.get_entries(soup) ] else: #navigation feed entries = Retriever.get_entries(soup) links = filter( lambda l: l!=None, [Retriever.get_catalog_link(entry) for entry in entries] ) links = filter( Retriever.is_permitted_link, links) links = map( lambda link: make_correct_link(self.link, link), links) self.tasks = [ Page(link) for link in links] return True