コード例 #1
0
	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()
コード例 #2
0
    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()