From 47946616e79ce8bddf2c55589da432bc5b8e599b 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 10:16:32 +0300 Subject: [PATCH] =?UTF-8?q?=D0=92=D0=B5=D1=80=D1=81=D0=B8=D1=8F=203.0.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- addon.py | 2 +- addon.xml | 8 +++++--- icon.png | Bin 0 -> 58948 bytes resources/lib/player.py | 21 +++++++++++++-------- resources/lib/searchers/rutor.py | 3 ++- resources/lib/utils/__init__.py | 2 +- 6 files changed, 22 insertions(+), 14 deletions(-) create mode 100644 icon.png diff --git a/addon.py b/addon.py index 978a25d..31d9a87 100644 --- a/addon.py +++ b/addon.py @@ -7,7 +7,7 @@ import xbmcgui, xbmc from resources.lib.searchers import rutor from resources.lib.utils import localize, store_torrent_file, get_engine from resources.lib.overrrides.session import torrent_file_fetch -from resources.lib.player import PlaybackWindow, VideoLoop +from resources.lib.player import VideoLoop video_extensions = ('.mp4', '.avi', '.3gp', '.ogv', '.mkv', '.ts', '.mpg', '.mpeg', '.webm', '.flv', '.vob') diff --git a/addon.xml b/addon.xml index 2bbfaa3..b672c6e 100644 --- a/addon.xml +++ b/addon.xml @@ -7,11 +7,13 @@ - audio video + video Plugin helps you to watch videos from p2p torrent-networks, without full predownload. - Plugin helps you to watch videos from p2p torrent-networks, without full predownload. + This add-on is fully rewrited version of Torrenter v2 + Позволяет смотреть видео из p2p-сети torrent без предварителной закачки. + Этот модуль является полностью переписанной версией модуля Torrenter v2 MIT https://git.ukamnya.ru/ukamnya/plugin.video.torrenter3 http://xbmc.ru/forum/showthread.php?t=14787 @@ -26,7 +28,7 @@ resources/screenshots/screenshot001.jpg resources/screenshots/screenshot002.jpg --> - Initial release + - 3.0.1: first rewrited version true \ No newline at end of file diff --git a/icon.png b/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2bf55b4621fcffbce32d74926836caa7ff39803e GIT binary patch literal 58948 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
    M*hQ` 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 A`Tzg` literal 0 HcmV?d00001 diff --git a/resources/lib/player.py b/resources/lib/player.py index a7e8a11..ce4e0da 100644 --- a/resources/lib/player.py +++ b/resources/lib/player.py @@ -1,8 +1,6 @@ import xbmc, xbmcgui from .utils import get_engine, localize -EXPECTED_KBITS = 512 - class TorrentPlayer(xbmc.Player) : pyrrent_engine = None loop = None @@ -12,9 +10,11 @@ class TorrentPlayer(xbmc.Player) : xbmc.Player().stop() def onPlayBackPaused(self): self.pyrrent_engine.pause() + #self.loop.overlay.show() def onPlayBackResumed(self): - self.pyrrent_engine.resume() + self.loop.overlay.hide() + #self.pyrrent_engine.resume() def onPlayBackStopped(self): self.pyrrent_engine.close() @@ -27,6 +27,8 @@ class TorrentPlayer(xbmc.Player) : monitor = xbmc.Monitor() pw = xbmcgui.DialogProgress() pw.create(localize(33055), line1='0 Kbit/s') + f_size = self.pyrrent_engine.file_status(f_index).size + EXPECTED_KBYTES = f_size / 3 / 1024 / 1024 while True: xbmc.sleep(500) if monitor.abortRequested() or pw.iscanceled(): @@ -37,10 +39,10 @@ class TorrentPlayer(xbmc.Player) : return False status = self.pyrrent_engine.status() d_rate = status.download_rate - xbmc.log('*** DRATE: {}'.format(d_rate), level=xbmc.LOGNOTICE) - perc = d_rate / EXPECTED_KBITS * 100 + # xbmc.log('*** DRATE: {}'.format(d_rate), level=xbmc.LOGNOTICE) + perc = d_rate / EXPECTED_KBYTES * 100 if perc > 100: perc = 100 - pw.update(perc, line1='{} kbit/s'.format(int(d_rate))) + pw.update(perc, line1=' {} / {} KB/s'.format(int(d_rate), int(EXPECTED_KBYTES))) if perc == 100: pw.close() break @@ -50,7 +52,6 @@ class TorrentPlayer(xbmc.Player) : class VideoLoop(object): stopped = False - status = None def __init__(self, torr_fp): self.e = get_engine(torr_fp) def start(self, f_index): @@ -58,5 +59,9 @@ class VideoLoop(object): self.mediaPlayer.loop = self self.mediaPlayer.play(self.e, f_index) while not self.stopped: - self.status = self.e.status() + # sometime busydialog is showing in infinite loop. kick it. + if xbmc.getCondVisibility('Window.IsVisible(busydialog)'): + xbmc.executebuiltin("Dialog.Close(busydialog)") + status = self.e.status() + f_status = self.e.file_status(f_index) xbmc.sleep(1000) diff --git a/resources/lib/searchers/rutor.py b/resources/lib/searchers/rutor.py index def1e07..740ff89 100644 --- a/resources/lib/searchers/rutor.py +++ b/resources/lib/searchers/rutor.py @@ -1,7 +1,8 @@ from . import Searcher, urljoin_partial, ResultItem class SearchEngine(Searcher): - base_url = 'http://new-tor.top' + #base_url = 'http://new-tor.top' + base_url = 'http://rutor.info' search_path = '/search/0/0/100/2/{}' name = 'RuTor.org' icon = 'searcher_rutor.png' diff --git a/resources/lib/utils/__init__.py b/resources/lib/utils/__init__.py index c29f363..a9c9fd1 100644 --- a/resources/lib/utils/__init__.py +++ b/resources/lib/utils/__init__.py @@ -1,4 +1,5 @@ from codequick.support import addon_data # @UnresolvedImport +from codequick.listing import local_image # @UnresolvedImport from urlquick import urljoin # @UnresolvedImport from ..settings import option, storage_toorents_dir, storage_download_dir import xbmcgui @@ -38,7 +39,6 @@ def get_engine(torrent_uri): encryption=1, keep_complete=False, keep_incomplete=False, dht_routers=["router.bittorrent.com:6881", "router.utorrent.com:6881"], use_random_port=False, listen_port=6881, user_agent='', enable_dht=True) - while not option['storage_dir']: dialog = xbmcgui.Dialog() dialog.ok(localize(33000), localize(33051))