diff options
Diffstat (limited to 'module/plugins/crypter/TurbobitNetFolder.py')
| -rw-r--r-- | module/plugins/crypter/TurbobitNetFolder.py | 60 | 
1 files changed, 60 insertions, 0 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)  | 
