diff options
author | Stefano <l.stickell@yahoo.it> | 2013-09-28 16:59:28 +0200 |
---|---|---|
committer | Stefano <l.stickell@yahoo.it> | 2013-09-28 16:59:28 +0200 |
commit | 8e518664bd90467639369cede063e1b7146f1a49 (patch) | |
tree | 38e5a8ec588fdd1549fd814a5d5cb67c21ded049 | |
parent | ShareRapidCom: rewritten most of the plugin (diff) | |
download | pyload-8e518664bd90467639369cede063e1b7146f1a49.tar.xz |
New crypter: TurbobitNetFolder
-rw-r--r-- | module/plugins/crypter/TurbobitNetFolder.py | 60 | ||||
-rw-r--r-- | module/plugins/hoster/TurbobitNet.py | 4 |
2 files changed, 62 insertions, 2 deletions
diff --git a/module/plugins/crypter/TurbobitNetFolder.py b/module/plugins/crypter/TurbobitNetFolder.py new file mode 100644 index 000000000..e172f8037 --- /dev/null +++ b/module/plugins/crypter/TurbobitNetFolder.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- + +############################################################################ +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU Affero General Public License as # +# published by the Free Software Foundation, either version 3 of the # +# License, or (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU Affero General Public License for more details. # +# # +# You should have received a copy of the GNU Affero General Public License # +# along with this program. If not, see <http://www.gnu.org/licenses/>. # +############################################################################ + +import math +import re + +from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.common.json_layer import json_loads + + +def format_links(fid): + return 'http://turbobit.net/%s.html' % fid + + +class TurbobitNetFolder(SimpleCrypter): + __name__ = "TurbobitNetFolder" + __type__ = "crypter" + __pattern__ = r"http://(?:w{3}.)?turbobit\.net/download/folder/(?P<id>\w+)" + __version__ = "0.01" + __description__ = """Turbobit.net Folder Plugin""" + __author_name__ = ("stickell") + __author_mail__ = ("l.stickell@yahoo.it") + + TITLE_PATTERN = r"<img src='/js/lib/grid/icon/folder.png'>(?P<title>.+)</div>" + + def getLinks(self): + folder_id = re.search(self.__pattern__, self.pyfile.url).group('id') + grid = self.load('http://turbobit.net/downloadfolder/gridFile', + get={'id_folder': folder_id, 'rows': 200}, decode=True) + grid = json_loads(grid) + + links_count = grid["records"] + pages = int(math.ceil(links_count / 200.0)) + + ids = list() + for i in grid['rows']: + ids.append(i['id']) + + for p in range(2, pages + 1): + grid = self.load('http://turbobit.net/downloadfolder/gridFile', + get={'id_folder': folder_id, 'rows': 200, 'page': p}, decode=True) + grid = json_loads(grid) + for i in grid['rows']: + ids.append(i['id']) + + return map(format_links, ids) diff --git a/module/plugins/hoster/TurbobitNet.py b/module/plugins/hoster/TurbobitNet.py index 5fe42bba7..d574d1fa7 100644 --- a/module/plugins/hoster/TurbobitNet.py +++ b/module/plugins/hoster/TurbobitNet.py @@ -35,8 +35,8 @@ from module.plugins.internal.CaptchaService import ReCaptcha class TurbobitNet(SimpleHoster): __name__ = "TurbobitNet" __type__ = "hoster" - __pattern__ = r"http://(?:\w*\.)?(turbobit.net|unextfiles.com)/(?:download/free/)?(?P<ID>\w+).*" - __version__ = "0.09" + __pattern__ = r"http://(?:\w*\.)?(turbobit.net|unextfiles.com)/(?!download/folder/)(?:download/free/)?(?P<ID>\w+).*" + __version__ = "0.10" __description__ = """Turbobit.net plugin""" __author_name__ = ("zoidberg") __author_mail__ = ("zoidberg@mujmail.cz") |