def show(self, subtitle=None, quality=None, **params): log("(Player) Creating player options") if _settings.handle > -1: xbmcplugin.endOfDirectory( _settings.handle, True, False, False) # https://github.com/Diblo/KODI-Popcorn-Time/issues/57 item = self.getSelectedItem() free_space = self.calculate_free_space() if not quality: waring = [] for _q in self.mediaSettings.qualities: if params.get(_q): if params['%ssize' % _q] > free_space: if _q == '3D' and self.mediaSettings.play3d == 1 and not Dialog( ).yesno(line2=30011, lineStr1=' ', headingStr=item['info']['title']): continue quality = _q break waring = waring + [_q] if waring: if not quality: raise Notify('There is not enough free space in %s' % self.mediaSettings.download_path, 30323, level=NOTIFYLEVEL.ERROR) if len(waring) > 1: notify(message=__addon__.getLocalizedString(30325) % (", ".join(waring), waring.pop()), level=NOTIFYLEVEL.WARNING) else: notify(message=__addon__.getLocalizedString(30326) % waring[0], level=NOTIFYLEVEL.WARNING) log( '(Player) There must be a minimum of %s to play. %s available in %s' % (shortenBytes( params['%ssize' % quality]), shortenBytes(free_space), self.mediaSettings.download_path), LOGLEVEL.NOTICE) elif not params.get(quality): raise Error('%s quality was not found' % quality, 30023) elif params['%ssize' % quality] < free_space: raise Notify('There is not enough free space in %s' % self.mediaSettings.download_path, 30323, level=NOTIFYLEVEL.ERROR) TorrentPlayer().playTorrentFile( self.mediaSettings, build_magnetFromMeta(params[quality], "quality %s" % quality), item, subtitle)
def _get_status_lines(self, status): if status: if status["state"] == TorrentEngine.DOWNLOADING: return [ __addon__.getLocalizedString(30021), __addon__.getLocalizedString(30008) % (shortenBytes(status["download_rate"] * 1024), shortenBytes(status["upload_rate"] * 1024)), __addon__.getLocalizedString(30015) + str(status["num_seeds"]), ] if status["state"] in [TorrentEngine.FINISHED, TorrentEngine.SEEDING]: return [__addon__.getLocalizedString(30022), " ", " "] return [ __addon__.getLocalizedString(30036), __addon__.getLocalizedString(30015) + str(status["num_seeds"]), " ", ]
def _get_status_lines(self, status): if status: if status['state'] == TorrentEngine.DOWNLOADING: return [ __addon__.getLocalizedString(30021), __addon__.getLocalizedString(30008) % (shortenBytes(status['download_rate'] * 1024), shortenBytes(status['upload_rate'] * 1024)), __addon__.getLocalizedString(30015) % status['num_seeds'] ] if status['state'] in [ TorrentEngine.FINISHED, TorrentEngine.SEEDING ]: return [__addon__.getLocalizedString(30022), ' ', ' '] return [ __addon__.getLocalizedString(30036), __addon__.getLocalizedString(30015) % status['num_seeds'], ' ' ]
def _get_status_lines(self, status): if status: if status['state'] == TorrentEngine.DOWNLOADING: return [ __addon__.getLocalizedString(30021), __addon__.getLocalizedString(30008) %(shortenBytes(status['download_rate']*1024), shortenBytes(status['upload_rate']*1024)), __addon__.getLocalizedString(30015)+str(status['num_seeds']) ] if status['state'] in [TorrentEngine.FINISHED, TorrentEngine.SEEDING]: return [ __addon__.getLocalizedString(30022), ' ', ' ' ] return [ __addon__.getLocalizedString(30036), __addon__.getLocalizedString(30015)+str(status['num_seeds']), ' ' ]
def player(self, subtitle=None, quality=None, **params): log("(Main) Creating player options") if settings.addon.handle > -1: xbmcplugin.endOfDirectory(settings.addon.handle, True, False, False) item = self.getSelectedItem() free_space = self._calculate_free_space() if not quality: waring = [] for _q in self.mediaSettings.qualities: if params.get(_q): if params['%ssize' %_q] > free_space: if _q == '3D' and self.mediaSettings.play3d == 1 and not Dialog().yesno(line2=30011, lineStr1=' ', headingStr=item['info']['title']): continue quality = _q break waring = waring+[_q] if waring: if not quality: raise Notify('There is not enough free space in %s' %self.mediaSettings.download_path, 30323, level=NOTIFYLEVEL.ERROR) if len(waring) > 1: notify(message=__addon__.getLocalizedString(30325) %(", ".join(waring), waring.pop()), level=NOTIFYLEVEL.WARNING) else: notify(message=__addon__.getLocalizedString(30326) %waring[0], level=NOTIFYLEVEL.WARNING) log('(Main) There must be a minimum of %s to play. %s available in %s' %(shortenBytes(params['%ssize' %quality]), shortenBytes(free_space), self.mediaSettings.download_path), LOGLEVEL.NOTICE) elif not params.get(quality): raise Error('%s quality was not found' %quality, 30023) elif params['%ssize' %quality] < free_space: raise Notify('There is not enough free space in %s' %self.mediaSettings.download_path, 30323, level=NOTIFYLEVEL.ERROR) TorrentPlayer().playTorrentFile(self.mediaSettings, build_magnetFromMeta(params[quality], "quality %s" %quality), item, subtitle)