update
This commit is contained in:
		
							parent
							
								
									4da09c6751
								
							
						
					
					
						commit
						49a24bec2c
					
				
							
								
								
									
										27
									
								
								Core.py
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								Core.py
									
									
									
									
									
								
							@ -272,12 +272,14 @@ class Core:
 | 
			
		||||
    def test(self, params={}):
 | 
			
		||||
        #db=DownloadDB()
 | 
			
		||||
        #db.add(u'XXX2', 'file', json.dumps({'seeds':1,'leechers':1}), 20)
 | 
			
		||||
        #url='magnet:?xt=urn:btih:MZLDDZU5MWZWICIGQN6YDVAXJNNISU5W&dn=Jimmy.Fallon.2015.01.09.Don.Cheadle.HDTV.x264-CROOKS&tr=udp://tracker.openbittorrent.com:80&tr=udp://tracker.publicbt.com:80&tr=udp://tracker.istole.it:80&tr=udp://open.demonii.com:80&tr=udp://tracker.coppersurfer.tk:80'
 | 
			
		||||
        #url='magnet:?xt=urn:btih:6698E0950DCD257A6B03AF2E8B068B7FF9D4619D&dn=game+of+thrones+season+2+720p+bluray+x264+shaanig&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Fopen.demonii.com%3A1337'
 | 
			
		||||
        #filename='D:\\torrents\\Torrenter\\torrents\\Jimmy.Fallon.2015.01.09.Don.Cheadle.HDTV.x264-CROOKS.mp4.torrent'
 | 
			
		||||
        #torrent = Downloader.Torrent(self.userStorageDirectory, torrentFilesDirectory=self.torrentFilesDirectory)
 | 
			
		||||
        #self.__settings__.setSetting("lastTorrent", torrent.saveTorrent(filename))
 | 
			
		||||
        #torrent.downloadProcess()
 | 
			
		||||
        self.DownloadStatus()
 | 
			
		||||
        #self.DownloadStatus()
 | 
			
		||||
        url='http://torcache.net/torrent/6698E0950DCD257A6B03AF2E8B068B7FF9D4619D.torrent?title=[kickass.to]game.of.thrones.season.2.720p.bluray.x264.shaanig'
 | 
			
		||||
        #xbmc.executebuiltin('xbmc.RunPlugin("plugin://plugin.video.torrenter/?action=openTorrent&external=ThePirateBaySe&url=ThePirateBaySe%3A%3A'+urllib.quote_plus(url)+'¬_download_only=True")')
 | 
			
		||||
 | 
			
		||||
    def DownloadStatus(self, params={}):
 | 
			
		||||
        db = DownloadDB()
 | 
			
		||||
@ -1350,6 +1352,27 @@ class Core:
 | 
			
		||||
            print 'Unable to save torrent file from "' + url + '" to "' + torrentFile + '" in Torrent::saveTorrent'
 | 
			
		||||
            return
 | 
			
		||||
 | 
			
		||||
    def playSTRM(self, params={}):
 | 
			
		||||
        get = params.get
 | 
			
		||||
        xbmc.executebuiltin('xbmc.Playlist.Clear')
 | 
			
		||||
        url = unquote(get("url"),None)
 | 
			
		||||
        if url:
 | 
			
		||||
            self.__settings__.setSetting("lastTorrentUrl", url)
 | 
			
		||||
            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))
 | 
			
		||||
            contentList = []
 | 
			
		||||
            for filedict in torrent.getContentList():
 | 
			
		||||
                fileTitle = filedict.get('title')
 | 
			
		||||
                if filedict.get('size'):
 | 
			
		||||
                    fileTitle += ' [%d MB]' % (filedict.get('size') / 1024 / 1024)
 | 
			
		||||
                    contentList.append((filedict.get('size'), self.unescape(fileTitle), str(filedict.get('ind'))))
 | 
			
		||||
            if len(contentList)>0:
 | 
			
		||||
                contentList = sorted(contentList, key=lambda x: x[0], reverse=True)
 | 
			
		||||
                #self.playTorrent({'url':contentList[0][2]})
 | 
			
		||||
                xbmc.executebuiltin('xbmc.RunPlugin("plugin://plugin.video.torrenter/?action=playTorrent&url='+contentList[0][2]+'")')
 | 
			
		||||
 | 
			
		||||
    def openTorrent(self, params={}):
 | 
			
		||||
        get = params.get
 | 
			
		||||
        external = unquote(get("external"),None)
 | 
			
		||||
 | 
			
		||||
@ -176,10 +176,10 @@ class Libtorrent:
 | 
			
		||||
        torrentInfo = self.getMagnetInfo()
 | 
			
		||||
        try:
 | 
			
		||||
            torrentFile = self.lt.create_torrent(torrentInfo)
 | 
			
		||||
            baseName = file_encode(os.path.basename(self.storageDirectory + os.sep + torrentInfo.files()[0].path))
 | 
			
		||||
            baseName = os.path.basename(self.storageDirectory + os.sep + torrentInfo.files()[0].path)
 | 
			
		||||
            if not xbmcvfs.exists(self.torrentFilesPath):
 | 
			
		||||
                xbmcvfs.mkdirs(self.torrentFilesPath)
 | 
			
		||||
            self.torrentFile = self.torrentFilesPath + baseName + '.torrent'
 | 
			
		||||
            self.torrentFile = self.torrentFilesPath + self.md5(baseName) + '.torrent'
 | 
			
		||||
            torentFileHandler = xbmcvfs.File(self.torrentFile, "w+b")
 | 
			
		||||
            torentFileHandler.write(self.lt.bencode(torrentFile.generate()))
 | 
			
		||||
            torentFileHandler.close()
 | 
			
		||||
 | 
			
		||||
@ -166,7 +166,7 @@ class TorrentPlayer(xbmc.Player):
 | 
			
		||||
 | 
			
		||||
    def init(self):
 | 
			
		||||
        self.next_dl = True if self.__settings__.getSetting('next_dl') == 'true' and self.ids_video else False
 | 
			
		||||
        print str(self.next_dl)
 | 
			
		||||
        print '[TorrentPlayer]: init - '+str(self.next_dl)
 | 
			
		||||
        self.next_contentId = False
 | 
			
		||||
        self.display_name = ''
 | 
			
		||||
        self.downloadedSize = 0
 | 
			
		||||
@ -306,7 +306,12 @@ class TorrentPlayer(xbmc.Player):
 | 
			
		||||
        xbmc.sleep(300)
 | 
			
		||||
 | 
			
		||||
        if response:
 | 
			
		||||
            xbmc.Player().play(path, listitem)
 | 
			
		||||
            #xbmc.Player().play(path, listitem)
 | 
			
		||||
            playlist = xbmc.PlayList(xbmc.PLAYLIST_VIDEO)
 | 
			
		||||
            playlist.clear()
 | 
			
		||||
            playlist.add(path, listitem)
 | 
			
		||||
            xbmc.Player().play(playlist)
 | 
			
		||||
 | 
			
		||||
            xbmc.sleep(3000)#very important, do not edit this, podavan
 | 
			
		||||
            return True
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 | 
			
		||||
<addon id="plugin.video.torrenter" name="Torrenter" version="2.2.3" provider-name="vadim.skorba, DiMartino">
 | 
			
		||||
<addon id="plugin.video.torrenter" name="Torrenter" version="2.2.4" provider-name="vadim.skorba, DiMartino">
 | 
			
		||||
    <requires>
 | 
			
		||||
        <import addon="xbmc.python" version="2.1.0"/>
 | 
			
		||||
        <import addon="script.module.libtorrent"/>
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,9 @@
 | 
			
		||||
[B]Version 2.2.2[/B]
 | 
			
		||||
[B]Version 2.2.3[/B]
 | 
			
		||||
[+] Проигрыватель: Добавлена возможность запускать через .strm файлы (plugin://plugin.video.torrenter/?action=playSTRM&url=URL_ENCODED_MAGNET_PATH_HTTP)
 | 
			
		||||
 | 
			
		||||
[B]Version 2.2.2[/B]
 | 
			
		||||
[+] Списки Медиа: Обновлен KickAssSo (by GriffeyJuni0r)
 | 
			
		||||
[+] Поиск: Исправлен RuTor
 | 
			
		||||
[+] Поиск: Исправлен RuTrackerOrg, T411FR
 | 
			
		||||
 | 
			
		||||
[B]Version 2.2.1[/B]
 | 
			
		||||
 | 
			
		||||
@ -23,18 +23,14 @@ from BeautifulSoup import BeautifulSoup
 | 
			
		||||
 | 
			
		||||
class KickAssSo(Content.Content):
 | 
			
		||||
    category_dict = {
 | 
			
		||||
        'hot': ('Most Recent', '/new/', {'page': '/new/%d/', 'increase': 1, 'second_page': 2,
 | 
			
		||||
                                         'sort':[{'name':'by Seeders', 'url_after':'?field=seeders&sorder=desc'},
 | 
			
		||||
                                                 {'name':'by Date', 'url_after':'?field=time_add&sorder=desc'}]}),
 | 
			
		||||
        'hot': ('Most Recent', '/new/?field=seeders&sorder=desc', {'page': '/new/%d/?field=seeders&sorder=desc', 'increase': 1, 'second_page': 2,
 | 
			
		||||
                                         ' ':[{'name':' ', 'url_after':'?field=seeders&sorder=desc'}]}),
 | 
			
		||||
        'anime': ('Anime', '/anime/', {'page': '/anime/%d/', 'increase': 1, 'second_page': 2,
 | 
			
		||||
                                         'sort':[{'name':'by Seeders', 'url_after':'?field=seeders&sorder=desc'},
 | 
			
		||||
                                                 {'name':'by Date', 'url_after':'?field=time_add&sorder=desc'}]}),
 | 
			
		||||
        'tvshows': ('TV Shows', '/tv/', {'page': '/tv/%d/', 'increase': 1, 'second_page': 2,
 | 
			
		||||
                                         'sort':[{'name':'by Seeders', 'url_after':'?field=seeders&sorder=desc'},
 | 
			
		||||
                                                 {'name':'by Date', 'url_after':'?field=time_add&sorder=desc'}]}),
 | 
			
		||||
        'movies': ('Movies', '/movies/', {'page': '/movies/%d/', 'increase': 1, 'second_page': 2,
 | 
			
		||||
                                         'sort':[{'name':'by Seeders', 'url_after':'?field=seeders&sorder=desc'},
 | 
			
		||||
                                                 {'name':'by Date', 'url_after':'?field=time_add&sorder=desc'}]}),
 | 
			
		||||
                                         ' ':[{'name':' ', 'url_after':'?field=seeders&sorder=desc'}]}),
 | 
			
		||||
        'tvshows': ('TV Shows', '/tv/?field=seeders&sorder=desc', {'page': '/tv/%d/?field=seeders&sorder=desc', 'increase': 1, 'second_page': 2,
 | 
			
		||||
                                         ' ':[{'name':' ', 'url_after':'?field=seeders&sorder=desc'}]}),
 | 
			
		||||
        'movies': ('Movies', '/movies/?field=seeders&sorder=desc', {'page': '/movies/%d/?field=seeders&sorder=desc', 'increase': 1, 'second_page': 2,
 | 
			
		||||
                                         ' ':[{'name':' ', 'url_after':'?field=seeders&sorder=desc'}]}),
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    baseurl = "http://kickass.to"
 | 
			
		||||
 | 
			
		||||
@ -87,15 +87,17 @@ class RuTorOrg(SearcherABC.SearcherABC):
 | 
			
		||||
                   ('Cookie', str(sys.modules["__main__"].__settings__.getSetting("rutor-auth")))]
 | 
			
		||||
                response = self.makeRequest(url, headers=headers)
 | 
			
		||||
 | 
			
		||||
        #print response
 | 
			
		||||
 | 
			
		||||
        if None != response and 0 < len(response):
 | 
			
		||||
            dat = re.compile(
 | 
			
		||||
                '<tr class="[tg].+?<a.+?href="(/download/\d+)">.+?<a href=".+?">.+?<a href=".+?">(.+?)</a></td>.+?<td align="right">(\d*?\..+? .+?)</td>.+?<img .+?alt="S".+?> (\d+)</span>.+?alt="L".+?> (\d+)',
 | 
			
		||||
                '<tr class="[tg].+?<a.+?href="(.+?download/\d+)">.+?<a href=".+?">.+?<a href=".+?">(.+?)</a></td>.+?<td align="right">(\d*?\..+? .+?)</td>.+?<img .+?alt="S".+?> (\d+)</span>.+?alt="L".+?> (\d+)',
 | 
			
		||||
                re.DOTALL).findall(response)
 | 
			
		||||
            if dat and len(dat) > 0:
 | 
			
		||||
                for (link, title, size, seeds, leechers) in dat:
 | 
			
		||||
                    torrentTitle = title.strip()  #"%s [S\L: %s\%s]" % (title, seeds, leechers)
 | 
			
		||||
                    size = size.replace(' ', ' ')
 | 
			
		||||
                    link='http://zerkalo-rutor.org'+link
 | 
			
		||||
                    if link[0]=='/': link='http://zerkalo-rutor.org'+link
 | 
			
		||||
                    image = sys.modules["__main__"].__root__ + self.searchIcon
 | 
			
		||||
                    filesList.append((
 | 
			
		||||
                        int(int(self.sourceWeight) * int(seeds)),
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user