def acestream_engine(): import acestream from support.common import temp_path return acestream.Engine(host=plugin.get_setting('as-host', unicode), port=plugin.get_setting('as-port', int, default=62062), save_path=temp_path() if plugin.get_setting('save-files', int) else None)
def utorrent_client(): from support.torrent.client import UTorrentClient return UTorrentClient(login=plugin.get_setting('utorrent-login', unicode), password=plugin.get_setting('utorrent-password', unicode), host=plugin.get_setting('utorrent-host', unicode), port=plugin.get_setting('utorrent-port', int, default=8080))
def transmission_client(): from support.torrent.client import TransmissionClient return TransmissionClient(login=plugin.get_setting('transmission-login', unicode), password=plugin.get_setting('transmission-password', unicode), host=plugin.get_setting('transmission-host', unicode), port=plugin.get_setting('transmission-port', int, default=9091), path=plugin.get_setting('transmission-path', unicode))
def torrent2http_stream(): from support.torrent.stream import Torrent2HttpStream return Torrent2HttpStream(engine=torrent2http_engine(), buffering_progress=stream_buffering_progress(), playing_progress=stream_playing_progress(), pre_buffer_bytes=plugin.get_setting('t2h-pre-buffer-mb', int) * 1024 * 1024)
def select_torrent_link(series_id, season_number, episode_number, select_quality=False): dom_parser = get_dom_parser() links = dom_parser.get_torrent_links(series_id, season_number, episode_number) qualities = sorted(Quality) quality = plugin.get_setting('quality', int) ordered_links = [ next((l for l in links if l.quality == q), None) for q in qualities ] if not quality or select_quality or not ordered_links[quality - 1]: filtered_links = [l for l in ordered_links if l] if not filtered_links: return options = [ "%s / %s" % (tf.color(l.quality.localized, 'white'), tf.human_size(l.size)) for l in filtered_links ] res = xbmcgui.Dialog().select(plugin.get_string(40400), options) if res < 0: return return filtered_links[res] else: return ordered_links[quality - 1]
def title(self): if plugin.get_setting('show-original-title', bool): if self.favorited == True: return '%s %s' % (tf.color(self.title_en, 'lime'), self.unwatched_episode_count) else: return '%s %s' % (self.title_en, self.unwatched_episode_count) else: if self.favorited == True: return '%s %s' % (tf.color(self.title_ru, 'lime'), self.unwatched_episode_count) else: return '%s %s' % (self.title_ru, self.unwatched_episode_count)
def title(self): if plugin.get_setting('show-original-title', bool): if self.favorited == True: return '%s %s' % (tf.color( self.title_en, 'lime'), self.unwatched_episode_count) else: return '%s %s' % (self.title_en, self.unwatched_episode_count) else: if self.favorited == True: return '%s %s' % (tf.color( self.title_ru, 'lime'), self.unwatched_episode_count) else: return '%s %s' % (self.title_ru, self.unwatched_episode_count)
def xrequests_session(): from requests.packages.urllib3.util import Retry from support.xrequests import Session use_proxy = plugin.get_setting('use-proxy', int) session = Session(max_retries=Retry(total=2, status_forcelist=[500, 502, 503, 504], backoff_factor=0.3), timeout=5, proxy_list=proxy_list() if use_proxy else None) # noinspection PyUnusedLocal,PyShadowingNames def always_use_proxy(request, response): return True if use_proxy == 2: session.add_proxy_need_check(always_use_proxy) return session
def torrent2http_engine(): import torrent2http from support.common import temp_path return torrent2http.Engine(download_path=temp_path(), state_file=plugin.addon_data_path('t2h_state'), connections_limit=plugin.get_setting('t2h-max-connections', int, default=None), download_kbps=plugin.get_setting('t2h-download-rate', int, default=None), upload_kbps=plugin.get_setting('t2h-upload-rate', int, default=None), log_overall_progress=plugin.get_setting('t2h-debug-mode', bool), log_pieces_progress=plugin.get_setting('t2h-debug-mode', bool), debug_alerts=plugin.get_setting('t2h-debug-mode', bool), listen_port=plugin.get_setting('t2h-listen-port', int, default=6881), use_random_port=plugin.get_setting('t2h-use-random-port', bool), trackers=['http://retracker.local/announce'], dht_routers=['dht.transmissionbt.com', 'router.utorrent.com', 'router.bittorrent.com'], max_idle_timeout=5, keep_files=True, enable_utp=False)
def select_torrent_link(series_id, season_number, episode_number, select_quality = False): dom_parser = get_dom_parser() links = dom_parser.get_torrent_links(series_id, season_number, episode_number) qualities = sorted(Quality) quality = plugin.get_setting('quality', int) ordered_links = [next((l for l in links if l.quality == q), None) for q in qualities] if not quality or select_quality or not ordered_links[quality - 1]: filtered_links = [l for l in ordered_links if l] if not filtered_links: return options = ["%s / %s" % (tf.color(l.quality.localized, 'white'), tf.human_size(l.size)) for l in filtered_links] res = xbmcgui.Dialog().select(plugin.get_string(40400), options) if res < 0: return return filtered_links[res] else: return ordered_links[quality - 1]
def torrent_stream(): stream = plugin.get_setting('torrent-stream', choices=(torrent2http_stream, ace_stream)) return stream()
def title(self): if plugin.get_setting('show-original-title', bool): return '%s %s' % (self.title_en, self.unwatched_episode_count) else: return '%s %s' % (self.title_ru, self.unwatched_episode_count)
def title(self): if plugin.get_setting('show-original-title', bool): return self.season_number +'x' + self.episode_number + ' - ' + self.title_en else: return self.season_number +'x' + self.episode_number + ' - ' + self.title_ru
def password(self): return plugin.get_setting('password', unicode)
def torrent_client(): client = plugin.get_setting('torrent-client', choices=(None, utorrent_client, transmission_client)) return client() if client else None
def login(self): return plugin.get_setting('login', unicode)
def stream_playing_progress(): from support.progress import XbmcOverlayTorrentTransferProgress if plugin.get_setting('show-playing-progress', bool): return XbmcOverlayTorrentTransferProgress(window_id=12005)
def title(self): if plugin.get_setting('show-original-title', bool): return '%s' % (self.title_en) else: return '%s' % (self.title_ru)