2.3.1
parent
f87b897f9c
commit
e7eef31203
4
Core.py
4
Core.py
|
@ -1727,6 +1727,10 @@ class Core:
|
||||||
return title
|
return title
|
||||||
|
|
||||||
def search(self, params={}):
|
def search(self, params={}):
|
||||||
|
if len(Searchers().get_active())<1:
|
||||||
|
noActiveSerachers()
|
||||||
|
return
|
||||||
|
|
||||||
defaultKeyword = params.get('url')
|
defaultKeyword = params.get('url')
|
||||||
showKey=params.get('showKey')
|
showKey=params.get('showKey')
|
||||||
|
|
||||||
|
|
|
@ -257,6 +257,12 @@ def localize(text):
|
||||||
'Android Support':'Поддержка Android',
|
'Android Support':'Поддержка Android',
|
||||||
'Android has no temprorary folder':'У Android отсутствует стандартная временная папка',
|
'Android has no temprorary folder':'У Android отсутствует стандартная временная папка',
|
||||||
'Please specify storage folder in Settings!':'Пожалуйста, укажите папку хранилища файлов!',
|
'Please specify storage folder in Settings!':'Пожалуйста, укажите папку хранилища файлов!',
|
||||||
|
'You have no installed or active searchers! More info in Search Control Window!':'У вас нет установленных или активных серчеров. Подробнее в Окне Управления Поиском.',
|
||||||
|
'Please contact DiMartino on kodi.tv forum. We compiled python-libtorrent for Android,':'Свяжитесь с DiMartino на xbmc.ru. Мы собрали python-libtorrent на Android',
|
||||||
|
'but we need your help with some tests on different processors.':'но нам нужна помощь в тестировании на разные процессоры.',
|
||||||
|
'We added Android ARM full support to Torrenter v2!':'Мы добавили полную поддержку Android ARM в Torrenter v2!',
|
||||||
|
'I deleted pre-installed ones, install them in Search Control Window!':'Теперь серчеры нужно устанавливать отдельно в Окне Управления Поиском!'
|
||||||
|
|
||||||
},
|
},
|
||||||
'uk': {
|
'uk': {
|
||||||
'Seeds searching.': 'Йде пошук сідів.',
|
'Seeds searching.': 'Йде пошук сідів.',
|
||||||
|
|
38
README.txt
38
README.txt
|
@ -7,12 +7,16 @@ Plugin requires python binding
|
||||||
|
|
||||||
--- INSTALLATION ---
|
--- INSTALLATION ---
|
||||||
|
|
||||||
1. Windows
|
1. Windows, Linux x86, OS X, Android ARM
|
||||||
No installation required, will be downloaded with plugin from repository as module.
|
No installation required, will be downloaded with plugin from repository as module.
|
||||||
|
|
||||||
2. Linux
|
2. OpenELEC
|
||||||
2.1 Run at console 'sudo apt-get install python-libtorrent'
|
Use this build (or patch)
|
||||||
2.2 Install addon and enjoy
|
http://openelec.tv/forum/128-addons/75885-openelec-with-support-acestream-libtorrent
|
||||||
|
|
||||||
|
3. Linux x86_64
|
||||||
|
3.1 Run at console 'sudo apt-get install python-libtorrent'
|
||||||
|
3.2 Install addon and enjoy
|
||||||
|
|
||||||
or you could compile it:
|
or you could compile it:
|
||||||
|
|
||||||
|
@ -25,29 +29,3 @@ cd lt/
|
||||||
make
|
make
|
||||||
sudo make install
|
sudo make install
|
||||||
sudo ldconfig
|
sudo ldconfig
|
||||||
|
|
||||||
________________________________________________________________________________________________________
|
|
||||||
|
|
||||||
Вебсайт библиотеки http://www.rasterbar.com/products/libtorrent/
|
|
||||||
Для работы плагина нужен её билд под python
|
|
||||||
|
|
||||||
--- ИНСТАЛЯЦИЯ ---
|
|
||||||
|
|
||||||
1. Windows
|
|
||||||
Все установится автоматически из репозитория
|
|
||||||
|
|
||||||
2. Linux
|
|
||||||
2.1 Выполняем в терминале sudo apt-get install python-libtorrent
|
|
||||||
2.2 Устанавливаем аддон в XBMC и пользуемся
|
|
||||||
|
|
||||||
или компилируем:
|
|
||||||
|
|
||||||
sudo apt-get build-dep python-libtorrent
|
|
||||||
sudo apt-get install subversion
|
|
||||||
svn co https://libtorrent.svn.sourceforge.net/svnroot/libtorrent/trunk/ lt/
|
|
||||||
cd lt/
|
|
||||||
./autotool.sh
|
|
||||||
./configure --enable-python-binding
|
|
||||||
make
|
|
||||||
sudo make install
|
|
||||||
sudo ldconfig
|
|
||||||
|
|
|
@ -90,6 +90,16 @@ class SearcherABC:
|
||||||
self.cookieJar = cookielib.MozillaCookieJar(cookie)
|
self.cookieJar = cookielib.MozillaCookieJar(cookie)
|
||||||
if os.path.exists(cookie): self.cookieJar.load(ignore_discard=True)
|
if os.path.exists(cookie): self.cookieJar.load(ignore_discard=True)
|
||||||
|
|
||||||
|
def clear_cookie(self, domain):
|
||||||
|
cookie=os.path.join(self.tempdir(),'cookie.txt')
|
||||||
|
self.cookieJar = cookielib.MozillaCookieJar(cookie)
|
||||||
|
if os.path.exists(cookie):
|
||||||
|
try:
|
||||||
|
self.cookieJar.clear('.'+domain)
|
||||||
|
print '[SearcherABC] '+self.__class__.__name__+': Cookie Deleted!'
|
||||||
|
except:
|
||||||
|
print '[SearcherABC] '+self.__class__.__name__+': Cookie clear failed!'
|
||||||
|
|
||||||
def makeRequest(self, url, data={}, headers={}):
|
def makeRequest(self, url, data={}, headers={}):
|
||||||
self.load_cookie()
|
self.load_cookie()
|
||||||
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cookieJar))
|
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cookieJar))
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
<addon id="plugin.video.torrenter" name="Torrenter" version="2.3.1" provider-name="vadim.skorba, DiMartino">
|
<addon id="plugin.video.torrenter" name="Torrenter" version="2.3.2" provider-name="vadim.skorba, DiMartino">
|
||||||
<requires>
|
<requires>
|
||||||
<import addon="xbmc.python" version="2.1.0"/>
|
<import addon="xbmc.python" version="2.1.0"/>
|
||||||
<import addon="script.module.libtorrent"/>
|
<import addon="script.module.libtorrent"/>
|
||||||
|
|
20
functions.py
20
functions.py
|
@ -28,7 +28,7 @@ import os
|
||||||
import json
|
import json
|
||||||
import urllib
|
import urllib
|
||||||
import hashlib
|
import hashlib
|
||||||
import shutil
|
import traceback
|
||||||
|
|
||||||
import xbmcplugin
|
import xbmcplugin
|
||||||
import xbmcgui
|
import xbmcgui
|
||||||
|
@ -1127,6 +1127,7 @@ class Searchers():
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
print 'Unable to use searcher: ' + searcher + ' at ' + __plugin__ + ' searchWithSearcher(). Exception: ' + str(
|
print 'Unable to use searcher: ' + searcher + ' at ' + __plugin__ + ' searchWithSearcher(). Exception: ' + str(
|
||||||
e)
|
e)
|
||||||
|
print(traceback.format_exc())
|
||||||
return filesList
|
return filesList
|
||||||
|
|
||||||
def downloadWithSearcher(self, url, searcher):
|
def downloadWithSearcher(self, url, searcher):
|
||||||
|
@ -1145,7 +1146,10 @@ class Searchers():
|
||||||
|
|
||||||
def search(url, searchersList, isApi=None):
|
def search(url, searchersList, isApi=None):
|
||||||
from threading import Thread
|
from threading import Thread
|
||||||
|
try:
|
||||||
from Queue import Queue
|
from Queue import Queue
|
||||||
|
except ImportError:
|
||||||
|
from queue import Queue
|
||||||
|
|
||||||
num_threads = 3
|
num_threads = 3
|
||||||
queue = Queue()
|
queue = Queue()
|
||||||
|
@ -1782,11 +1786,19 @@ def first_run_231():
|
||||||
__settings__.setSetting('first_run_231','True')
|
__settings__.setSetting('first_run_231','True')
|
||||||
ok = xbmcgui.Dialog().ok('< %s >' % Localization.localize('Torrenter Update 2.3.1'),
|
ok = xbmcgui.Dialog().ok('< %s >' % Localization.localize('Torrenter Update 2.3.1'),
|
||||||
Localization.localize('We added Android ARM full support to Torrenter v2!'),
|
Localization.localize('We added Android ARM full support to Torrenter v2!'),
|
||||||
Localization.localize('With external searcher support I deleted pre-installed ones!'))
|
Localization.localize('I deleted pre-installed ones, install them in Search Control Window!'))
|
||||||
|
|
||||||
yes=xbmcgui.Dialog().yesno('< %s >' % Localization.localize('Torrenter Update 2.3.1'),
|
yes=xbmcgui.Dialog().yesno('< %s >' % Localization.localize('Torrenter Update 2.3.1'),
|
||||||
Localization.localize('You have no installed searchers!'),
|
Localization.localize('You have no installed or active searchers! More info in Search Control Window!'),
|
||||||
Localization.localize('Would you like to install searcher from "MyShows.me Kodi Repo" in Programs section?'),)
|
Localization.localize('Would you like to install %s from "MyShows.me Kodi Repo" in Programs section?' % ''),)
|
||||||
|
if yes:
|
||||||
|
xbmc.executebuiltin('Dialog.Close(all,true)')
|
||||||
|
xbmc.executebuiltin('XBMC.ActivateWindow(Addonbrowser,addons://search/%s)' % ('Torrenter Searcher'))
|
||||||
|
|
||||||
|
def noActiveSerachers():
|
||||||
|
yes=xbmcgui.Dialog().yesno('< %s >' % Localization.localize('Torrenter v2'),
|
||||||
|
Localization.localize('You have no installed or active searchers! More info in Search Control Window!'),
|
||||||
|
Localization.localize('Would you like to install %s from "MyShows.me Kodi Repo" in Programs section?' % ''),)
|
||||||
if yes:
|
if yes:
|
||||||
xbmc.executebuiltin('Dialog.Close(all,true)')
|
xbmc.executebuiltin('Dialog.Close(all,true)')
|
||||||
xbmc.executebuiltin('XBMC.ActivateWindow(Addonbrowser,addons://search/%s)' % ('Torrenter Searcher'))
|
xbmc.executebuiltin('XBMC.ActivateWindow(Addonbrowser,addons://search/%s)' % ('Torrenter Searcher'))
|
||||||
|
|
Loading…
Reference in New Issue