def start(self, pause_sec=2): wi = WebInterface(DownloadManager.base_url) wp_all = AllHeroesParser() wp_detail = HeroDetailParser() heroes_all = wp_all.parse(wi.load_html_content(DownloadManager.all_heroes_url)) self.heroes = [] for i, hero in enumerate(heroes_all): img_path = DataManager.convert_url_to_img_path(hero['url'], hero['img_url']) sleep(pause_sec) details = wp_detail.parse(wi.load_html_content(hero['url'])) related_to = {} for related_hero in details: related_to[related_hero['name']] = related_hero['advantage'] self.heroes.append(Hero(name=hero['name'], img_path=img_path, related_to=related_to)) try: with open(img_path, 'rb') as fp: pass except IOError: # image file not found sleep(pause_sec) DataManager.save_image(wi.load_image(hero['img_url']), img_path) self.hero_loaded.emit(hero['name'], i+1, len(heroes_all)) self.job_done.emit()
def start(self, pause_sec=2): wi = WebInterface(DownloadManager.base_url) wp_all = AllHeroesParser() wp_detail = HeroDetailParser() heroes_all = wp_all.parse( wi.load_html_content(DownloadManager.all_heroes_url)) self.heroes = [] for i, hero in enumerate(heroes_all): img_path = DataManager.convert_url_to_img_path( hero['url'], hero['img_url']) sleep(pause_sec) details = wp_detail.parse(wi.load_html_content(hero['url'])) related_to = {} for related_hero in details: related_to[related_hero['name']] = related_hero['advantage'] self.heroes.append( Hero(name=hero['name'], img_path=img_path, related_to=related_to)) try: with open(img_path, 'rb') as fp: pass except IOError: # image file not found sleep(pause_sec) DataManager.save_image(wi.load_image(hero['img_url']), img_path) self.hero_loaded.emit(hero['name'], i + 1, len(heroes_all)) self.job_done.emit()