API update
parent
c41d55ef1c
commit
3e935395dd
|
@ -506,10 +506,16 @@ class AnteoPlayer(xbmc.Player):
|
||||||
player.play(url, listitem)
|
player.play(url, listitem)
|
||||||
|
|
||||||
xbmc.sleep(2000) # very important, do not edit this, podavan
|
xbmc.sleep(2000) # very important, do not edit this, podavan
|
||||||
|
i = 0
|
||||||
|
while not xbmc.abortRequested or not self.isPlaying() or i < 50:
|
||||||
|
xbmc.sleep(200)
|
||||||
|
i += 1
|
||||||
|
|
||||||
|
log('[AnteoPlayer]: self.isPlaying() = %s, i = %d, xbmc.abortRequested - %s' % (str(self.isPlaying()), i, str(xbmc.abortRequested)))
|
||||||
|
if not self.isPlaying() or xbmc.abortRequested:
|
||||||
|
return False
|
||||||
|
|
||||||
if self.seek > 0:
|
if self.seek > 0:
|
||||||
while not self.isPlaying():
|
|
||||||
xbmc.sleep(200)
|
|
||||||
log('seekTime')
|
|
||||||
log('[AnteoPlayer]: seekTime - '+str(self.seek))
|
log('[AnteoPlayer]: seekTime - '+str(self.seek))
|
||||||
self.seekTime(self.seek)
|
self.seekTime(self.seek)
|
||||||
|
|
||||||
|
|
74
Core.py
74
Core.py
|
@ -1652,25 +1652,29 @@ class Core:
|
||||||
silent = get("silent")
|
silent = get("silent")
|
||||||
thumbnail = unquote(get("thumbnail"),'')
|
thumbnail = unquote(get("thumbnail"),'')
|
||||||
save_folder = unquote(get("save_folder"),'')
|
save_folder = unquote(get("save_folder"),'')
|
||||||
|
back_url = unquote(get("back_url"),'')
|
||||||
|
return_url = unquote(get("return_url"),'')
|
||||||
|
return_name = unquote(get("return_name"),'')
|
||||||
|
sdata = unquote(get("sdata"),'{}')
|
||||||
|
log(str(filesList))
|
||||||
if external and not get('from_searcher'):
|
if external and not get('from_searcher'):
|
||||||
try:
|
try:
|
||||||
#if 1==1:
|
#if 1==1:
|
||||||
sdata = json.loads(json.loads(urllib.unquote_plus(get("sdata"))))
|
sdata = json.loads(sdata)
|
||||||
if len(filesList) < 1:
|
if len(filesList) < 1:
|
||||||
xbmcplugin.endOfDirectory(handle=int(sys.argv[1]), succeeded=True)
|
xbmcplugin.endOfDirectory(handle=int(sys.argv[1]), succeeded=True)
|
||||||
if not silent:
|
if not silent:
|
||||||
xbmc.executebuiltin(
|
xbmc.executebuiltin(
|
||||||
'XBMC.ActivateWindow(%s)' % 'Videos,plugin://plugin.video.myshows/?mode=3013')
|
'XBMC.ActivateWindow(%s)' % 'Videos,%s' % return_url)
|
||||||
else:
|
else:
|
||||||
showMessage(self.localize('Information'), self.localize('Torrent list is empty.'))
|
showMessage(self.localize('Information'), self.localize('Torrent list is empty.'))
|
||||||
return
|
return
|
||||||
if silent:
|
if silent:
|
||||||
order, seeds, leechers, size, title, link, image = filesList[0]
|
order, seeds, leechers, size, title, link, image = filesList[0]
|
||||||
|
sdata['filename'] = link
|
||||||
xbmc.executebuiltin('XBMC.RunPlugin(%s)' % (
|
xbmc.executebuiltin('XBMC.RunPlugin(%s)' % (
|
||||||
'plugin://plugin.video.myshows/?mode=3010&sort=activate&action=silent&stringdata=' + urllib.quote_plus(
|
back_url+'silent&stringdata=' + urllib.quote_plus(
|
||||||
'{"filename":"%s", "stype":%s, "showId":%s, "seasonId":%s, "id":%s, "episodeId":%s}' % (
|
json.dumps(sdata))))
|
||||||
link, jstr(sdata['stype']), jstr(sdata['showId']), jstr(sdata['seasonId']), jstr(sdata['id']),
|
|
||||||
jstr(sdata['episodeId'])))))
|
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
for (order, seeds, leechers, size, title, link, image) in filesList:
|
for (order, seeds, leechers, size, title, link, image) in filesList:
|
||||||
|
@ -1679,18 +1683,23 @@ class Core:
|
||||||
for key in link_dict.keys():
|
for key in link_dict.keys():
|
||||||
if link_dict.get(key):
|
if link_dict.get(key):
|
||||||
link_url = '%s&%s=%s' % (link_url, key, urllib.quote_plus(link_dict.get(key)))
|
link_url = '%s&%s=%s' % (link_url, key, urllib.quote_plus(link_dict.get(key)))
|
||||||
|
sdata['filename'] = link
|
||||||
contextMenu = [
|
contextMenu = [
|
||||||
(self.localize('Add to MyShows.ru'),
|
#(self.localize('Add to MyShows.ru'),
|
||||||
|
# 'XBMC.RunPlugin(%s)' % (
|
||||||
|
# 'plugin://plugin.video.myshows/?mode=3010&sort=activate&stringdata=' + urllib.quote_plus(
|
||||||
|
# '{"filename":"%s", "stype":%s, "showId":%s, "seasonId":%s, "id":%s, "episodeId":%s}' % (
|
||||||
|
# link, jstr(sdata['stype']), jstr(sdata['showId']), jstr(sdata['seasonId']), jstr(sdata['id']),
|
||||||
|
# jstr(sdata['episodeId']))))),
|
||||||
|
(self.localize('Add to %s') % return_name,
|
||||||
'XBMC.RunPlugin(%s)' % (
|
'XBMC.RunPlugin(%s)' % (
|
||||||
'plugin://plugin.video.myshows/?mode=3010&sort=activate&stringdata=' + urllib.quote_plus(
|
back_url+'&stringdata=' + urllib.quote_plus(
|
||||||
'{"filename":"%s", "stype":%s, "showId":%s, "seasonId":%s, "id":%s, "episodeId":%s}' % (
|
json.dumps(sdata)))),
|
||||||
link, jstr(sdata['stype']), jstr(sdata['showId']), jstr(sdata['seasonId']), jstr(sdata['id']),
|
|
||||||
jstr(sdata['episodeId']))))),
|
|
||||||
(self.localize('Open (no return)'),
|
(self.localize('Open (no return)'),
|
||||||
'XBMC.ActivateWindow(Videos,%s)' % ('%s?action=%s%s') % (
|
'XBMC.ActivateWindow(Videos,%s)' % ('%s?action=%s%s') % (
|
||||||
sys.argv[0], 'openTorrent', link_url)),
|
sys.argv[0], 'openTorrent', link_url)),
|
||||||
(self.localize('Return to MyShows.ru'),
|
(self.localize('Return to %s') % return_name,
|
||||||
'XBMC.ActivateWindow(%s)' % ('Videos,plugin://plugin.video.myshows/?mode=3013')),
|
'XBMC.ActivateWindow(%s)' % ('Videos,%s' % return_url)),
|
||||||
]
|
]
|
||||||
title = self.titleMake(seeds, leechers, size, title)
|
title = self.titleMake(seeds, leechers, size, title)
|
||||||
self.drawItem(title, 'context', link, image, contextMenu=contextMenu)
|
self.drawItem(title, 'context', link, image, contextMenu=contextMenu)
|
||||||
|
@ -1934,3 +1943,42 @@ class Core:
|
||||||
return 'qbittorrent.png'
|
return 'qbittorrent.png'
|
||||||
else:
|
else:
|
||||||
return 'torrent-client.png'
|
return 'torrent-client.png'
|
||||||
|
|
||||||
|
def callback(self, params={}):
|
||||||
|
get = params.get
|
||||||
|
|
||||||
|
external = unquote(get("external"), None)
|
||||||
|
subaction = unquote(get("subaction"), None)
|
||||||
|
url = unquote(get("url"),'')
|
||||||
|
sdata = json.loads(urllib.unquote_plus(get("sdata")))
|
||||||
|
back_url = unquote(get("back_url"),'')
|
||||||
|
|
||||||
|
self.__settings__.setSetting("lastTorrentUrl", url)
|
||||||
|
|
||||||
|
classMatch = re.search('(\w+)::(.+)', url)
|
||||||
|
if classMatch:
|
||||||
|
searcher = classMatch.group(1)
|
||||||
|
url = Searchers().downloadWithSearcher(classMatch.group(2), searcher)
|
||||||
|
|
||||||
|
|
||||||
|
torrent = Downloader.Torrent(self.userStorageDirectory, torrentFilesDirectory=self.torrentFilesDirectory)
|
||||||
|
if not torrent: torrent = Downloader.Torrent(self.userStorageDirectory,
|
||||||
|
torrentFilesDirectory=self.torrentFilesDirectory)
|
||||||
|
torrentFile = torrent.saveTorrent(url)
|
||||||
|
if torrentFile: url = torrentFile
|
||||||
|
self.__settings__.setSetting("lastTorrent", url)
|
||||||
|
|
||||||
|
if subaction == 'download':
|
||||||
|
if re.match("^http.+$", url):
|
||||||
|
torrentFile = self.saveUrlTorrent(url)
|
||||||
|
if torrentFile: url = torrentFile
|
||||||
|
self.__settings__.setSetting("lastTorrent", url)
|
||||||
|
|
||||||
|
elif subaction == 'play':
|
||||||
|
fileIndex = chooseFile(torrent.getContentList())
|
||||||
|
if fileIndex:
|
||||||
|
xbmc.executebuiltin('xbmc.RunPlugin("plugin://plugin.video.torrenter/?action=playTorrent&url=' + fileIndex + '")')
|
||||||
|
return
|
||||||
|
|
||||||
|
sdata['filename'] = url
|
||||||
|
xbmc.executebuiltin('xbmc.RunPlugin("' + back_url + '&stringdata=' + json.dumps(sdata) + '")')
|
||||||
|
|
|
@ -492,8 +492,7 @@ def localize(text):
|
||||||
'Keyboard':'Клавиатура',
|
'Keyboard':'Клавиатура',
|
||||||
'Copy Files in Root':'Скопировать файлы в Корень',
|
'Copy Files in Root':'Скопировать файлы в Корень',
|
||||||
'Copied %d files!':'Скопировано %d файлов!',
|
'Copied %d files!':'Скопировано %d файлов!',
|
||||||
'Add to MyShows.ru':'Добавить в MyShows.ru',
|
'Return to %s':'Вернуться в %s',
|
||||||
'Return to MyShows.ru':'Вернуться в MyShows.ru',
|
|
||||||
'Search results:':'Результаты поиска:',
|
'Search results:':'Результаты поиска:',
|
||||||
'by Seeders':'по Сидам',
|
'by Seeders':'по Сидам',
|
||||||
'by Date':'по Дате',
|
'by Date':'по Дате',
|
||||||
|
@ -751,8 +750,7 @@ def localize(text):
|
||||||
'Keyboard':'Клавіатура',
|
'Keyboard':'Клавіатура',
|
||||||
'Copy Files in Root':'Зкопіювати файли в корінь',
|
'Copy Files in Root':'Зкопіювати файли в корінь',
|
||||||
'Copied %d files!':'Зкопійовано %d файлів!',
|
'Copied %d files!':'Зкопійовано %d файлів!',
|
||||||
'Add to MyShows.ru':'Додати в MyShows.ru',
|
'Return to %s':'Повернутись в %s',
|
||||||
'Return to MyShows.ru':'Повернутись в MyShows.ru',
|
|
||||||
'Search results:':'Результати пошуку:',
|
'Search results:':'Результати пошуку:',
|
||||||
'by Seeders':'по сідам',
|
'by Seeders':'по сідам',
|
||||||
'by Date':'по даті',
|
'by Date':'по даті',
|
||||||
|
|
|
@ -346,6 +346,14 @@ class TorrentPlayer(xbmc.Player):
|
||||||
#xbmc.Player().play(playlist)
|
#xbmc.Player().play(playlist)
|
||||||
|
|
||||||
xbmc.sleep(2000) # very important, do not edit this, podavan
|
xbmc.sleep(2000) # very important, do not edit this, podavan
|
||||||
|
i = 0
|
||||||
|
while not xbmc.abortRequested or not self.isPlaying() or i < 50:
|
||||||
|
xbmc.sleep(200)
|
||||||
|
i += 1
|
||||||
|
|
||||||
|
log('[TorrentPlayer]: self.isPlaying() = %s, i = %d, xbmc.abortRequested - %s' % (str(self.isPlaying()), i, str(xbmc.abortRequested)))
|
||||||
|
if not self.isPlaying() or xbmc.abortRequested:
|
||||||
|
return False
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def setup_subs(self, label, path):
|
def setup_subs(self, label, path):
|
||||||
|
|
Loading…
Reference in New Issue