From de00e999b0ee22ec640f7862210ac2c4f61c55e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=BE=D1=80=D0=BE=D0=B4=D0=B8=D0=BD=20=D0=A0=D0=BE?= =?UTF-8?q?=D0=BC=D0=B0=D0=BD?= Date: Sun, 5 May 2019 11:46:05 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=BD=D1=84=D0=BE=D1=80=D0=BC=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D1=8F=20=D0=BE=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83?= =?UTF-8?q?=D0=B7=D0=BA=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/lib/player.py | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/resources/lib/player.py b/resources/lib/player.py index ce4e0da..a6384a2 100644 --- a/resources/lib/player.py +++ b/resources/lib/player.py @@ -4,17 +4,17 @@ from .utils import get_engine, localize class TorrentPlayer(xbmc.Player) : pyrrent_engine = None loop = None + paused = False def onPlayBackEnded(self): self.pyrrent_engine.close() self.loop.stopped = True xbmc.Player().stop() def onPlayBackPaused(self): self.pyrrent_engine.pause() - #self.loop.overlay.show() - + self.paused = True def onPlayBackResumed(self): - self.loop.overlay.hide() - #self.pyrrent_engine.resume() + self.paused = False + self.pyrrent_engine.resume() def onPlayBackStopped(self): self.pyrrent_engine.close() @@ -47,7 +47,7 @@ class TorrentPlayer(xbmc.Player) : pw.close() break fstat = self.pyrrent_engine.file_status(f_index) - listitem = xbmcgui.ListItem('.'.join(fstat.name.split('.')[:-1]), path=fstat.url) + listitem = xbmcgui.ListItem('.'.join(fstat.name.split('/')[-1].split('.')[:-1])[:-1], path=fstat.url) xbmc.Player.play(self, fstat.url, listitem) class VideoLoop(object): @@ -55,13 +55,22 @@ class VideoLoop(object): def __init__(self, torr_fp): self.e = get_engine(torr_fp) def start(self, f_index): + self.statinfo = xbmcgui.Dialog() self.mediaPlayer = TorrentPlayer() self.mediaPlayer.loop = self self.mediaPlayer.play(self.e, f_index) while not self.stopped: # sometime busydialog is showing in infinite loop. kick it. if xbmc.getCondVisibility('Window.IsVisible(busydialog)'): - xbmc.executebuiltin("Dialog.Close(busydialog)") + xbmc.executebuiltin("Dialog.Close(busydialog)") status = self.e.status() f_status = self.e.file_status(f_index) + if self.mediaPlayer.paused: + self.statinfo.notification('[{}]{}.'.format(('|' * (int(f_status.progress * 100) / 2)).ljust(50, '.'), ' ' * 100), + 'S: {} DL: {} KB/s UL: {} KB/s'.format(status.num_seeds, + status.download_rate, + status.upload_rate), + time=2, sound=False + ) xbmc.sleep(1000) +