def __init__(self, photos, download_path): self.len = len(photos) log("downloader.__init__ with %d items and path=%s" % (self.len, download_path)) self.pDialog = xbmcgui.DialogProgress() self.pDialog.create(Addon.getAddonInfo("name")) s = Addon.getLocalizedString(32301) # Gathering Data... self.pDialog.update(0, s) album_title = photos[0]["album_title"] self.sub_folder = re.sub("[^\w\- ]", "", album_title).replace(" ", "_") self.full_path = os.path.join(download_path, self.sub_folder) log('script.download_album using full_path="%s"' % self.full_path) self.__create_folder(self.full_path) for i, photo in enumerate(photos): self.current_item = i + 1 url = photo["pic"] self.current_file = photo["pic"].split("/")[-1].split("?")[0] filename = os.path.join(self.full_path, self.current_file) log('downloader: Downloading "%s" to "%s"' % (url, filename)) try: urllib.urlretrieve(url, filename, self.update_progress) except IOError, e: log('downloader: ERROR: "%s"' % str(e)) break log("downloader: Done") if self.pDialog.iscanceled(): log("downloader: Canceled") break
def show_scrapers(): log('plugin.show_scrapers started') scrapers = get_scrapers() for scraper in scrapers: liz = xbmcgui.ListItem(scraper['title'], iconImage='DefaultImage.png', thumbnailImage='DefaultFolder.png') params = {'mode': 'albums', 'scraper_id': scraper['id']} url = 'plugin://%s/?%s' % (Addon.getAddonInfo('id'), urllib.urlencode(params)) xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url=url, listitem=liz, isFolder=True) log('plugin.show_scrapers finished')
def show_albums(scraper_id): log('plugin.show_albums started with scraper_id=%s' % scraper_id) albums = get_albums(scraper_id) for album in albums: liz = xbmcgui.ListItem(album['title'], iconImage='DefaultImage.png', thumbnailImage=album['pic']) liz.setInfo(type='image', infoLabels={'Title': album['title']}) params = {'mode': 'photos', 'scraper_id': scraper_id, 'album_url': album['id']} url = 'plugin://%s/?%s' % (Addon.getAddonInfo('id'), urllib.urlencode(params)) xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url=url, listitem=liz, isFolder=True) log('plugin.show_albums finished')
def startSlideshow(self): log('script.startSlideshow started') params = {} params['scraper_id'] = self.ScraperManager.scraper_id params['mode'] = 'photos' params['album_url'] = self.getProperty('album_url') if Addon.getSetting('random_slideshow') == 'true': random = 'random' else: random = 'notrandom' url = 'plugin://%s/?%s' % (Addon.getAddonInfo('id'), urllib.urlencode(params)) log('script.startSlideshow using url=%s' % url) xbmc.executebuiltin('Slideshow(%s, recursive, %s)' % (url, random)) log('script.startSlideshow finished')