diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index a676c16..6dfb265 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -3,7 +3,10 @@
+
+
+
@@ -33,11 +36,11 @@
-
+
-
-
+
+
@@ -256,28 +259,56 @@
-
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
@@ -311,37 +342,19 @@
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
@@ -355,7 +368,7 @@
-
+
@@ -369,19 +382,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
@@ -400,14 +411,17 @@
-
-
+
+
+
+
+
@@ -425,37 +439,43 @@
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
@@ -551,7 +571,6 @@
-
@@ -563,6 +582,7 @@
+
@@ -597,7 +617,6 @@
-
@@ -694,6 +713,7 @@
+
@@ -876,12 +896,6 @@
1420801533300
-
- 1450377825654
-
-
- 1450377825654
-
1450380439935
@@ -1170,7 +1184,13 @@
1457374373046
-
+
+ 1457537482800
+
+
+ 1457537482812
+
+
@@ -1181,7 +1201,7 @@
-
+
@@ -1240,7 +1260,7 @@
-
+
@@ -1494,20 +1514,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -1559,47 +1566,10 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -1613,38 +1583,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
@@ -1810,10 +1759,109 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1862,49 +1910,27 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
+
+
+
+
+
@@ -1922,21 +1948,22 @@
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Anteoloader.py b/Anteoloader.py
index 35640bf..c49ee65 100644
--- a/Anteoloader.py
+++ b/Anteoloader.py
@@ -22,7 +22,7 @@ import urllib2
import hashlib
import re
from StringIO import StringIO
-import gzip
+import zlib
import xbmc
import xbmcgui
@@ -153,6 +153,14 @@ class AnteoLoader:
return string
def getContentList(self):
+ try:
+ from Libtorrent import Libtorrent
+ torrent = Libtorrent(self.storageDirectory, self.torrentFile)
+ return torrent.getContentList()
+ except:
+ return self.getContentList_engine()
+
+ def getContentList_engine(self):
self.setup_engine()
files = []
filelist = []
@@ -207,8 +215,8 @@ class AnteoLoader:
result = urllib2.urlopen(request)
if result.info().get('Content-Encoding') == 'gzip':
buf = StringIO(result.read())
- f = gzip.GzipFile(fileobj=buf)
- content = f.read()
+ decomp = zlib.decompressobj(16 + zlib.MAX_WBITS)
+ content = decomp.decompress(buf.getvalue())
else:
content = result.read()
diff --git a/Core.py b/Core.py
index ddb8f5b..74ff169 100644
--- a/Core.py
+++ b/Core.py
@@ -1473,70 +1473,57 @@ class Core:
def openTorrent(self, params={}):
get = params.get
- external = unquote(get("external"),None)
- silent = get("silent")
- not_download_only = get("not_download_only") == 'False'
tdir = unquote(get("url2"),None)
thumbnail = unquote(get("thumbnail"),'')
save_folder = unquote(get("save_folder"),'')
url = urllib.unquote_plus(get("url"))
+
self.__settings__.setSetting("lastTorrentUrl", url)
classMatch = re.search('(\w+)::(.+)', url)
if classMatch:
searcher = classMatch.group(1)
url = Searchers().downloadWithSearcher(classMatch.group(2), searcher)
- self.__settings__.setSetting("lastTorrentUrl", url)
- if not_download_only:
- if re.match("^http.+$", url):
- torrentFile = self.saveUrlTorrent(url)
- if torrentFile: url = torrentFile
self.__settings__.setSetting("lastTorrent", url)
- return
+
torrent = Downloader.Torrent(self.userStorageDirectory, torrentFilesDirectory=self.torrentFilesDirectory)
if not torrent: torrent = Downloader.Torrent(self.userStorageDirectory,
torrentFilesDirectory=self.torrentFilesDirectory)
self.__settings__.setSetting("lastTorrent", torrent.saveTorrent(url))
- self.__settings__.setSetting("lastTime", str(int(time.time())))
- if silent != 'true':
- if external:
- fileIndex = chooseFile(torrent.getContentList())
- if fileIndex:
- xbmc.executebuiltin('xbmc.RunPlugin("plugin://plugin.video.torrenter/?action=playTorrent&url=' + fileIndex + '")')
- else:
- contentList = []
- for filedict in torrent.getContentList():
- fileTitle = filedict.get('title')
- if filedict.get('size'):
- fileTitle += ' [%d MB]' % (filedict.get('size') / 1024 / 1024)
- contentList.append((unescape(fileTitle), str(filedict.get('ind'))))
- contentList = sorted(contentList, key=lambda x: x[0])
- dirList, contentListNew = cutFolder(contentList, tdir)
+ contentList = []
+ for filedict in torrent.getContentList():
+ fileTitle = filedict.get('title')
+ if filedict.get('size'):
+ fileTitle += ' [%d MB]' % (filedict.get('size') / 1024 / 1024)
+ contentList.append((unescape(fileTitle), str(filedict.get('ind'))))
+ contentList = sorted(contentList, key=lambda x: x[0])
- for title in dirList:
- self.drawItem(title, 'openTorrent', url, image=thumbnail, isFolder=True, action2=title)
+ dirList, contentListNew = cutFolder(contentList, tdir)
- ids_video_result = get_ids_video(contentListNew)
- ids_video=''
+ for title in dirList:
+ self.drawItem(title, 'openTorrent', url, image=thumbnail, isFolder=True, action2=title)
- if len(ids_video_result)>0:
- for identifier in ids_video_result:
- ids_video = ids_video + str(identifier) + ','
+ ids_video_result = get_ids_video(contentListNew)
+ ids_video=''
- for title, identifier in contentListNew:
- contextMenu = [
- (self.localize('Download via T-client'),
- 'XBMC.RunPlugin(%s)' % ('%s?action=%s&ind=%s') % (
- sys.argv[0], 'downloadFilesList', str(identifier))),
- (self.localize('Download via Libtorrent'),
- 'XBMC.RunPlugin(%s)' % ('%s?action=%s&ind=%s') % (
- sys.argv[0], 'downloadLibtorrent', str(identifier))),
- ]
- link = {'url': identifier, 'thumbnail': thumbnail, 'save_folder':save_folder}
- self.drawItem(title, 'playTorrent', link, image=thumbnail, isFolder=False,
- action2=ids_video.rstrip(','), contextMenu=contextMenu, replaceMenu=False)
- view_style('openTorrent')
- xbmcplugin.endOfDirectory(handle=int(sys.argv[1]), succeeded=True)
+ if len(ids_video_result)>0:
+ for identifier in ids_video_result:
+ ids_video = ids_video + str(identifier) + ','
+
+ for title, identifier in contentListNew:
+ contextMenu = [
+ (self.localize('Download via T-client'),
+ 'XBMC.RunPlugin(%s)' % ('%s?action=%s&ind=%s') % (
+ sys.argv[0], 'downloadFilesList', str(identifier))),
+ (self.localize('Download via Libtorrent'),
+ 'XBMC.RunPlugin(%s)' % ('%s?action=%s&ind=%s') % (
+ sys.argv[0], 'downloadLibtorrent', str(identifier))),
+ ]
+ link = {'url': identifier, 'thumbnail': thumbnail, 'save_folder':save_folder}
+ self.drawItem(title, 'playTorrent', link, image=thumbnail, isFolder=False,
+ action2=ids_video.rstrip(','), contextMenu=contextMenu, replaceMenu=False)
+ view_style('openTorrent')
+ xbmcplugin.endOfDirectory(handle=int(sys.argv[1]), succeeded=True)
def openSection(self, params={}):
get = params.get
diff --git a/Libtorrent.py b/Libtorrent.py
index fed73c5..1f22f38 100644
--- a/Libtorrent.py
+++ b/Libtorrent.py
@@ -24,7 +24,7 @@ import urllib2
import hashlib
import re
from StringIO import StringIO
-import gzip
+import zlib
import sys
import xbmc
@@ -108,8 +108,8 @@ class Libtorrent:
result = urllib2.urlopen(request)
if result.info().get('Content-Encoding') == 'gzip':
buf = StringIO(result.read())
- f = gzip.GzipFile(fileobj=buf)
- content = f.read()
+ decomp = zlib.decompressobj(16 + zlib.MAX_WBITS)
+ content = decomp.decompress(buf.getvalue())
else:
content = result.read()
@@ -154,7 +154,7 @@ class Libtorrent:
'storage_mode': self.lt.storage_mode_t(0),
'paused': True,
#'auto_managed': True,
- #'duplicate_is_error': True
+ 'duplicate_is_error': False
}
progressBar = xbmcgui.DialogProgress()
progressBar.create(Localization.localize('Please Wait'), Localization.localize('Magnet-link is converting'))
@@ -428,7 +428,7 @@ class Libtorrent:
#'storage_mode': self.lt.storage_mode_t(1),
'paused': False,
#'auto_managed': False,
- 'duplicate_is_error': False
+ #'duplicate_is_error': True
}
if self.save_resume_data:
log('loading resume data')
diff --git a/addon.xml b/addon.xml
index 938d89d..44d7a5d 100644
--- a/addon.xml
+++ b/addon.xml
@@ -1,5 +1,5 @@
-
+