From 821ed8c027a19c4a76d6fb81b161711b50ad773d Mon Sep 17 00:00:00 2001 From: nath_schwarz <nathan.notwhite@gmail.com> Date: Mon, 30 Jun 2014 13:33:10 +0200 Subject: [ImgurComAlbum] new crypter --- module/plugins/crypter/ImgurComAlbum.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 module/plugins/crypter/ImgurComAlbum.py (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/ImgurComAlbum.py b/module/plugins/crypter/ImgurComAlbum.py new file mode 100644 index 000000000..f05cf553b --- /dev/null +++ b/module/plugins/crypter/ImgurComAlbum.py @@ -0,0 +1,21 @@ +import re + +from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.utils import uniqify + + +class ImgurComAlbum(SimpleCrypter): + __name__ = "ImgurComAlbum" + __type__ = "crypter" + __version__ = "0.3" + __description__ = """Imgur.com decrypter plugin""" + __pattern__ = r"https?://imgur\.com/(a|gallery|)/?\w{5,7}" + __author_name_ = "nath_schwarz" + __author_mail_ = "nathan.notwhite@gmail.com" + + TITLE_PATTERN = r'(?P<title>.+) - Imgur' + LINK_PATTERN = r'i\.imgur\.com/\w{7}s?\.(?:jpeg|jpg|png|gif|apng)' + + def getLinks(self): + f = lambda url: "http://" + re.sub(r'(\w{7})s\.', r'\1.', url) + return uniqify(map(f, re.findall(self.LINK_PATTERN, self.html))) -- cgit v1.2.3 From aa3ca942268b88dce3f2ef78a39a969400dfa2c4 Mon Sep 17 00:00:00 2001 From: Stefano <l.stickell@yahoo.it> Date: Tue, 1 Jul 2014 14:19:38 +0200 Subject: [FilerNetFolder] New crypter See also #660 --- module/plugins/crypter/FilerNetFolder.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 module/plugins/crypter/FilerNetFolder.py (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/FilerNetFolder.py b/module/plugins/crypter/FilerNetFolder.py new file mode 100644 index 000000000..70c932d00 --- /dev/null +++ b/module/plugins/crypter/FilerNetFolder.py @@ -0,0 +1,19 @@ +import re + +from module.plugins.internal.SimpleCrypter import SimpleCrypter + + +class FilerNetFolder(SimpleCrypter): + __name__ = "FilerNetFolder" + __type__ = "crypter" + __version__ = "0.3" + __description__ = """Filer.net decrypter plugin""" + __pattern__ = r"https?://filer\.net/folder/\w{16}" + __author_name_ = ("nath_schwarz", "stickell") + __author_mail_ = ("nathan.notwhite@gmail.com", "l.stickell@yahoo.it") + + LINK_PATTERN = r'href="(/get/\w{16})">(?!<)' + TITLE_PATTERN = r'<h3>(?P<title>.+) - <small' + + def getLinks(self): + return ['http://filer.net%s' % link for link in re.findall(self.LINK_PATTERN, self.html)] -- cgit v1.2.3 From 59dbd29405af5847fc69a9801db23a695972cfd6 Mon Sep 17 00:00:00 2001 From: Stefano <l.stickell@yahoo.it> Date: Wed, 2 Jul 2014 15:24:23 +0200 Subject: [FilefactoryComFolder] Rewritten Fixes #648 --- module/plugins/crypter/FilefactoryComFolder.py | 47 +++++++------------------- 1 file changed, 12 insertions(+), 35 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/FilefactoryComFolder.py b/module/plugins/crypter/FilefactoryComFolder.py index aece1a01d..2147c48df 100644 --- a/module/plugins/crypter/FilefactoryComFolder.py +++ b/module/plugins/crypter/FilefactoryComFolder.py @@ -1,45 +1,22 @@ # -*- coding: utf-8 -*- -import re -from module.plugins.Crypter import Crypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter -class FilefactoryComFolder(Crypter): +class FilefactoryComFolder(SimpleCrypter): __name__ = "FilefactoryComFolder" __type__ = "crypter" - __pattern__ = r'(http://(?:www\.)?filefactory\.com/f/\w+).*' - __version__ = "0.1" + __pattern__ = r'https?://(?:www\.)?filefactory\.com/(?:f|folder)/\w+' + __version__ = "0.2" __description__ = """Filefactory.com folder decrypter plugin""" - __author_name__ = "zoidberg" - __author_mail__ = "zoidberg@mujmail.cz" + __author_name__ = "stickell" + __author_mail__ = "l.stickell@yahoo.it" - FOLDER_PATTERN = r'<table class="items" cellspacing="0" cellpadding="0">(.*?)</table>' - LINK_PATTERN = r'<td class="name"><a href="([^"]+)">' - PAGINATOR_PATTERN = r'<div class="list">\s*<label>Pages</label>\s*<ul>(.*?)</ul>\s*</div>' - NEXT_PAGE_PATTERN = r'<li class="current">.*?</li>\s*<li class=""><a href="([^"]+)">' + LINK_PATTERN = r'<td><a href="([^"]+)">' + TITLE_PATTERN = r'<h1>Files in <span>(?P<title>.+)</span></h1>' + PAGES_PATTERN = r'data-paginator-totalPages="(?P<pages>\d+)"' - def decrypt(self, pyfile): - url_base = re.match(self.__pattern__, pyfile.url).group(1) - html = self.load(url_base) + SH_COOKIES = [('.filefactory.com', 'locale', 'en_US.utf8')] - new_links = [] - for i in xrange(1, 100): - self.logInfo("Fetching links from page %i" % i) - found = re.search(self.FOLDER_PATTERN, html, re.DOTALL) - if found is None: self.fail("Parse error (FOLDER)") - - new_links.extend(re.findall(self.LINK_PATTERN, found.group(1))) - - try: - paginator = re.search(self.PAGINATOR_PATTERN, html, re.DOTALL).group(1) - next_page = re.search(self.NEXT_PAGE_PATTERN, paginator).group(1) - html = self.load("%s/%s" % (url_base, next_page)) - except Exception, e: - break - else: - self.logInfo("Limit of 99 pages reached, aborting") - - if new_links: - self.core.files.addLinks(new_links, pyfile.package().id) - else: - self.fail('Could not extract any links') + def loadPage(self, page_n): + return self.load(self.pyfile.url, get={'page': page_n}) -- cgit v1.2.3 From 2a79ebb957adf2ed610e6104fc00f7e51e835edc Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 5 Jul 2014 03:21:06 +0200 Subject: Cleaned ShareLinksBiz pattern + better if-check for RSDF plugin --- module/plugins/crypter/ShareLinksBiz.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/ShareLinksBiz.py b/module/plugins/crypter/ShareLinksBiz.py index 816842216..7353f30a7 100644 --- a/module/plugins/crypter/ShareLinksBiz.py +++ b/module/plugins/crypter/ShareLinksBiz.py @@ -11,7 +11,7 @@ from module.plugins.Crypter import Crypter class ShareLinksBiz(Crypter): __name__ = "ShareLinksBiz" __type__ = "crypter" - __pattern__ = r'(?P<base>http://(?:www\.)?(share-links|s2l)\.biz)/(?P<id>_?[0-9a-z]+)(/.*)?' + __pattern__ = r'http://(?:www\.)?(share-links|s2l)\.biz/(?P<ID>_?\w+)' __version__ = "1.13" __description__ = """Share-Links.biz decrypter plugin""" __author_name__ = "fragonib" @@ -64,7 +64,7 @@ class ShareLinksBiz(Crypter): if 's2l.biz' in url: url = self.load(url, just_header=True)['location'] self.baseUrl = re.match(self.__pattern__, url).group(1) - self.fileId = re.match(self.__pattern__, url).group('id') + self.fileId = re.match(self.__pattern__, url).group('ID') self.package = pyfile.package() def isOnline(self): -- cgit v1.2.3 From d016326ea5611c5dd9c0d5fcf2145fc202a45a9a Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 5 Jul 2014 16:33:12 +0200 Subject: New hoster: VimeoCom --- module/plugins/crypter/DownloadVimeoCom.py | 30 ------------------------------ 1 file changed, 30 deletions(-) delete mode 100644 module/plugins/crypter/DownloadVimeoCom.py (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/DownloadVimeoCom.py b/module/plugins/crypter/DownloadVimeoCom.py deleted file mode 100644 index 3e137bab1..000000000 --- a/module/plugins/crypter/DownloadVimeoCom.py +++ /dev/null @@ -1,30 +0,0 @@ -# -*- coding: utf-8 -*- - -import re -import HTMLParser -from module.plugins.Crypter import Crypter - - -class DownloadVimeoCom(Crypter): - __name__ = 'DownloadVimeoCom' - __type__ = 'crypter' - __pattern__ = r'(?:http://vimeo\.com/\d*|http://smotri\.com/video/view/\?id=.*)' - __version__ = '0.1' - __description__ = """Vimeo.com decrypter plugin""" - __author_name__ = "4Christopher" - __author_mail__ = "4Christopher@gmx.de" - - BASE_URL = 'http://downloadvimeo.com' - - def decrypt(self, pyfile): - self.package = pyfile.package() - html = self.load('%s/generate?url=%s' % (self.BASE_URL, pyfile.url)) - h = HTMLParser.HTMLParser() - try: - f = re.search(r'cmd quality="(?P<quality>[^"]+?)">\s*?(?P<URL>[^<]*?)</cmd>', html) - except: - self.logDebug('Failed to find the URL') - else: - url = h.unescape(f.group('URL')) - self.logDebug('Quality: %s, URL: %s' % (f.group('quality'), url)) - self.packages.append((self.package.name, [url], self.package.folder)) -- cgit v1.2.3 From 15362ebceaee1eb66920d4822d2faa947151e74a Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 5 Jul 2014 16:42:24 +0200 Subject: [SimpleCrypter] Better inline docs + support for offline & temp.offline check --- module/plugins/crypter/EasybytezComFolder.py | 4 ++-- module/plugins/crypter/TusfilesNetFolder.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/EasybytezComFolder.py b/module/plugins/crypter/EasybytezComFolder.py index b4a6284fc..7a8ee5424 100644 --- a/module/plugins/crypter/EasybytezComFolder.py +++ b/module/plugins/crypter/EasybytezComFolder.py @@ -21,12 +21,12 @@ class EasybytezComFolder(SimpleCrypter): __name__ = "EasybytezComFolder" __type__ = "crypter" __pattern__ = r'http://(?:www\.)?easybytez\.com/users/(?P<ID>\d+/\d+)' - __version__ = "0.05" + __version__ = "0.06" __description__ = """Easybytez.com decrypter plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" - FILE_URL_REPLACEMENTS = [(__pattern__, r"http://www.easybytez.com/users/\g<ID>?per_page=10000")] + URL_REPLACEMENTS = [(__pattern__, r"http://www.easybytez.com/users/\g<ID>?per_page=10000")] LINK_PATTERN = r'<td><a href="(http://www\.easybytez\.com/\w+)" target="_blank">.+(?:</a>)?</td>' TITLE_PATTERN = r'<Title>Files of \d+: (?P<title>.+) folder</Title>' diff --git a/module/plugins/crypter/TusfilesNetFolder.py b/module/plugins/crypter/TusfilesNetFolder.py index 0bc770f99..5ee32379d 100644 --- a/module/plugins/crypter/TusfilesNetFolder.py +++ b/module/plugins/crypter/TusfilesNetFolder.py @@ -27,7 +27,7 @@ class TusfilesNetFolder(SimpleCrypter): __name__ = "TusfilesNetFolder" __type__ = "crypter" __pattern__ = r'https?://(?:www\.)?tusfiles\.net/go/(?P<ID>\w+)/?' - __version__ = "0.01" + __version__ = "0.02" __description__ = """Tusfiles.net folder decrypter plugin""" __author_name__ = ("Walter Purcaro", "stickell") __author_mail__ = ("vuolter@gmail.com", "l.stickell@yahoo.it") @@ -36,7 +36,7 @@ class TusfilesNetFolder(SimpleCrypter): TITLE_PATTERN = r'<Title>.*?\: (?P<title>.+) folder</Title>' PAGES_PATTERN = r'>\((?P<pages>\d+) \w+\)<' - FILE_URL_REPLACEMENTS = [(__pattern__, r'https://www.tusfiles.net/go/\g<ID>/')] + URL_REPLACEMENTS = [(__pattern__, r'https://www.tusfiles.net/go/\g<ID>/')] def loadPage(self, page_n): return self.load(urljoin(self.pyfile.url, str(page_n)), decode=True) -- cgit v1.2.3 From 2929fdd73bc247da8c2df7fc33dd2f555848fadb Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 5 Jul 2014 17:56:28 +0200 Subject: [ShareLinksBiz] Fix broken pattern due last update --- module/plugins/crypter/ShareLinksBiz.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/ShareLinksBiz.py b/module/plugins/crypter/ShareLinksBiz.py index 7353f30a7..bd23d4751 100644 --- a/module/plugins/crypter/ShareLinksBiz.py +++ b/module/plugins/crypter/ShareLinksBiz.py @@ -63,7 +63,7 @@ class ShareLinksBiz(Crypter): url = pyfile.url if 's2l.biz' in url: url = self.load(url, just_header=True)['location'] - self.baseUrl = re.match(self.__pattern__, url).group(1) + self.baseUrl = "http://www.%s.biz" % re.match(self.__pattern__, url).group(1) self.fileId = re.match(self.__pattern__, url).group('ID') self.package = pyfile.package() -- cgit v1.2.3 From 1ccc46d6330c72cdfef6a3d13a4fa78cb6301757 Mon Sep 17 00:00:00 2001 From: nathschwarz <nathan.notwhite@gmail.com> Date: Sat, 5 Jul 2014 20:24:45 +0200 Subject: [ImgurComAlbum] Added www and mobile to pattern --- module/plugins/crypter/ImgurComAlbum.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/ImgurComAlbum.py b/module/plugins/crypter/ImgurComAlbum.py index f05cf553b..267f92e1a 100644 --- a/module/plugins/crypter/ImgurComAlbum.py +++ b/module/plugins/crypter/ImgurComAlbum.py @@ -7,9 +7,9 @@ from module.utils import uniqify class ImgurComAlbum(SimpleCrypter): __name__ = "ImgurComAlbum" __type__ = "crypter" - __version__ = "0.3" + __version__ = "0.4" __description__ = """Imgur.com decrypter plugin""" - __pattern__ = r"https?://imgur\.com/(a|gallery|)/?\w{5,7}" + __pattern__ = r"https?://(?:www\.|m\.)?imgur\.com/(a|gallery|)/?\w{5,7}" __author_name_ = "nath_schwarz" __author_mail_ = "nathan.notwhite@gmail.com" -- cgit v1.2.3 From 5108fb5e7cbb51a05ed142ac54d0586d2c9fc305 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 5 Jul 2014 20:39:25 +0200 Subject: [YoutubeBatch] Little pattern fixup --- module/plugins/crypter/YoutubeBatch.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/YoutubeBatch.py b/module/plugins/crypter/YoutubeBatch.py index e6976471c..4ba1a3c70 100644 --- a/module/plugins/crypter/YoutubeBatch.py +++ b/module/plugins/crypter/YoutubeBatch.py @@ -30,7 +30,7 @@ API_KEY = "AIzaSyCKnWLNlkX-L4oD1aEzqqhRw1zczeD6_k0" class YoutubeBatch(Crypter): __name__ = "YoutubeBatch" __type__ = "crypter" - __pattern__ = r'https?://(?:www\.)?(m\.)?youtube\.com/(?P<TYPE>user|playlist|view_play_list)(/|.*?[?&](?:list|p)=)(?P<ID>[\w-]+)' + __pattern__ = r'https?://(?:www\.|m\.)?youtube\.com/(?P<TYPE>user|playlist|view_play_list)(/|.*?[?&](?:list|p)=)(?P<ID>[\w-]+)' __version__ = "1.00" __description__ = """Youtube.com channel & playlist decrypter plugin""" __config__ = [("likes", "bool", "Grab user (channel) liked videos", False), -- cgit v1.2.3 From 1cc7a484cd0ed93bbe54a5d9b47564369967e22b Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Mon, 7 Jul 2014 21:08:40 +0200 Subject: New crypter FiredriveComFolder --- module/plugins/crypter/FiredriveComFolder.py | 39 ++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 module/plugins/crypter/FiredriveComFolder.py (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/FiredriveComFolder.py b/module/plugins/crypter/FiredriveComFolder.py new file mode 100644 index 000000000..97ba11037 --- /dev/null +++ b/module/plugins/crypter/FiredriveComFolder.py @@ -0,0 +1,39 @@ +# -*- 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 re + +from module.plugins.internal.SimpleCrypter import SimpleCrypter + + +class FiredriveComFolder(SimpleCrypter): + __name__ = "FiredriveComFolder" + __type__ = "crypter" + __pattern__ = r'https?://(?:www\.)?(firedrive|putlocker)\.com/share/.+' + __version__ = "0.01" + __description__ = """Firedrive.com folder decrypter plugin""" + __author_name__ = "Walter Purcaro" + __author_mail__ = "vuolter@gmail.com" + + LINK_PATTERN = r'<div class="pf_item pf_(file|folder).+?public=\'(.+?)\'' + TITLE_PATTERN = r'>Shared Folder "(?P<title>.+)" | Firedrive<' + OFFLINE_PATTERN = r'class="sad_face_image"|>No such page here.<' + TEMP_OFFLINE_PATTERN = r'>(File Temporarily Unavailable|Server Error. Try again later)' + + def getLinks(self): + return map(lambda x: "http://www.firedrive.com/%s/%s" % + ("share" if x[0] == "folder" else "file", x[1]), + re.findall(self.LINK_PATTERN, self.html)) -- cgit v1.2.3 From 2ecd18db134efa59aba6b809a4bf0bb5fa4d3d48 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Tue, 8 Jul 2014 02:07:33 +0200 Subject: New crypter FilecloudIoFolder --- module/plugins/crypter/FilecloudIoFolder.py | 30 +++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 module/plugins/crypter/FilecloudIoFolder.py (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/FilecloudIoFolder.py b/module/plugins/crypter/FilecloudIoFolder.py new file mode 100644 index 000000000..bd07b823e --- /dev/null +++ b/module/plugins/crypter/FilecloudIoFolder.py @@ -0,0 +1,30 @@ +# -*- 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/>. +############################################################################### + +from module.plugins.internal.SimpleCrypter import SimpleCrypter + + +class FilecloudIoFolder(SimpleCrypter): + __name__ = "FilecloudIoFolder" + __type__ = "crypter" + __pattern__ = r'https?://(?:www\.)?(filecloud\.io|ifile\.it)/_\w+' + __version__ = "0.01" + __description__ = """Filecloud.io folder decrypter plugin""" + __author_name__ = "Walter Purcaro" + __author_mail__ = "vuolter@gmail.com" + + LINK_PATTERN = r'href="(http://filecloud.io/\w+)" title' + TITLE_PATTERN = r'>(?P<title>.+?) - filecloud.io<' -- cgit v1.2.3 From 04038a2cf0c4c2d9cc9a0c8e8bf9beb6426afae8 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Thu, 10 Jul 2014 03:02:26 +0200 Subject: Use parseError instead PluginParseError + unified all download pattern attributes as LINK_PATTERN + removed some old patterns (not used anymore) + other code cosmetics --- module/plugins/crypter/DdlstorageComFolder.py | 2 +- module/plugins/crypter/DlProtectCom.py | 2 +- module/plugins/crypter/DontKnowMe.py | 2 +- module/plugins/crypter/FilestubeCom.py | 4 ++-- module/plugins/crypter/FiletramCom.py | 4 ++-- module/plugins/crypter/GooGl.py | 2 +- module/plugins/crypter/LinkSaveIn.py | 4 ++-- module/plugins/crypter/LixIn.py | 2 +- module/plugins/crypter/MediafireComFolder.py | 3 ++- module/plugins/crypter/NosvideoCom.py | 2 +- module/plugins/crypter/RelinkUs.py | 25 +++++++++++++------------ module/plugins/crypter/YoutubeBatch.py | 2 +- 12 files changed, 28 insertions(+), 26 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/DdlstorageComFolder.py b/module/plugins/crypter/DdlstorageComFolder.py index 6501de822..ef43edc5b 100644 --- a/module/plugins/crypter/DdlstorageComFolder.py +++ b/module/plugins/crypter/DdlstorageComFolder.py @@ -26,4 +26,4 @@ class DdlstorageComFolder(SimpleCrypter): __author_name__ = ("godofdream", "stickell") __author_mail__ = ("soilfiction@gmail.com", "l.stickell@yahoo.it") - LINK_PATTERN = '<a class="sub_title" style="text-decoration:none;" href="(http://www.ddlstorage.com/.*)">' + LINK_PATTERN = r'<a class="sub_title" style="text-decoration:none;" href="(http://www.ddlstorage.com/.*)">' diff --git a/module/plugins/crypter/DlProtectCom.py b/module/plugins/crypter/DlProtectCom.py index dbe5bf705..780708884 100644 --- a/module/plugins/crypter/DlProtectCom.py +++ b/module/plugins/crypter/DlProtectCom.py @@ -32,7 +32,7 @@ class DlProtectCom(SimpleCrypter): __author_name__ = "Walter Purcaro" __author_mail__ = "vuolter@gmail.com" - OFFLINE_PATTERN = ">Unfortunately, the link you are looking for is not found" + OFFLINE_PATTERN = r'>Unfortunately, the link you are looking for is not found' def getLinks(self): # Direct link with redirect diff --git a/module/plugins/crypter/DontKnowMe.py b/module/plugins/crypter/DontKnowMe.py index 42a38e98f..092834325 100644 --- a/module/plugins/crypter/DontKnowMe.py +++ b/module/plugins/crypter/DontKnowMe.py @@ -15,7 +15,7 @@ class DontKnowMe(Crypter): __author_name__ = "selaux" __author_mail__ = "" - LINK_PATTERN = r"http://dontknow.me/at/\?(.+)$" + LINK_PATTERN = r'http://dontknow.me/at/\?(.+)$' def decrypt(self, pyfile): link = re.findall(self.LINK_PATTERN, pyfile.url)[0] diff --git a/module/plugins/crypter/FilestubeCom.py b/module/plugins/crypter/FilestubeCom.py index f4f09e878..ac67c33c9 100644 --- a/module/plugins/crypter/FilestubeCom.py +++ b/module/plugins/crypter/FilestubeCom.py @@ -26,5 +26,5 @@ class FilestubeCom(SimpleCrypter): __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" - LINK_PATTERN = r"<a class=\"file-link-main(?: noref)?\" [^>]* href=\"(http://[^\"]+)" - TITLE_PATTERN = r"<h1\s*> (?P<title>.+) download\s*</h1>" + LINK_PATTERN = r'<a class=\"file-link-main(?: noref)?\" [^>]* href=\"(http://[^\"]+)' + TITLE_PATTERN = r'<h1\s*> (?P<title>.+) download\s*</h1>' diff --git a/module/plugins/crypter/FiletramCom.py b/module/plugins/crypter/FiletramCom.py index 8cdf32ad5..5a587eda2 100644 --- a/module/plugins/crypter/FiletramCom.py +++ b/module/plugins/crypter/FiletramCom.py @@ -26,5 +26,5 @@ class FiletramCom(SimpleCrypter): __author_name__ = ("igel", "stickell") __author_mail__ = ("igelkun@myopera.com", "l.stickell@yahoo.it") - LINK_PATTERN = r"\s+(http://.+)" - TITLE_PATTERN = r"<title>(?P<title>[^<]+) - Free Download[^<]*</title>" + LINK_PATTERN = r'\s+(http://.+)' + TITLE_PATTERN = r'<title>(?P<title>[^<]+) - Free Download[^<]*</title>' diff --git a/module/plugins/crypter/GooGl.py b/module/plugins/crypter/GooGl.py index 15f0a9a8c..343bce5fd 100644 --- a/module/plugins/crypter/GooGl.py +++ b/module/plugins/crypter/GooGl.py @@ -27,7 +27,7 @@ class GooGl(Crypter): __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" - API_URL = 'https://www.googleapis.com/urlshortener/v1/url' + API_URL = "https://www.googleapis.com/urlshortener/v1/url" def decrypt(self, pyfile): rep = self.load(self.API_URL, get={'shortUrl': pyfile.url}) diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index 85dde6c87..13277e3f3 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -27,7 +27,7 @@ class LinkSaveIn(Crypter): # Constants _JK_KEY_ = "jk" _CRYPTED_KEY_ = "crypted" - HOSTER_DOMAIN = "linksave.in" + HOSTER_NAME = "linksave.in" def setup(self): self.html = None @@ -41,7 +41,7 @@ class LinkSaveIn(Crypter): # Init self.package = pyfile.package() self.fileid = re.match(self.__pattern__, pyfile.url).group('id') - self.req.cj.setCookie(self.HOSTER_DOMAIN, "Linksave_Language", "english") + self.req.cj.setCookie(self.HOSTER_NAME, "Linksave_Language", "english") # Request package self.html = self.load(pyfile.url) diff --git a/module/plugins/crypter/LixIn.py b/module/plugins/crypter/LixIn.py index 619a474f2..8fca7dc02 100644 --- a/module/plugins/crypter/LixIn.py +++ b/module/plugins/crypter/LixIn.py @@ -14,7 +14,7 @@ class LixIn(Crypter): __author_name__ = "spoob" __author_mail__ = "spoob@pyload.org" - CAPTCHA_PATTERN = '<img src="(?P<image>captcha_img.php\?.*?)"' + CAPTCHA_PATTERN = r'<img src="(?P<image>captcha_img.php\?.*?)"' SUBMIT_PATTERN = r"value='continue.*?'" LINK_PATTERN = r'name="ifram" src="(?P<link>.*?)"' diff --git a/module/plugins/crypter/MediafireComFolder.py b/module/plugins/crypter/MediafireComFolder.py index 46856229c..1ab16f31f 100644 --- a/module/plugins/crypter/MediafireComFolder.py +++ b/module/plugins/crypter/MediafireComFolder.py @@ -16,7 +16,8 @@ class MediafireComFolder(Crypter): __author_mail__ = "zoidberg@mujmail.cz" FOLDER_KEY_PATTERN = r"var afI= '(\w+)';" - FILE_URL_PATTERN = '<meta property="og:url" content="http://www.mediafire.com/\?(\w+)"/>' + FILE_URL_PATTERN = r'<meta property="og:url" content="http://www.mediafire.com/\?(\w+)"/>' + def decrypt(self, pyfile): new_links = [] diff --git a/module/plugins/crypter/NosvideoCom.py b/module/plugins/crypter/NosvideoCom.py index 63e199a7a..20097c7bf 100644 --- a/module/plugins/crypter/NosvideoCom.py +++ b/module/plugins/crypter/NosvideoCom.py @@ -13,4 +13,4 @@ class NosvideoCom(SimpleCrypter): __author_mail__ = "igelkun@myopera.com" LINK_PATTERN = r'href="(http://(?:w{3}\.)?nosupload.com/\?d=\w+)"' - TITLE_PATTERN = r"<[tT]itle>Watch (?P<title>.+)</[tT]itle>" + TITLE_PATTERN = r'<[tT]itle>Watch (?P<title>.+)</[tT]itle>' diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index aad55c867..f6503374f 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -21,27 +21,28 @@ class RelinkUs(Crypter): # Constants PREFERRED_LINK_SOURCES = ['cnl2', 'dlc', 'web'] - OFFLINE_TOKEN = "<title>Tattooside" - PASSWORD_TOKEN = "container_password.php" - PASSWORD_ERROR_ROKEN = "You have entered an incorrect password" - PASSWORD_SUBMIT_URL = "http://www.relink.us/container_password.php" - CAPTCHA_TOKEN = "container_captcha.php" - CAPTCHA_ERROR_ROKEN = "You have solved the captcha wrong" - CAPTCHA_IMG_URL = "http://www.relink.us/core/captcha/circlecaptcha.php" - CAPTCHA_SUBMIT_URL = "http://www.relink.us/container_captcha.php" - FILE_TITLE_REGEX = r"<th>Title</th><td><i>(.*)</i></td></tr>" - FILE_NOTITLE = 'No title' + OFFLINE_TOKEN = r'<title>Tattooside' + PASSWORD_TOKEN = r'container_password\.php' + PASSWORD_ERROR_ROKEN = r'You have entered an incorrect password' + PASSWORD_SUBMIT_URL = r'http://www\.relink\.us/container_password\.php' + CAPTCHA_TOKEN = r'container_captcha\.php' + CAPTCHA_ERROR_ROKEN = r'You have solved the captcha wrong' + CAPTCHA_IMG_URL = r'http://www\.relink\.us/core/captcha/circlecaptcha\.php' + CAPTCHA_SUBMIT_URL = r'http://www\.relink\.us/container_captcha\.php' + FILE_TITLE_REGEX = r'<th>Title</th><td><i>(.*)</i></td></tr>' + FILE_NOTITLE = r'No title' CNL2_FORM_REGEX = r'<form id="cnl_form-(.*?)</form>' CNL2_FORMINPUT_REGEX = r'<input.*?name="%s".*?value="(.*?)"' CNL2_JK_KEY = "jk" CNL2_CRYPTED_KEY = "crypted" DLC_LINK_REGEX = r'<a href=".*?" class="dlc_button" target="_blank">' - DLC_DOWNLOAD_URL = "http://www.relink.us/download.php" + DLC_DOWNLOAD_URL = r'http://www\.relink\.us/download\.php' WEB_FORWARD_REGEX = r"getFile\('(?P<link>.+)'\)" - WEB_FORWARD_URL = "http://www.relink.us/frame.php" + WEB_FORWARD_URL = r'http://www\.relink\.us/frame\.php' WEB_LINK_REGEX = r'<iframe name="Container" height="100%" frameborder="no" width="100%" src="(?P<link>.+)"></iframe>' + def setup(self): self.fileid = None self.package = None diff --git a/module/plugins/crypter/YoutubeBatch.py b/module/plugins/crypter/YoutubeBatch.py index 4ba1a3c70..ade31df21 100644 --- a/module/plugins/crypter/YoutubeBatch.py +++ b/module/plugins/crypter/YoutubeBatch.py @@ -24,7 +24,7 @@ from module.common.json_layer import json_loads from module.plugins.Crypter import Crypter from module.utils import save_join -API_KEY = "AIzaSyCKnWLNlkX-L4oD1aEzqqhRw1zczeD6_k0" +API_URL = "AIzaSyCKnWLNlkX-L4oD1aEzqqhRw1zczeD6_k0" class YoutubeBatch(Crypter): -- cgit v1.2.3 From 48c0c42fd6faffc56432d5f037cd575979f180cc Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Mon, 14 Jul 2014 02:23:37 +0200 Subject: Removed all @author flags + key attributes cleanup for internal & hooks plugins --- module/plugins/crypter/DailymotionBatch.py | 2 -- module/plugins/crypter/DlProtectCom.py | 2 -- module/plugins/crypter/DontKnowMe.py | 2 +- module/plugins/crypter/ILoadTo.py | 2 +- module/plugins/crypter/LinkdecrypterCom.py | 2 -- module/plugins/crypter/MultiUpOrg.py | 2 -- module/plugins/crypter/RSLayerCom.py | 2 +- module/plugins/crypter/TnyCz.py | 2 -- module/plugins/crypter/TusfilesNetFolder.py | 2 -- module/plugins/crypter/WiiReloadedOrg.py | 2 +- module/plugins/crypter/YoutubeBatch.py | 2 -- 11 files changed, 4 insertions(+), 18 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/DailymotionBatch.py b/module/plugins/crypter/DailymotionBatch.py index 5c0dd9cec..e13f267f4 100644 --- a/module/plugins/crypter/DailymotionBatch.py +++ b/module/plugins/crypter/DailymotionBatch.py @@ -13,8 +13,6 @@ You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. - - @author: Walter Purcaro """ from urlparse import urljoin diff --git a/module/plugins/crypter/DlProtectCom.py b/module/plugins/crypter/DlProtectCom.py index 780708884..f9214f0c8 100644 --- a/module/plugins/crypter/DlProtectCom.py +++ b/module/plugins/crypter/DlProtectCom.py @@ -12,8 +12,6 @@ # # 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/>. -# -# @author: Walter Purcaro ############################################################################### import re diff --git a/module/plugins/crypter/DontKnowMe.py b/module/plugins/crypter/DontKnowMe.py index 092834325..4a4b6f292 100644 --- a/module/plugins/crypter/DontKnowMe.py +++ b/module/plugins/crypter/DontKnowMe.py @@ -13,7 +13,7 @@ class DontKnowMe(Crypter): __version__ = "0.1" __description__ = """DontKnow.me decrypter plugin""" __author_name__ = "selaux" - __author_mail__ = "" + __author_mail__ = None LINK_PATTERN = r'http://dontknow.me/at/\?(.+)$' diff --git a/module/plugins/crypter/ILoadTo.py b/module/plugins/crypter/ILoadTo.py index 3a388d41f..a9547c2b2 100644 --- a/module/plugins/crypter/ILoadTo.py +++ b/module/plugins/crypter/ILoadTo.py @@ -10,4 +10,4 @@ class ILoadTo(DeadCrypter): __version__ = "0.11" __description__ = """Iload.to decrypter plugin""" __author_name__ = "hzpz" - __author_mail__ = "" + __author_mail__ = None diff --git a/module/plugins/crypter/LinkdecrypterCom.py b/module/plugins/crypter/LinkdecrypterCom.py index a6e6faa40..1ec396962 100644 --- a/module/plugins/crypter/LinkdecrypterCom.py +++ b/module/plugins/crypter/LinkdecrypterCom.py @@ -13,8 +13,6 @@ You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. - - @author: zoidberg """ import re diff --git a/module/plugins/crypter/MultiUpOrg.py b/module/plugins/crypter/MultiUpOrg.py index 997d60862..a565b3888 100644 --- a/module/plugins/crypter/MultiUpOrg.py +++ b/module/plugins/crypter/MultiUpOrg.py @@ -13,8 +13,6 @@ # # 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/>. -# -# @author: Walter Purcaro ############################################################################### import re diff --git a/module/plugins/crypter/RSLayerCom.py b/module/plugins/crypter/RSLayerCom.py index 9f1a9a394..13f4ed4bd 100644 --- a/module/plugins/crypter/RSLayerCom.py +++ b/module/plugins/crypter/RSLayerCom.py @@ -10,4 +10,4 @@ class RSLayerCom(DeadCrypter): __version__ = "0.21" __description__ = """RS-Layer.com decrypter plugin""" __author_name__ = "hzpz" - __author_mail__ = "" + __author_mail__ = None diff --git a/module/plugins/crypter/TnyCz.py b/module/plugins/crypter/TnyCz.py index 6c56f7639..aed7c3cf9 100644 --- a/module/plugins/crypter/TnyCz.py +++ b/module/plugins/crypter/TnyCz.py @@ -13,8 +13,6 @@ You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. - - @author: Walter Purcaro """ from module.plugins.internal.SimpleCrypter import SimpleCrypter diff --git a/module/plugins/crypter/TusfilesNetFolder.py b/module/plugins/crypter/TusfilesNetFolder.py index 5ee32379d..59aef3372 100644 --- a/module/plugins/crypter/TusfilesNetFolder.py +++ b/module/plugins/crypter/TusfilesNetFolder.py @@ -12,8 +12,6 @@ # # 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/>. -# -# @author: Walter Purcaro ############################################################################### import math diff --git a/module/plugins/crypter/WiiReloadedOrg.py b/module/plugins/crypter/WiiReloadedOrg.py index 0b983c705..7274b4a84 100644 --- a/module/plugins/crypter/WiiReloadedOrg.py +++ b/module/plugins/crypter/WiiReloadedOrg.py @@ -10,4 +10,4 @@ class WiiReloadedOrg(DeadCrypter): __version__ = "0.11" __description__ = """Wii-Reloaded.org decrypter plugin""" __author_name__ = "hzpz" - __author_mail__ = "" + __author_mail__ = None diff --git a/module/plugins/crypter/YoutubeBatch.py b/module/plugins/crypter/YoutubeBatch.py index ade31df21..1af9475eb 100644 --- a/module/plugins/crypter/YoutubeBatch.py +++ b/module/plugins/crypter/YoutubeBatch.py @@ -13,8 +13,6 @@ You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. - - @author: Walter Purcaro """ from urlparse import urljoin -- cgit v1.2.3 From 5060e4c6374a5116d0d8b02528f910f8c5f8bcf9 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Tue, 15 Jul 2014 16:25:41 +0200 Subject: Fix code indentation, some bad whitespaces and missing authors + use 'not' instead 'is None' + replace __pattern__'s r" with r' + other minor cosmetics --- module/plugins/crypter/CzshareComFolder.py | 3 ++- module/plugins/crypter/DuckCryptInfo.py | 1 - module/plugins/crypter/FilerNetFolder.py | 2 +- module/plugins/crypter/FileserveComFolder.py | 3 ++- module/plugins/crypter/ImgurComAlbum.py | 2 +- module/plugins/crypter/LetitbitNetFolder.py | 2 +- module/plugins/crypter/LinkSaveIn.py | 9 +++------ module/plugins/crypter/MultiUpOrg.py | 2 +- module/plugins/crypter/NCryptIn.py | 12 ++++-------- module/plugins/crypter/NetfolderIn.py | 3 +-- module/plugins/crypter/QuickshareCzFolder.py | 2 +- module/plugins/crypter/RelinkUs.py | 3 --- module/plugins/crypter/SafelinkingNet.py | 6 +++--- module/plugins/crypter/ShareLinksBiz.py | 5 +---- module/plugins/crypter/UlozToFolder.py | 2 +- 15 files changed, 22 insertions(+), 35 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/CzshareComFolder.py b/module/plugins/crypter/CzshareComFolder.py index d1ba8335c..c3606fdab 100644 --- a/module/plugins/crypter/CzshareComFolder.py +++ b/module/plugins/crypter/CzshareComFolder.py @@ -22,7 +22,8 @@ class CzshareComFolder(Crypter): new_links = [] found = re.search(self.FOLDER_PATTERN, html, re.DOTALL) - if found is None: self.fail("Parse error (FOLDER)") + if not found: + self.fail("Parse error (FOLDER)") new_links.extend(re.findall(self.LINK_PATTERN, found.group(1))) if new_links: diff --git a/module/plugins/crypter/DuckCryptInfo.py b/module/plugins/crypter/DuckCryptInfo.py index f44bac2e9..4cd3ec197 100644 --- a/module/plugins/crypter/DuckCryptInfo.py +++ b/module/plugins/crypter/DuckCryptInfo.py @@ -32,7 +32,6 @@ class DuckCryptInfo(Crypter): else: self.handleFolder(found) - def handleFolder(self, found): src = self.load("http://duckcrypt.info/ajax/auth.php?hash=" + str(found.group(2))) found = re.match(self.__pattern__, src) diff --git a/module/plugins/crypter/FilerNetFolder.py b/module/plugins/crypter/FilerNetFolder.py index 70c932d00..c4cf658bd 100644 --- a/module/plugins/crypter/FilerNetFolder.py +++ b/module/plugins/crypter/FilerNetFolder.py @@ -8,7 +8,7 @@ class FilerNetFolder(SimpleCrypter): __type__ = "crypter" __version__ = "0.3" __description__ = """Filer.net decrypter plugin""" - __pattern__ = r"https?://filer\.net/folder/\w{16}" + __pattern__ = r'https?://filer\.net/folder/\w{16}' __author_name_ = ("nath_schwarz", "stickell") __author_mail_ = ("nathan.notwhite@gmail.com", "l.stickell@yahoo.it") diff --git a/module/plugins/crypter/FileserveComFolder.py b/module/plugins/crypter/FileserveComFolder.py index c3c8b58fe..74d7806e6 100644 --- a/module/plugins/crypter/FileserveComFolder.py +++ b/module/plugins/crypter/FileserveComFolder.py @@ -23,7 +23,8 @@ class FileserveComFolder(Crypter): new_links = [] folder = re.search(self.FOLDER_PATTERN, html, re.DOTALL) - if folder is None: self.fail("Parse error (FOLDER)") + if not folder: + self.fail("Parse error (FOLDER)") new_links.extend(re.findall(self.LINK_PATTERN, folder.group(1))) diff --git a/module/plugins/crypter/ImgurComAlbum.py b/module/plugins/crypter/ImgurComAlbum.py index 267f92e1a..79306fc6c 100644 --- a/module/plugins/crypter/ImgurComAlbum.py +++ b/module/plugins/crypter/ImgurComAlbum.py @@ -9,7 +9,7 @@ class ImgurComAlbum(SimpleCrypter): __type__ = "crypter" __version__ = "0.4" __description__ = """Imgur.com decrypter plugin""" - __pattern__ = r"https?://(?:www\.|m\.)?imgur\.com/(a|gallery|)/?\w{5,7}" + __pattern__ = r'https?://(?:www\.|m\.)?imgur\.com/(a|gallery|)/?\w{5,7}' __author_name_ = "nath_schwarz" __author_mail_ = "nathan.notwhite@gmail.com" diff --git a/module/plugins/crypter/LetitbitNetFolder.py b/module/plugins/crypter/LetitbitNetFolder.py index 8e994984b..8ae2ad118 100644 --- a/module/plugins/crypter/LetitbitNetFolder.py +++ b/module/plugins/crypter/LetitbitNetFolder.py @@ -22,7 +22,7 @@ class LetitbitNetFolder(Crypter): new_links = [] folder = re.search(self.FOLDER_PATTERN, html, re.DOTALL) - if folder is None: + if not folder: self.fail("Parse error (FOLDER)") new_links.extend(re.findall(self.LINK_PATTERN, folder.group(0))) diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index 13277e3f3..e4497eb09 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -37,7 +37,6 @@ class LinkSaveIn(Crypter): self.preferred_sources = ['cnl2', 'rsdf', 'ccf', 'dlc', 'web'] def decrypt(self, pyfile): - # Init self.package = pyfile.package() self.fileid = re.match(self.__pattern__, pyfile.url).group('id') @@ -124,11 +123,11 @@ class LinkSaveIn(Crypter): self.correctCaptcha() def handleLinkSource(self, type_): - if type_ == 'cnl2': + if type_ == "cnl2": return self.handleCNL2() - elif type_ in ('rsdf', 'ccf', 'dlc'): + elif type_ in ("rsdf", "ccf", "dlc"): return self.handleContainer(type_) - elif type_ == 'web': + elif type_ == "web": return self.handleWebLinks() else: self.fail('unknown source type "%s" (this is probably a bug)' % type_) @@ -189,7 +188,6 @@ class LinkSaveIn(Crypter): return package_links def _getCipherParams(self): - # Get jk jk_re = r'<INPUT.*?NAME="%s".*?VALUE="(.*?)"' % LinkSaveIn._JK_KEY_ vjk = re.findall(jk_re, self.html) @@ -203,7 +201,6 @@ class LinkSaveIn(Crypter): return vcrypted, vjk def _getLinks(self, crypted, jk): - # Get key jreturn = self.js.eval("%s f()" % jk) self.logDebug("JsEngine returns value [%s]" % jreturn) diff --git a/module/plugins/crypter/MultiUpOrg.py b/module/plugins/crypter/MultiUpOrg.py index a565b3888..d08daaf75 100644 --- a/module/plugins/crypter/MultiUpOrg.py +++ b/module/plugins/crypter/MultiUpOrg.py @@ -24,7 +24,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class MultiUpOrg(SimpleCrypter): __name__ = "MultiUpOrg" __type__ = "crypter" - __pattern__ = r"http://(?:www\.)?multiup\.org/(en|fr)/(?P<TYPE>project|download|miror)/\w+(/\w+)?" + __pattern__ = r'http://(?:www\.)?multiup\.org/(en|fr)/(?P<TYPE>project|download|miror)/\w+(/\w+)?' __version__ = "0.01" __description__ = """MultiUp.org crypter plugin""" __author_name__ = "Walter Purcaro" diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index eacd4aa8d..cadf2760f 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -32,7 +32,6 @@ class NCryptIn(Crypter): self.protection_type = None def decrypt(self, pyfile): - # Init self.package = pyfile.package() package_links = [] @@ -75,7 +74,7 @@ class NCryptIn(Crypter): def isSingleLink(self): link_type = re.match(self.__pattern__, self.pyfile.url).group('type') - return link_type in ('link', 'frame') + return link_type in ("link", "frame") def requestFolderHome(self): return self.load(self.pyfile.url, decode=True) @@ -163,7 +162,6 @@ class NCryptIn(Crypter): return self.load(self.pyfile.url, post=postData, decode=True) def handleErrors(self): - if self.protection_type == "password": if "This password is invalid!" in self.cleanedHtml: self.logDebug("Incorrect password, please set right password on 'Edit package' form and retry") @@ -178,9 +176,8 @@ class NCryptIn(Crypter): self.correctCaptcha() def handleLinkSource(self, link_source_type): - # Check for JS engine - require_js_engine = link_source_type in ('cnl2', 'rsdf', 'ccf', 'dlc') + require_js_engine = link_source_type in ("cnl2", "rsdf", "ccf", "dlc") if require_js_engine and not self.js: self.logDebug("No JS engine available, skip %s links" % link_source_type) return [] @@ -190,9 +187,9 @@ class NCryptIn(Crypter): return self.handleSingleLink() if link_source_type == 'cnl2': return self.handleCNL2() - elif link_source_type in ('rsdf', 'ccf', 'dlc'): + elif link_source_type in ("rsdf", "ccf", "dlc"): return self.handleContainer(link_source_type) - elif link_source_type == 'web': + elif link_source_type == "web": return self.handleWebLinks() else: self.fail('unknown source type "%s" (this is probably a bug)' % link_source_type) @@ -279,7 +276,6 @@ class NCryptIn(Crypter): return vcrypted, vjk def _getLinks(self, crypted, jk): - # Get key jreturn = self.js.eval("%s f()" % jk) self.logDebug("JsEngine returns value [%s]" % jreturn) diff --git a/module/plugins/crypter/NetfolderIn.py b/module/plugins/crypter/NetfolderIn.py index 28ee3a9dd..286b9366b 100644 --- a/module/plugins/crypter/NetfolderIn.py +++ b/module/plugins/crypter/NetfolderIn.py @@ -23,7 +23,7 @@ class NetfolderIn(SimpleCrypter): # Check for password protection if self.isPasswordProtected(): self.html = self.submitPassword() - if self.html is None: + if not self.html: self.fail("Incorrect password, please set right password on Add package form and retry") # Get package name and folder @@ -36,7 +36,6 @@ class NetfolderIn(SimpleCrypter): self.packages = [(package_name, package_links, folder_name)] def isPasswordProtected(self): - if '<input type="password" name="password"' in self.html: self.logDebug("Links are password protected") return True diff --git a/module/plugins/crypter/QuickshareCzFolder.py b/module/plugins/crypter/QuickshareCzFolder.py index 13d7671bf..a412a5d18 100644 --- a/module/plugins/crypter/QuickshareCzFolder.py +++ b/module/plugins/crypter/QuickshareCzFolder.py @@ -21,7 +21,7 @@ class QuickshareCzFolder(Crypter): new_links = [] found = re.search(self.FOLDER_PATTERN, html, re.DOTALL) - if found is None: + if not found: self.fail("Parse error (FOLDER)") new_links.extend(re.findall(self.LINK_PATTERN, found.group(1))) diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index f6503374f..f5c158d2e 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -51,7 +51,6 @@ class RelinkUs(Crypter): self.captcha = False def decrypt(self, pyfile): - # Init self.initPackage(pyfile) @@ -226,7 +225,6 @@ class RelinkUs(Crypter): return package_links def _getCipherParams(self, cnl2_form): - # Get jk jk_re = self.CNL2_FORMINPUT_REGEX % self.CNL2_JK_KEY vjk = re.findall(jk_re, cnl2_form, re.IGNORECASE) @@ -240,7 +238,6 @@ class RelinkUs(Crypter): return vcrypted, vjk def _getLinks(self, crypted, jk): - # Get key jreturn = self.js.eval("%s f()" % jk) self.logDebug("JsEngine returns value [%s]" % jreturn) diff --git a/module/plugins/crypter/SafelinkingNet.py b/module/plugins/crypter/SafelinkingNet.py index 4a907c28d..cb2617168 100644 --- a/module/plugins/crypter/SafelinkingNet.py +++ b/module/plugins/crypter/SafelinkingNet.py @@ -10,10 +10,10 @@ from module.lib.BeautifulSoup import BeautifulSoup class SafelinkingNet(Crypter): - __name__ = 'SafelinkingNet' - __type__ = 'crypter' + __name__ = "SafelinkingNet" + __type__ = "crypter" __pattern__ = r'https?://(?:www\.)?safelinking.net/([pd])/\w+' - __version__ = '0.1' + __version__ = "0.1" __description__ = """Safelinking.net decrypter plugin""" __author_name__ = "quareevo" __author_mail__ = "quareevo@arcor.de" diff --git a/module/plugins/crypter/ShareLinksBiz.py b/module/plugins/crypter/ShareLinksBiz.py index bd23d4751..4ea5955db 100644 --- a/module/plugins/crypter/ShareLinksBiz.py +++ b/module/plugins/crypter/ShareLinksBiz.py @@ -25,7 +25,6 @@ class ShareLinksBiz(Crypter): self.captcha = False def decrypt(self, pyfile): - # Init self.initFile(pyfile) @@ -111,7 +110,7 @@ class ShareLinksBiz(Crypter): # Resolve captcha href = self._resolveCoords(coords, captchaMap) - if href is None: + if not href: self.logDebug("Invalid captcha resolving, retrying") self.invalidCaptcha() self.setWait(5, False) @@ -223,7 +222,6 @@ class ShareLinksBiz(Crypter): return package_links def _getCipherParams(self): - # Request CNL2 code = re.search(r'ClicknLoad.swf\?code=(.*?)"', self.html).group(1) url = "%s/get/cnl2/%s" % (self.baseUrl, code) @@ -244,7 +242,6 @@ class ShareLinksBiz(Crypter): return crypted, jk def _getLinks(self, crypted, jk): - # Get key jreturn = self.js.eval("%s f()" % jk) self.logDebug("JsEngine returns value [%s]" % jreturn) diff --git a/module/plugins/crypter/UlozToFolder.py b/module/plugins/crypter/UlozToFolder.py index eebb14497..6c7729fee 100644 --- a/module/plugins/crypter/UlozToFolder.py +++ b/module/plugins/crypter/UlozToFolder.py @@ -24,7 +24,7 @@ class UlozToFolder(Crypter): for i in xrange(1, 100): self.logInfo("Fetching links from page %i" % i) found = re.search(self.FOLDER_PATTERN, html, re.DOTALL) - if found is None: + if not found: self.fail("Parse error (FOLDER)") new_links.extend(re.findall(self.LINK_PATTERN, found.group(1))) -- cgit v1.2.3 From 7b8c458cca7d21a029620f98e453f746fce69cd1 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Mon, 14 Jul 2014 16:10:01 +0200 Subject: Prefer single quote for dict key name --- module/plugins/crypter/DailymotionBatch.py | 16 ++++----- module/plugins/crypter/DlProtectCom.py | 4 +-- module/plugins/crypter/DuckCryptInfo.py | 2 +- module/plugins/crypter/HoerbuchIn.py | 2 +- module/plugins/crypter/LinkSaveIn.py | 2 +- module/plugins/crypter/NCryptIn.py | 2 +- module/plugins/crypter/RelinkUs.py | 4 +-- module/plugins/crypter/SafelinkingNet.py | 12 +++---- module/plugins/crypter/SerienjunkiesOrg.py | 50 ++++++++++++++--------------- module/plugins/crypter/TurbobitNetFolder.py | 6 ++-- module/plugins/crypter/YoutubeBatch.py | 50 ++++++++++++++--------------- 11 files changed, 75 insertions(+), 75 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/DailymotionBatch.py b/module/plugins/crypter/DailymotionBatch.py index e13f267f4..d9309af90 100644 --- a/module/plugins/crypter/DailymotionBatch.py +++ b/module/plugins/crypter/DailymotionBatch.py @@ -45,8 +45,8 @@ class DailymotionBatch(Crypter): if "error" in playlist: return - name = playlist["name"] - owner = playlist["owner.screenname"] + name = playlist['name'] + owner = playlist['owner.screenname'] return name, owner def _getPlaylists(self, user_id, page=1): @@ -57,10 +57,10 @@ class DailymotionBatch(Crypter): if "error" in user: return - for playlist in user["list"]: - yield playlist["id"] + for playlist in user['list']: + yield playlist['id'] - if user["has_more"]: + if user['has_more']: for item in self._getPlaylists(user_id, page + 1): yield item @@ -75,10 +75,10 @@ class DailymotionBatch(Crypter): if "error" in playlist: return - for video in playlist["list"]: - yield video["url"] + for video in playlist['list']: + yield video['url'] - if playlist["has_more"]: + if playlist['has_more']: for item in self._getVideos(id, page + 1): yield item diff --git a/module/plugins/crypter/DlProtectCom.py b/module/plugins/crypter/DlProtectCom.py index f9214f0c8..5ef8eab21 100644 --- a/module/plugins/crypter/DlProtectCom.py +++ b/module/plugins/crypter/DlProtectCom.py @@ -53,14 +53,14 @@ class DlProtectCom(SimpleCrypter): post_req.update({"i": b64time, "submitform": "Decrypt+link"}) if ">Password :" in self.html: - post_req["pwd"] = self.getPassword() + post_req['pwd'] = self.getPassword() if ">Security Code" in self.html: captcha_id = re.search(r'/captcha\.php\?uid=(.+?)"', self.html).group(1) captcha_url = "http://www.dl-protect.com/captcha.php?uid=" + captcha_id captcha_code = self.decryptCaptcha(captcha_url, imgtype="gif") - post_req["secure"] = captcha_code + post_req['secure'] = captcha_code self.html = self.load(self.pyfile.url, post=post_req) diff --git a/module/plugins/crypter/DuckCryptInfo.py b/module/plugins/crypter/DuckCryptInfo.py index 4cd3ec197..bbf6e6b0d 100644 --- a/module/plugins/crypter/DuckCryptInfo.py +++ b/module/plugins/crypter/DuckCryptInfo.py @@ -49,7 +49,7 @@ class DuckCryptInfo(Crypter): def handleLink(self, url): src = self.load(url) soup = BeautifulSoup(src) - link = soup.find("iframe")["src"] + link = soup.find("iframe")['src'] if not link: self.logDebug('no links found - (Plugin out of date?)') else: diff --git a/module/plugins/crypter/HoerbuchIn.py b/module/plugins/crypter/HoerbuchIn.py index c6773b3f0..06a15fc65 100644 --- a/module/plugins/crypter/HoerbuchIn.py +++ b/module/plugins/crypter/HoerbuchIn.py @@ -28,7 +28,7 @@ class HoerbuchIn(Crypter): abookname = soup.find("a", attrs={"rel": "bookmark"}).text for a in soup.findAll("a", attrs={"href": self.protection}): package = "%s (%s)" % (abookname, a.previousSibling.previousSibling.text[:-1]) - links = self.decryptFolder(a["href"]) + links = self.decryptFolder(a['href']) self.packages.append((package, links, pyfile.package().folder)) else: diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index e4497eb09..5fde4e958 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -34,7 +34,7 @@ class LinkSaveIn(Crypter): self.fileid = None self.captcha = False self.package = None - self.preferred_sources = ['cnl2', 'rsdf', 'ccf', 'dlc', 'web'] + self.preferred_sources = ["cnl2", "rsdf", "ccf", "dlc", "web"] def decrypt(self, pyfile): # Init diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index cadf2760f..ec6533ffc 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -28,7 +28,7 @@ class NCryptIn(Crypter): self.package = None self.html = None self.cleanedHtml = None - self.links_source_order = ['cnl2', 'rsdf', 'ccf', 'dlc', 'web'] + self.links_source_order = ["cnl2", "rsdf", "ccf", "dlc", "web"] self.protection_type = None def decrypt(self, pyfile): diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index f5c158d2e..1187692a0 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -19,7 +19,7 @@ class RelinkUs(Crypter): __author_mail__ = "fragonib[AT]yahoo[DOT]es" # Constants - PREFERRED_LINK_SOURCES = ['cnl2', 'dlc', 'web'] + PREFERRED_LINK_SOURCES = ["cnl2", "dlc", "web"] OFFLINE_TOKEN = r'<title>Tattooside' PASSWORD_TOKEN = r'container_password\.php' @@ -197,7 +197,7 @@ class RelinkUs(Crypter): try: dlc = self.load(container_url) dlc_filename = self.fileid + ".dlc" - dlc_filepath = os.path.join(self.config["general"]["download_folder"], dlc_filename) + dlc_filepath = os.path.join(self.config['general']['download_folder'], dlc_filename) f = open(dlc_filepath, "wb") f.write(dlc) f.close() diff --git a/module/plugins/crypter/SafelinkingNet.py b/module/plugins/crypter/SafelinkingNet.py index cb2617168..022f3e5ff 100644 --- a/module/plugins/crypter/SafelinkingNet.py +++ b/module/plugins/crypter/SafelinkingNet.py @@ -40,7 +40,7 @@ class SafelinkingNet(Crypter): if "link-password" in self.html: password = pyfile.package().password - postData["link-password"] = password + postData['link-password'] = password if "altcaptcha" in self.html: for _ in xrange(5): @@ -53,8 +53,8 @@ class SafelinkingNet(Crypter): self.fail("Error parsing captcha") challenge, response = captcha.challenge(captchaKey) - postData["adcopy_challenge"] = challenge - postData["adcopy_response"] = response + postData['adcopy_challenge'] = challenge + postData['adcopy_response'] = response self.html = self.load(url, post=postData) if "The password you entered was incorrect" in self.html: @@ -72,9 +72,9 @@ class SafelinkingNet(Crypter): if m: linkDict = json_loads(m.group(1)) for link in linkDict: - if not "http://" in link["full"]: - packageLinks.append("https://safelinking.net/d/" + link["full"]) + if not "http://" in link['full']: + packageLinks.append("https://safelinking.net/d/" + link['full']) else: - packageLinks.append(link["full"]) + packageLinks.append(link['full']) self.core.files.addLinks(packageLinks, pyfile.package().id) diff --git a/module/plugins/crypter/SerienjunkiesOrg.py b/module/plugins/crypter/SerienjunkiesOrg.py index 6fbbfedb3..ecca56209 100644 --- a/module/plugins/crypter/SerienjunkiesOrg.py +++ b/module/plugins/crypter/SerienjunkiesOrg.py @@ -51,9 +51,9 @@ class SerienjunkiesOrg(Crypter): package_links = [] for a in nav.findAll("a"): if self.getConfig("changeNameSJ") == "Show": - package_links.append(a["href"]) + package_links.append(a['href']) else: - package_links.append(a["href"] + "#hasName") + package_links.append(a['href'] + "#hasName") if self.getConfig("changeNameSJ") == "Show": self.packages.append((packageName, package_links, packageName)) else: @@ -85,32 +85,32 @@ class SerienjunkiesOrg(Crypter): opts[n.strip()] = val.strip() gid += 1 groups[gid] = {} - groups[gid]["ep"] = {} - groups[gid]["opts"] = opts + groups[gid]['ep'] = {} + groups[gid]['opts'] = opts elif re.search("<strong>Download:", str(p)): parts = str(p).split("<br />") if re.search("<strong>", parts[0]): ename = re.search('<strong>(.*?)</strong>', parts[0]).group(1).strip().decode("utf-8").replace( "–", "-") - groups[gid]["ep"][ename] = {} + groups[gid]['ep'][ename] = {} parts.remove(parts[0]) for part in parts: hostername = re.search(r" \| ([-a-zA-Z0-9]+\.\w+)", part) if hostername: hostername = hostername.group(1) - groups[gid]["ep"][ename][hostername] = [] + groups[gid]['ep'][ename][hostername] = [] links = re.findall('href="(.*?)"', part) for link in links: - groups[gid]["ep"][ename][hostername].append(link + "#hasName") + groups[gid]['ep'][ename][hostername].append(link + "#hasName") links = [] for g in groups.values(): - for ename in g["ep"]: - links.extend(self.getpreferred(g["ep"][ename])) + for ename in g['ep']: + links.extend(self.getpreferred(g['ep'][ename])) if self.getConfig("changeNameSJ") == "Episode": self.packages.append((ename, links, ename)) links = [] - package = "%s (%s, %s)" % (seasonName, g["opts"]["Format"], g["opts"]["Sprache"]) + package = "%s (%s, %s)" % (seasonName, g['opts']['Format'], g['opts']['Sprache']) if self.getConfig("changeNameSJ") == "Format": self.packages.append((package, links, package)) links = [] @@ -135,12 +135,12 @@ class SerienjunkiesOrg(Crypter): sleep(5) self.retry() - captchaUrl = "http://download.serienjunkies.org" + captchaTag["src"] + captchaUrl = "http://download.serienjunkies.org" + captchaTag['src'] result = self.decryptCaptcha(str(captchaUrl), imgtype="png") sinp = form.find(attrs={"name": "s"}) self.req.lastURL = str(url) - sj = self.load(str(url), post={'s': sinp["value"], 'c': result, 'action': "Download"}) + sj = self.load(str(url), post={'s': sinp['value'], 'c': result, 'action': "Download"}) soup = BeautifulSoup(sj) rawLinks = soup.findAll(attrs={"action": re.compile("^http://download.serienjunkies.org/")}) @@ -154,7 +154,7 @@ class SerienjunkiesOrg(Crypter): links = [] for link in rawLinks: - frameUrl = link["action"].replace("/go-", "/frame/go-") + frameUrl = link['action'].replace("/go-", "/frame/go-") links.append(self.handleFrame(frameUrl)) if re.search("#hasName", url) or ((self.getConfig("changeNameSJ") == "Packagename") and (self.getConfig("changeNameDJ") == "Packagename")): @@ -171,12 +171,12 @@ class SerienjunkiesOrg(Crypter): soup = BeautifulSoup(sj) form = soup.find("form", attrs={"action": re.compile("^http://serienjunkies.org")}) captchaTag = form.find(attrs={"src": re.compile("^/safe/secure/")}) - captchaUrl = "http://serienjunkies.org" + captchaTag["src"] + captchaUrl = "http://serienjunkies.org" + captchaTag['src'] result = self.decryptCaptcha(str(captchaUrl)) - url = form["action"] + url = form['action'] sinp = form.find(attrs={"name": "s"}) - self.req.load(str(url), post={'s': sinp["value"], 'c': result, 'dl.start': "Download"}, cookies=False, + self.req.load(str(url), post={'s': sinp['value'], 'c': result, 'dl.start': "Download"}, cookies=False, just_header=True) decrypted = self.req.lastEffectiveURL if decrypted == str(url): @@ -215,32 +215,32 @@ class SerienjunkiesOrg(Crypter): opts[n.strip()] = val.strip() gid += 1 groups[gid] = {} - groups[gid]["ep"] = {} - groups[gid]["opts"] = opts + groups[gid]['ep'] = {} + groups[gid]['opts'] = opts elif re.search("<strong>Download:", str(p)): parts = str(p).split("<br />") if re.search("<strong>", parts[0]): ename = re.search('<strong>(.*?)</strong>', parts[0]).group(1).strip().decode("utf-8").replace( "–", "-") - groups[gid]["ep"][ename] = {} + groups[gid]['ep'][ename] = {} parts.remove(parts[0]) for part in parts: hostername = re.search(r" \| ([-a-zA-Z0-9]+\.\w+)", part) if hostername: hostername = hostername.group(1) - groups[gid]["ep"][ename][hostername] = [] + groups[gid]['ep'][ename][hostername] = [] links = re.findall('href="(.*?)"', part) for link in links: - groups[gid]["ep"][ename][hostername].append(link + "#hasName") + groups[gid]['ep'][ename][hostername].append(link + "#hasName") links = [] for g in groups.values(): - for ename in g["ep"]: - links.extend(self.getpreferred(g["ep"][ename])) + for ename in g['ep']: + links.extend(self.getpreferred(g['ep'][ename])) if self.getConfig("changeNameDJ") == "Episode": self.packages.append((ename, links, ename)) links = [] - package = "%s (%s, %s)" % (seasonName, g["opts"]["Format"], g["opts"]["Sprache"]) + package = "%s (%s, %s)" % (seasonName, g['opts']['Format'], g['opts']['Sprache']) if self.getConfig("changeNameDJ") == "Format": self.packages.append((package, links, package)) links = [] @@ -255,7 +255,7 @@ class SerienjunkiesOrg(Crypter): soup = BeautifulSoup(src) content = soup.find("div", attrs={"id": "content"}) for a in content.findAll("a", attrs={"rel": "bookmark"}): - package_links.append(a["href"]) + package_links.append(a['href']) self.core.files.addLinks(package_links, self.pyfile.package().id) def decrypt(self, pyfile): diff --git a/module/plugins/crypter/TurbobitNetFolder.py b/module/plugins/crypter/TurbobitNetFolder.py index d9e63b4ce..2dcd65757 100644 --- a/module/plugins/crypter/TurbobitNetFolder.py +++ b/module/plugins/crypter/TurbobitNetFolder.py @@ -36,9 +36,9 @@ class TurbobitNetFolder(SimpleCrypter): get={"rootId": id, "rows": 200, "page": page}, decode=True) grid = json_loads(gridFile) - if grid["rows"]: - for i in grid["rows"]: - yield i["id"] + if grid['rows']: + for i in grid['rows']: + yield i['id'] for id in self._getLinks(id, page + 1): yield id else: diff --git a/module/plugins/crypter/YoutubeBatch.py b/module/plugins/crypter/YoutubeBatch.py index 1af9475eb..dd5d937d5 100644 --- a/module/plugins/crypter/YoutubeBatch.py +++ b/module/plugins/crypter/YoutubeBatch.py @@ -45,21 +45,21 @@ class YoutubeBatch(Crypter): def getChannel(self, user): channels = self.api_response("channels", {"part": "id,snippet,contentDetails", "forUsername": user, "maxResults": "50"}) - if channels["items"]: - channel = channels["items"][0] - return {"id": channel["id"], - "title": channel["snippet"]["title"], - "relatedPlaylists": channel["contentDetails"]["relatedPlaylists"], + if channels['items']: + channel = channels['items'][0] + return {"id": channel['id'], + "title": channel['snippet']['title'], + "relatedPlaylists": channel['contentDetails']['relatedPlaylists'], "user": user} # One lone channel for user? def getPlaylist(self, p_id): playlists = self.api_response("playlists", {"part": "snippet", "id": p_id}) - if playlists["items"]: - playlist = playlists["items"][0] + if playlists['items']: + playlist = playlists['items'][0] return {"id": p_id, - "title": playlist["snippet"]["title"], - "channelId": playlist["snippet"]["channelId"], - "channelTitle": playlist["snippet"]["channelTitle"]} + "title": playlist['snippet']['title'], + "channelId": playlist['snippet']['channelId'], + "channelTitle": playlist['snippet']['channelTitle']} def _getPlaylists(self, id, token=None): req = {"part": "id", "maxResults": "50", "channelId": id} @@ -68,11 +68,11 @@ class YoutubeBatch(Crypter): playlists = self.api_response("playlists", req) - for playlist in playlists["items"]: - yield playlist["id"] + for playlist in playlists['items']: + yield playlist['id'] if "nextPageToken" in playlists: - for item in self._getPlaylists(id, playlists["nextPageToken"]): + for item in self._getPlaylists(id, playlists['nextPageToken']): yield item def getPlaylists(self, ch_id): @@ -85,11 +85,11 @@ class YoutubeBatch(Crypter): playlist = self.api_response("playlistItems", req) - for item in playlist["items"]: - yield item["contentDetails"]["videoId"] + for item in playlist['items']: + yield item['contentDetails']['videoId'] if "nextPageToken" in playlist: - for item in self._getVideosId(id, playlist["nextPageToken"]): + for item in self._getVideosId(id, playlist['nextPageToken']): yield item def getVideosId(self, p_id): @@ -106,18 +106,18 @@ class YoutubeBatch(Crypter): channel = self.getChannel(user) if channel: - playlists = self.getPlaylists(channel["id"]) - self.logDebug("%s playlist\s found on channel \"%s\"" % (len(playlists), channel["title"])) + playlists = self.getPlaylists(channel['id']) + self.logDebug("%s playlist\s found on channel \"%s\"" % (len(playlists), channel['title'])) - relatedplaylist = {p_name: self.getPlaylist(p_id) for p_name, p_id in channel["relatedPlaylists"].iteritems()} + relatedplaylist = {p_name: self.getPlaylist(p_id) for p_name, p_id in channel['relatedPlaylists'].iteritems()} self.logDebug("Channel's related playlists found = %s" % relatedplaylist.keys()) - relatedplaylist["uploads"]["title"] = "Unplaylisted videos" - relatedplaylist["uploads"]["checkDups"] = True #: checkDups flag + relatedplaylist['uploads']['title'] = "Unplaylisted videos" + relatedplaylist['uploads']['checkDups'] = True #: checkDups flag for p_name, p_data in relatedplaylist.iteritems(): if self.getConfig(p_name): - p_data["title"] += " of " + user + p_data['title'] += " of " + user playlists.append(p_data) else: playlists = [] @@ -131,9 +131,9 @@ class YoutubeBatch(Crypter): addedvideos = [] urlize = lambda x: "https://www.youtube.com/watch?v=" + x for p in playlists: - p_name = p["title"] - p_videos = self.getVideosId(p["id"]) - p_folder = save_join(self.config['general']['download_folder'], p["channelTitle"], p_name) + p_name = p['title'] + p_videos = self.getVideosId(p['id']) + p_folder = save_join(self.config['general']['download_folder'], p['channelTitle'], p_name) self.logDebug("%s video\s found on playlist \"%s\"" % (len(p_videos), p_name)) if not p_videos: -- cgit v1.2.3 From 8e47b0de30a25d0fd5dfb518bfe4e1e7beff93fd Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Tue, 15 Jul 2014 16:27:44 +0200 Subject: Key attributes cleanup for account, container and crypter plugins --- module/plugins/crypter/BitshareComFolder.py | 4 +++- module/plugins/crypter/C1neonCom.py | 4 +++- module/plugins/crypter/ChipDe.py | 5 ++++- module/plugins/crypter/CrockoComFolder.py | 4 +++- module/plugins/crypter/CryptItCom.py | 4 +++- module/plugins/crypter/CzshareComFolder.py | 5 ++++- module/plugins/crypter/DDLMusicOrg.py | 6 +++++- module/plugins/crypter/DailymotionBatch.py | 5 ++++- module/plugins/crypter/DataHuFolder.py | 5 ++++- module/plugins/crypter/DdlstorageComFolder.py | 4 +++- module/plugins/crypter/DepositfilesComFolder.py | 4 +++- module/plugins/crypter/Dereferer.py | 5 ++++- module/plugins/crypter/DlProtectCom.py | 6 +++++- module/plugins/crypter/DontKnowMe.py | 5 ++++- module/plugins/crypter/DuckCryptInfo.py | 5 ++++- module/plugins/crypter/DuploadOrgFolder.py | 4 +++- module/plugins/crypter/EasybytezComFolder.py | 4 +++- module/plugins/crypter/EmbeduploadCom.py | 7 +++++-- module/plugins/crypter/FilebeerInfoFolder.py | 4 +++- module/plugins/crypter/FilecloudIoFolder.py | 4 +++- module/plugins/crypter/FilefactoryComFolder.py | 5 ++++- module/plugins/crypter/FilerNetFolder.py | 7 +++++-- module/plugins/crypter/FileserveComFolder.py | 5 ++++- module/plugins/crypter/FilestubeCom.py | 4 +++- module/plugins/crypter/FiletramCom.py | 4 +++- module/plugins/crypter/FiredriveComFolder.py | 5 ++++- module/plugins/crypter/FourChanOrg.py | 11 ++++++++--- module/plugins/crypter/FreakhareComFolder.py | 5 ++++- module/plugins/crypter/FreetexthostCom.py | 5 ++++- module/plugins/crypter/FshareVnFolder.py | 4 +++- module/plugins/crypter/GooGl.py | 5 ++++- module/plugins/crypter/HoerbuchIn.py | 5 ++++- module/plugins/crypter/HotfileFolderCom.py | 5 ++++- module/plugins/crypter/ILoadTo.py | 4 +++- module/plugins/crypter/ImgurComAlbum.py | 7 +++++-- module/plugins/crypter/LetitbitNetFolder.py | 5 ++++- module/plugins/crypter/LinkSaveIn.py | 5 ++++- module/plugins/crypter/LinkdecrypterCom.py | 6 +++++- module/plugins/crypter/LixIn.py | 5 ++++- module/plugins/crypter/LofCc.py | 4 +++- module/plugins/crypter/MBLinkInfo.py | 4 +++- module/plugins/crypter/MediafireComFolder.py | 4 +++- module/plugins/crypter/Movie2kTo.py | 4 +++- module/plugins/crypter/MultiUpOrg.py | 5 ++++- module/plugins/crypter/MultiloadCz.py | 7 +++++-- module/plugins/crypter/MultiuploadCom.py | 7 +++++-- module/plugins/crypter/NCryptIn.py | 15 +++++++++------ module/plugins/crypter/NetfolderIn.py | 5 ++++- module/plugins/crypter/NosvideoCom.py | 4 +++- module/plugins/crypter/OneKhDe.py | 5 ++++- module/plugins/crypter/OronComFolder.py | 4 +++- module/plugins/crypter/PastebinCom.py | 4 +++- module/plugins/crypter/QuickshareCzFolder.py | 5 ++++- module/plugins/crypter/RSLayerCom.py | 4 +++- module/plugins/crypter/RelinkUs.py | 4 +++- module/plugins/crypter/SafelinkingNet.py | 9 ++++++--- module/plugins/crypter/SecuredIn.py | 4 +++- module/plugins/crypter/SerienjunkiesOrg.py | 11 ++++++++--- module/plugins/crypter/ShareLinksBiz.py | 5 ++++- module/plugins/crypter/ShareRapidComFolder.py | 4 +++- module/plugins/crypter/SpeedLoadOrgFolder.py | 4 +++- module/plugins/crypter/StealthTo.py | 5 ++++- module/plugins/crypter/TnyCz.py | 5 ++++- module/plugins/crypter/TrailerzoneInfo.py | 4 +++- module/plugins/crypter/TurbobitNetFolder.py | 5 ++++- module/plugins/crypter/TusfilesNetFolder.py | 5 ++++- module/plugins/crypter/UlozToFolder.py | 5 ++++- module/plugins/crypter/UploadedToFolder.py | 5 ++++- module/plugins/crypter/WiiReloadedOrg.py | 4 +++- module/plugins/crypter/XupPl.py | 5 ++++- module/plugins/crypter/YoutubeBatch.py | 10 +++++++--- 71 files changed, 282 insertions(+), 89 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/BitshareComFolder.py b/module/plugins/crypter/BitshareComFolder.py index 7139c26a6..2afe990df 100644 --- a/module/plugins/crypter/BitshareComFolder.py +++ b/module/plugins/crypter/BitshareComFolder.py @@ -19,9 +19,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class BitshareComFolder(SimpleCrypter): __name__ = "BitshareComFolder" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?bitshare\.com/\?d=\w+' - __version__ = "0.01" + __description__ = """Bitshare.com folder decrypter plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" diff --git a/module/plugins/crypter/C1neonCom.py b/module/plugins/crypter/C1neonCom.py index 8923cfc32..fc1188a11 100644 --- a/module/plugins/crypter/C1neonCom.py +++ b/module/plugins/crypter/C1neonCom.py @@ -5,9 +5,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class C1neonCom(DeadCrypter): __name__ = "C1neonCom" + __version__ = "0.05" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?c1neon.com/.*?' - __version__ = "0.05" + __description__ = """C1neon.com decrypter plugin""" __author_name__ = "godofdream" __author_mail__ = "soilfiction@gmail.com" diff --git a/module/plugins/crypter/ChipDe.py b/module/plugins/crypter/ChipDe.py index 529ec6918..8e48b1085 100644 --- a/module/plugins/crypter/ChipDe.py +++ b/module/plugins/crypter/ChipDe.py @@ -6,13 +6,16 @@ from module.plugins.Crypter import Crypter class ChipDe(Crypter): __name__ = "ChipDe" + __version__ = "0.1" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?chip.de/video/.*\.html' - __version__ = "0.1" + __description__ = """Chip.de decrypter plugin""" __author_name__ = "4Christopher" __author_mail__ = "4Christopher@gmx.de" + def decrypt(self, pyfile): self.html = self.load(pyfile.url) try: diff --git a/module/plugins/crypter/CrockoComFolder.py b/module/plugins/crypter/CrockoComFolder.py index e64e63534..8215e23c4 100644 --- a/module/plugins/crypter/CrockoComFolder.py +++ b/module/plugins/crypter/CrockoComFolder.py @@ -5,9 +5,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class CrockoComFolder(SimpleCrypter): __name__ = "CrockoComFolder" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?crocko.com/f/.*' - __version__ = "0.01" + __description__ = """Crocko.com folder decrypter plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" diff --git a/module/plugins/crypter/CryptItCom.py b/module/plugins/crypter/CryptItCom.py index 6f8fbaa1a..331ddd5c8 100644 --- a/module/plugins/crypter/CryptItCom.py +++ b/module/plugins/crypter/CryptItCom.py @@ -5,9 +5,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class CryptItCom(DeadCrypter): __name__ = "CryptItCom" + __version__ = "0.11" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?crypt-it\.com/(s|e|d|c)/[\w]+' - __version__ = "0.11" + __description__ = """Crypt-it.com decrypter plugin""" __author_name__ = "jeix" __author_mail__ = "jeix@hasnomail.de" diff --git a/module/plugins/crypter/CzshareComFolder.py b/module/plugins/crypter/CzshareComFolder.py index c3606fdab..c60d5a87d 100644 --- a/module/plugins/crypter/CzshareComFolder.py +++ b/module/plugins/crypter/CzshareComFolder.py @@ -6,9 +6,11 @@ from module.plugins.Crypter import Crypter class CzshareComFolder(Crypter): __name__ = "CzshareComFolder" + __version__ = "0.2" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?(czshare|sdilej)\.(com|cz)/folders/.*' - __version__ = "0.2" + __description__ = """Czshare.com folder decrypter plugin, now Sdilej.cz""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" @@ -17,6 +19,7 @@ class CzshareComFolder(Crypter): LINK_PATTERN = r'<td class="col2"><a href="([^"]+)">info</a></td>' #NEXT_PAGE_PATTERN = r'<a class="next " href="/([^"]+)"> </a>' + def decrypt(self, pyfile): html = self.load(pyfile.url) diff --git a/module/plugins/crypter/DDLMusicOrg.py b/module/plugins/crypter/DDLMusicOrg.py index 27cff3f9d..fcdd507a7 100644 --- a/module/plugins/crypter/DDLMusicOrg.py +++ b/module/plugins/crypter/DDLMusicOrg.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- import re + from time import sleep from module.plugins.Crypter import Crypter @@ -8,13 +9,16 @@ from module.plugins.Crypter import Crypter class DDLMusicOrg(Crypter): __name__ = "DDLMusicOrg" + __version__ = "0.3" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?ddl-music\.org/captcha/ddlm_cr\d\.php\?\d+\?\d+' - __version__ = "0.3" + __description__ = """Ddl-music.org decrypter plugin""" __author_name__ = "mkaay" __author_mail__ = "mkaay@mkaay.de" + def setup(self): self.multiDL = False diff --git a/module/plugins/crypter/DailymotionBatch.py b/module/plugins/crypter/DailymotionBatch.py index d9309af90..c86c966d8 100644 --- a/module/plugins/crypter/DailymotionBatch.py +++ b/module/plugins/crypter/DailymotionBatch.py @@ -25,13 +25,16 @@ from module.utils import save_join class DailymotionBatch(Crypter): __name__ = "DailymotionBatch" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'https?://(?:www\.)?dailymotion\.com/((playlists/)?(?P<TYPE>playlist|user)/)?(?P<ID>[\w^_]+)(?(TYPE)|#)' - __version__ = "0.01" + __description__ = """Dailymotion.com channel & playlist decrypter""" __author_name__ = "Walter Purcaro" __author_mail__ = "vuolter@gmail.com" + def api_response(self, ref, req=None): url = urljoin("https://api.dailymotion.com/", ref) page = self.load(url, get=req) diff --git a/module/plugins/crypter/DataHuFolder.py b/module/plugins/crypter/DataHuFolder.py index 04ef152fc..553936b1a 100644 --- a/module/plugins/crypter/DataHuFolder.py +++ b/module/plugins/crypter/DataHuFolder.py @@ -21,9 +21,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DataHuFolder(SimpleCrypter): __name__ = "DataHuFolder" + __version__ = "0.03" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?data.hu/dir/\w+' - __version__ = "0.03" + __description__ = """Data.hu folder decrypter plugin""" __author_name__ = ("crash", "stickell") __author_mail__ = "l.stickell@yahoo.it" @@ -31,6 +33,7 @@ class DataHuFolder(SimpleCrypter): LINK_PATTERN = r"<a href='(http://data\.hu/get/.+)' target='_blank'>\1</a>" TITLE_PATTERN = ur'<title>(?P<title>.+) Let\xf6lt\xe9se</title>' + def decrypt(self, pyfile): self.html = self.load(pyfile.url, decode=True) diff --git a/module/plugins/crypter/DdlstorageComFolder.py b/module/plugins/crypter/DdlstorageComFolder.py index ef43edc5b..4c79407e4 100644 --- a/module/plugins/crypter/DdlstorageComFolder.py +++ b/module/plugins/crypter/DdlstorageComFolder.py @@ -19,9 +19,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DdlstorageComFolder(SimpleCrypter): __name__ = "DdlstorageComFolder" + __version__ = "0.02" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?ddlstorage.com/folder/\w{10}' - __version__ = "0.02" + __description__ = """DDLStorage.com folder decrypter plugin""" __author_name__ = ("godofdream", "stickell") __author_mail__ = ("soilfiction@gmail.com", "l.stickell@yahoo.it") diff --git a/module/plugins/crypter/DepositfilesComFolder.py b/module/plugins/crypter/DepositfilesComFolder.py index 74d199e12..bb08b627b 100644 --- a/module/plugins/crypter/DepositfilesComFolder.py +++ b/module/plugins/crypter/DepositfilesComFolder.py @@ -5,9 +5,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DepositfilesComFolder(SimpleCrypter): __name__ = "DepositfilesComFolder" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?depositfiles.com/folders/\w+' - __version__ = "0.01" + __description__ = """Depositfiles.com folder decrypter plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" diff --git a/module/plugins/crypter/Dereferer.py b/module/plugins/crypter/Dereferer.py index 4b6309c17..6870f2f24 100644 --- a/module/plugins/crypter/Dereferer.py +++ b/module/plugins/crypter/Dereferer.py @@ -23,13 +23,16 @@ from module.plugins.Crypter import Crypter class Dereferer(Crypter): __name__ = "Dereferer" + __version__ = "0.1" __type__ = "crypter" + __pattern__ = r'https?://([^/]+)/.*?(?P<url>(ht|f)tps?(://|%3A%2F%2F).*)' - __version__ = "0.1" + __description__ = """Crypter for dereferers""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" + def decrypt(self, pyfile): link = re.match(self.__pattern__, pyfile.url).group('url') self.core.files.addLinks([urllib.unquote(link).rstrip('+')], pyfile.package().id) diff --git a/module/plugins/crypter/DlProtectCom.py b/module/plugins/crypter/DlProtectCom.py index 5ef8eab21..6bd6bc5b5 100644 --- a/module/plugins/crypter/DlProtectCom.py +++ b/module/plugins/crypter/DlProtectCom.py @@ -15,6 +15,7 @@ ############################################################################### import re + from base64 import urlsafe_b64encode from time import time @@ -23,15 +24,18 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DlProtectCom(SimpleCrypter): __name__ = "DlProtectCom" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?dl-protect\.com/((en|fr)/)?(?P<ID>\w+)' - __version__ = "0.01" + __description__ = """Dl-protect.com decrypter plugin""" __author_name__ = "Walter Purcaro" __author_mail__ = "vuolter@gmail.com" OFFLINE_PATTERN = r'>Unfortunately, the link you are looking for is not found' + def getLinks(self): # Direct link with redirect if not re.match(r"http://(?:www\.)?dl-protect\.com", self.req.http.lastEffectiveURL): diff --git a/module/plugins/crypter/DontKnowMe.py b/module/plugins/crypter/DontKnowMe.py index 4a4b6f292..d05355c2e 100644 --- a/module/plugins/crypter/DontKnowMe.py +++ b/module/plugins/crypter/DontKnowMe.py @@ -8,15 +8,18 @@ from module.plugins.Crypter import Crypter class DontKnowMe(Crypter): __name__ = "DontKnowMe" + __version__ = "0.1" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?dontknow.me/at/\?.+$' - __version__ = "0.1" + __description__ = """DontKnow.me decrypter plugin""" __author_name__ = "selaux" __author_mail__ = None LINK_PATTERN = r'http://dontknow.me/at/\?(.+)$' + def decrypt(self, pyfile): link = re.findall(self.LINK_PATTERN, pyfile.url)[0] self.core.files.addLinks([urllib.unquote(link)], pyfile.package().id) diff --git a/module/plugins/crypter/DuckCryptInfo.py b/module/plugins/crypter/DuckCryptInfo.py index bbf6e6b0d..6f5efdd1b 100644 --- a/module/plugins/crypter/DuckCryptInfo.py +++ b/module/plugins/crypter/DuckCryptInfo.py @@ -7,15 +7,18 @@ from module.plugins.Crypter import Crypter class DuckCryptInfo(Crypter): __name__ = "DuckCryptInfo" + __version__ = "0.02" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?duckcrypt.info/(folder|wait|link)/(\w+)/?(\w*)' - __version__ = "0.02" + __description__ = """DuckCrypt.info decrypter plugin""" __author_name__ = "godofdream" __author_mail__ = "soilfiction@gmail.com" TIMER_PATTERN = r'<span id="timer">(.*)</span>' + def decrypt(self, pyfile): url = pyfile.url # seems we don't need to wait diff --git a/module/plugins/crypter/DuploadOrgFolder.py b/module/plugins/crypter/DuploadOrgFolder.py index 4913bdf2e..f2b8da2bd 100644 --- a/module/plugins/crypter/DuploadOrgFolder.py +++ b/module/plugins/crypter/DuploadOrgFolder.py @@ -19,9 +19,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DuploadOrgFolder(SimpleCrypter): __name__ = "DuploadOrgFolder" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?dupload\.org/folder/\d+/' - __version__ = "0.01" + __description__ = """Dupload.org folder decrypter plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" diff --git a/module/plugins/crypter/EasybytezComFolder.py b/module/plugins/crypter/EasybytezComFolder.py index 7a8ee5424..7c78b7946 100644 --- a/module/plugins/crypter/EasybytezComFolder.py +++ b/module/plugins/crypter/EasybytezComFolder.py @@ -19,9 +19,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class EasybytezComFolder(SimpleCrypter): __name__ = "EasybytezComFolder" + __version__ = "0.06" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?easybytez\.com/users/(?P<ID>\d+/\d+)' - __version__ = "0.06" + __description__ = """Easybytez.com decrypter plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" diff --git a/module/plugins/crypter/EmbeduploadCom.py b/module/plugins/crypter/EmbeduploadCom.py index fbccf71aa..6126527a9 100644 --- a/module/plugins/crypter/EmbeduploadCom.py +++ b/module/plugins/crypter/EmbeduploadCom.py @@ -7,17 +7,20 @@ from module.network.HTTPRequest import BadHeader class EmbeduploadCom(Crypter): __name__ = "EmbeduploadCom" + __version__ = "0.02" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?embedupload.com/\?d=.*' - __version__ = "0.02" - __description__ = """EmbedUpload.com decrypter plugin""" __config__ = [("preferedHoster", "str", "Prefered hoster list (bar-separated) ", "embedupload"), ("ignoredHoster", "str", "Ignored hoster list (bar-separated) ", "")] + + __description__ = """EmbedUpload.com decrypter plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" LINK_PATTERN = r'<div id="([^"]+)"[^>]*>\s*<a href="([^"]+)" target="_blank" (?:class="DownloadNow"|style="color:red")>' + def decrypt(self, pyfile): self.html = self.load(pyfile.url, decode=True) tmp_links = [] diff --git a/module/plugins/crypter/FilebeerInfoFolder.py b/module/plugins/crypter/FilebeerInfoFolder.py index f5818e072..7a7528066 100644 --- a/module/plugins/crypter/FilebeerInfoFolder.py +++ b/module/plugins/crypter/FilebeerInfoFolder.py @@ -5,9 +5,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class FilebeerInfoFolder(DeadCrypter): __name__ = "FilebeerInfoFolder" + __version__ = "0.02" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?filebeer\.info/(\d+~f).*' - __version__ = "0.02" + __description__ = """Filebeer.info folder decrypter plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" diff --git a/module/plugins/crypter/FilecloudIoFolder.py b/module/plugins/crypter/FilecloudIoFolder.py index bd07b823e..d3df7c469 100644 --- a/module/plugins/crypter/FilecloudIoFolder.py +++ b/module/plugins/crypter/FilecloudIoFolder.py @@ -19,9 +19,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilecloudIoFolder(SimpleCrypter): __name__ = "FilecloudIoFolder" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'https?://(?:www\.)?(filecloud\.io|ifile\.it)/_\w+' - __version__ = "0.01" + __description__ = """Filecloud.io folder decrypter plugin""" __author_name__ = "Walter Purcaro" __author_mail__ = "vuolter@gmail.com" diff --git a/module/plugins/crypter/FilefactoryComFolder.py b/module/plugins/crypter/FilefactoryComFolder.py index 2147c48df..ce20ee6eb 100644 --- a/module/plugins/crypter/FilefactoryComFolder.py +++ b/module/plugins/crypter/FilefactoryComFolder.py @@ -5,9 +5,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilefactoryComFolder(SimpleCrypter): __name__ = "FilefactoryComFolder" + __version__ = "0.2" __type__ = "crypter" + __pattern__ = r'https?://(?:www\.)?filefactory\.com/(?:f|folder)/\w+' - __version__ = "0.2" + __description__ = """Filefactory.com folder decrypter plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" @@ -18,5 +20,6 @@ class FilefactoryComFolder(SimpleCrypter): SH_COOKIES = [('.filefactory.com', 'locale', 'en_US.utf8')] + def loadPage(self, page_n): return self.load(self.pyfile.url, get={'page': page_n}) diff --git a/module/plugins/crypter/FilerNetFolder.py b/module/plugins/crypter/FilerNetFolder.py index c4cf658bd..77e7409e9 100644 --- a/module/plugins/crypter/FilerNetFolder.py +++ b/module/plugins/crypter/FilerNetFolder.py @@ -5,15 +5,18 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilerNetFolder(SimpleCrypter): __name__ = "FilerNetFolder" - __type__ = "crypter" __version__ = "0.3" - __description__ = """Filer.net decrypter plugin""" + __type__ = "crypter" + __pattern__ = r'https?://filer\.net/folder/\w{16}' + + __description__ = """Filer.net decrypter plugin""" __author_name_ = ("nath_schwarz", "stickell") __author_mail_ = ("nathan.notwhite@gmail.com", "l.stickell@yahoo.it") LINK_PATTERN = r'href="(/get/\w{16})">(?!<)' TITLE_PATTERN = r'<h3>(?P<title>.+) - <small' + def getLinks(self): return ['http://filer.net%s' % link for link in re.findall(self.LINK_PATTERN, self.html)] diff --git a/module/plugins/crypter/FileserveComFolder.py b/module/plugins/crypter/FileserveComFolder.py index 74d7806e6..30662f02d 100644 --- a/module/plugins/crypter/FileserveComFolder.py +++ b/module/plugins/crypter/FileserveComFolder.py @@ -7,9 +7,11 @@ from module.plugins.Crypter import Crypter class FileserveComFolder(Crypter): __name__ = "FileserveComFolder" + __version__ = "0.11" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?fileserve.com/list/\w+' - __version__ = "0.11" + __description__ = """FileServe.com folder decrypter plugin""" __author_name__ = "fionnc" __author_mail__ = "fionnc@gmail.com" @@ -17,6 +19,7 @@ class FileserveComFolder(Crypter): FOLDER_PATTERN = r'<table class="file_list">(.*?)</table>' LINK_PATTERN = r'<a href="([^"]+)" class="sheet_icon wbold">' + def decrypt(self, pyfile): html = self.load(pyfile.url) diff --git a/module/plugins/crypter/FilestubeCom.py b/module/plugins/crypter/FilestubeCom.py index ac67c33c9..7576319e0 100644 --- a/module/plugins/crypter/FilestubeCom.py +++ b/module/plugins/crypter/FilestubeCom.py @@ -19,9 +19,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilestubeCom(SimpleCrypter): __name__ = "FilestubeCom" + __version__ = "0.03" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?filestube\.(?:com|to)/\w+' - __version__ = "0.03" + __description__ = """Filestube.com decrypter plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" diff --git a/module/plugins/crypter/FiletramCom.py b/module/plugins/crypter/FiletramCom.py index 5a587eda2..2491c1322 100644 --- a/module/plugins/crypter/FiletramCom.py +++ b/module/plugins/crypter/FiletramCom.py @@ -19,9 +19,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FiletramCom(SimpleCrypter): __name__ = "FiletramCom" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?filetram.com/[^/]+/.+' - __version__ = "0.01" + __description__ = """Filetram.com decrypter plugin""" __author_name__ = ("igel", "stickell") __author_mail__ = ("igelkun@myopera.com", "l.stickell@yahoo.it") diff --git a/module/plugins/crypter/FiredriveComFolder.py b/module/plugins/crypter/FiredriveComFolder.py index 97ba11037..c0db299b0 100644 --- a/module/plugins/crypter/FiredriveComFolder.py +++ b/module/plugins/crypter/FiredriveComFolder.py @@ -21,9 +21,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FiredriveComFolder(SimpleCrypter): __name__ = "FiredriveComFolder" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'https?://(?:www\.)?(firedrive|putlocker)\.com/share/.+' - __version__ = "0.01" + __description__ = """Firedrive.com folder decrypter plugin""" __author_name__ = "Walter Purcaro" __author_mail__ = "vuolter@gmail.com" @@ -33,6 +35,7 @@ class FiredriveComFolder(SimpleCrypter): OFFLINE_PATTERN = r'class="sad_face_image"|>No such page here.<' TEMP_OFFLINE_PATTERN = r'>(File Temporarily Unavailable|Server Error. Try again later)' + def getLinks(self): return map(lambda x: "http://www.firedrive.com/%s/%s" % ("share" if x[0] == "folder" else "file", x[1]), diff --git a/module/plugins/crypter/FourChanOrg.py b/module/plugins/crypter/FourChanOrg.py index 010451c46..dc0cdcb6c 100644 --- a/module/plugins/crypter/FourChanOrg.py +++ b/module/plugins/crypter/FourChanOrg.py @@ -1,4 +1,6 @@ # -*- coding: utf-8 -*- +# Based on 4chandl by Roland Beermann +# https://gist.github.com/enkore/3492599 import re @@ -6,13 +8,16 @@ from module.plugins.Crypter import Crypter class FourChanOrg(Crypter): - # Based on 4chandl by Roland Beermann - # https://gist.github.com/enkore/3492599 __name__ = "FourChanOrg" - __type__ = "crypter" __version__ = "0.3" + __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?boards\.4chan.org/\w+/res/(\d+)' + __description__ = """4chan.org folder decrypter plugin""" + __author_name__ = None + __author_mail__ = None + def decrypt(self, pyfile): pagehtml = self.load(pyfile.url) diff --git a/module/plugins/crypter/FreakhareComFolder.py b/module/plugins/crypter/FreakhareComFolder.py index c5df7ff17..ddc05199b 100644 --- a/module/plugins/crypter/FreakhareComFolder.py +++ b/module/plugins/crypter/FreakhareComFolder.py @@ -21,9 +21,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FreakhareComFolder(SimpleCrypter): __name__ = "FreakhareComFolder" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?freakshare\.com/folder/.+' - __version__ = "0.01" + __description__ = """Freakhare.com folder decrypter plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" @@ -32,6 +34,7 @@ class FreakhareComFolder(SimpleCrypter): TITLE_PATTERN = r'Folder:</b> (?P<title>.+)' PAGES_PATTERN = r'Pages: +(?P<pages>\d+)' + def loadPage(self, page_n): if not hasattr(self, 'f_id') and not hasattr(self, 'f_md5'): m = re.search(r'http://freakshare.com/\?x=folder&f_id=(\d+)&f_md5=(\w+)', self.html) diff --git a/module/plugins/crypter/FreetexthostCom.py b/module/plugins/crypter/FreetexthostCom.py index e5c9c3d21..d03805722 100644 --- a/module/plugins/crypter/FreetexthostCom.py +++ b/module/plugins/crypter/FreetexthostCom.py @@ -21,13 +21,16 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FreetexthostCom(SimpleCrypter): __name__ = "FreetexthostCom" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?freetexthost\.com/\w+' - __version__ = "0.01" + __description__ = """Freetexthost.com decrypter plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" + def getLinks(self): m = re.search(r'<div id="contentsinner">\s*(.+)<div class="viewcount">', self.html, re.DOTALL) if not m: diff --git a/module/plugins/crypter/FshareVnFolder.py b/module/plugins/crypter/FshareVnFolder.py index 6e67905d9..9f5162125 100644 --- a/module/plugins/crypter/FshareVnFolder.py +++ b/module/plugins/crypter/FshareVnFolder.py @@ -5,9 +5,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FshareVnFolder(SimpleCrypter): __name__ = "FshareVnFolder" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?fshare.vn/folder/.*' - __version__ = "0.01" + __description__ = """Fshare.vn folder decrypter plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" diff --git a/module/plugins/crypter/GooGl.py b/module/plugins/crypter/GooGl.py index 343bce5fd..37531c11e 100644 --- a/module/plugins/crypter/GooGl.py +++ b/module/plugins/crypter/GooGl.py @@ -20,15 +20,18 @@ from module.common.json_layer import json_loads class GooGl(Crypter): __name__ = "GooGl" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'https?://(?:www\.)?goo\.gl/\w+' - __version__ = "0.01" + __description__ = """Goo.gl decrypter plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" API_URL = "https://www.googleapis.com/urlshortener/v1/url" + def decrypt(self, pyfile): rep = self.load(self.API_URL, get={'shortUrl': pyfile.url}) self.logDebug('JSON data: ' + rep) diff --git a/module/plugins/crypter/HoerbuchIn.py b/module/plugins/crypter/HoerbuchIn.py index 06a15fc65..df81cc207 100644 --- a/module/plugins/crypter/HoerbuchIn.py +++ b/module/plugins/crypter/HoerbuchIn.py @@ -8,9 +8,11 @@ from module.lib.BeautifulSoup import BeautifulSoup, BeautifulStoneSoup class HoerbuchIn(Crypter): __name__ = "HoerbuchIn" + __version__ = "0.6" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?hoerbuch\.in/(wp/horbucher/\d+/.+/|tp/out.php\?.+|protection/folder_\d+\.html)' - __version__ = "0.6" + __description__ = """Hoerbuch.in decrypter plugin""" __author_name__ = ("spoob", "mkaay") __author_mail__ = ("spoob@pyload.org", "mkaay@mkaay.de") @@ -18,6 +20,7 @@ class HoerbuchIn(Crypter): article = re.compile("http://(?:www\.)?hoerbuch\.in/wp/horbucher/\d+/.+/") protection = re.compile("http://(?:www\.)?hoerbuch\.in/protection/folder_\d+.html") + def decrypt(self, pyfile): self.pyfile = pyfile diff --git a/module/plugins/crypter/HotfileFolderCom.py b/module/plugins/crypter/HotfileFolderCom.py index 3a4a9d70a..02c937553 100644 --- a/module/plugins/crypter/HotfileFolderCom.py +++ b/module/plugins/crypter/HotfileFolderCom.py @@ -7,13 +7,16 @@ from module.plugins.Crypter import Crypter class HotfileFolderCom(Crypter): __name__ = "HotfileFolderCom" + __version__ = "0.1" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?hotfile.com/list/\w+/\w+' - __version__ = "0.1" + __description__ = """Hotfile.com folder decrypter plugin""" __author_name__ = "RaNaN" __author_mail__ = "RaNaN@pyload.org" + def decrypt(self, pyfile): html = self.load(pyfile.url) diff --git a/module/plugins/crypter/ILoadTo.py b/module/plugins/crypter/ILoadTo.py index a9547c2b2..e003e07f4 100644 --- a/module/plugins/crypter/ILoadTo.py +++ b/module/plugins/crypter/ILoadTo.py @@ -5,9 +5,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class ILoadTo(DeadCrypter): __name__ = "ILoadTo" + __version__ = "0.11" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?iload\.to/go/\d+-[\w\.-]+/' - __version__ = "0.11" + __description__ = """Iload.to decrypter plugin""" __author_name__ = "hzpz" __author_mail__ = None diff --git a/module/plugins/crypter/ImgurComAlbum.py b/module/plugins/crypter/ImgurComAlbum.py index 79306fc6c..394673586 100644 --- a/module/plugins/crypter/ImgurComAlbum.py +++ b/module/plugins/crypter/ImgurComAlbum.py @@ -6,16 +6,19 @@ from module.utils import uniqify class ImgurComAlbum(SimpleCrypter): __name__ = "ImgurComAlbum" - __type__ = "crypter" __version__ = "0.4" - __description__ = """Imgur.com decrypter plugin""" + __type__ = "crypter" + __pattern__ = r'https?://(?:www\.|m\.)?imgur\.com/(a|gallery|)/?\w{5,7}' + + __description__ = """Imgur.com decrypter plugin""" __author_name_ = "nath_schwarz" __author_mail_ = "nathan.notwhite@gmail.com" TITLE_PATTERN = r'(?P<title>.+) - Imgur' LINK_PATTERN = r'i\.imgur\.com/\w{7}s?\.(?:jpeg|jpg|png|gif|apng)' + def getLinks(self): f = lambda url: "http://" + re.sub(r'(\w{7})s\.', r'\1.', url) return uniqify(map(f, re.findall(self.LINK_PATTERN, self.html))) diff --git a/module/plugins/crypter/LetitbitNetFolder.py b/module/plugins/crypter/LetitbitNetFolder.py index 8ae2ad118..6ea27813c 100644 --- a/module/plugins/crypter/LetitbitNetFolder.py +++ b/module/plugins/crypter/LetitbitNetFolder.py @@ -6,9 +6,11 @@ from module.plugins.Crypter import Crypter class LetitbitNetFolder(Crypter): __name__ = "LetitbitNetFolder" + __version__ = "0.1" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?letitbit.net/folder/\w+' - __version__ = "0.1" + __description__ = """Letitbit.net folder decrypter plugin""" __author_name__ = ("DHMH", "z00nx") __author_mail__ = ("webmaster@pcProfil.de", "z00nx0@gmail.com") @@ -16,6 +18,7 @@ class LetitbitNetFolder(Crypter): FOLDER_PATTERN = r'<table>(.*)</table>' LINK_PATTERN = r'<a href="([^"]+)" target="_blank">' + def decrypt(self, pyfile): html = self.load(pyfile.url) diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index 5fde4e958..6e024c766 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -17,9 +17,11 @@ from module.unescape import unescape class LinkSaveIn(Crypter): __name__ = "LinkSaveIn" + __version__ = "2.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?linksave.in/(?P<id>\w+)$' - __version__ = "2.01" + __description__ = """LinkSave.in decrypter plugin""" __author_name__ = "fragonib" __author_mail__ = "fragonib[AT]yahoo[DOT]es" @@ -29,6 +31,7 @@ class LinkSaveIn(Crypter): _CRYPTED_KEY_ = "crypted" HOSTER_NAME = "linksave.in" + def setup(self): self.html = None self.fileid = None diff --git a/module/plugins/crypter/LinkdecrypterCom.py b/module/plugins/crypter/LinkdecrypterCom.py index 1ec396962..96fe11951 100644 --- a/module/plugins/crypter/LinkdecrypterCom.py +++ b/module/plugins/crypter/LinkdecrypterCom.py @@ -21,8 +21,11 @@ from module.plugins.Crypter import Crypter class LinkdecrypterCom(Crypter): __name__ = "LinkdecrypterCom" - __type__ = "crypter" __version__ = "0.27" + __type__ = "crypter" + + __pattern__ = None + __description__ = """Linkdecrypter.com""" __author_name__ = ("zoidberg", "flowlee") __author_mail__ = ("zoidberg@mujmail.cz", "") @@ -32,6 +35,7 @@ class LinkdecrypterCom(Crypter): CAPTCHA_PATTERN = r'<img class="captcha" src="(.+?)"(.*?)>' REDIR_PATTERN = r'<i>(Click <a href="./">here</a> if your browser does not redirect you).</i>' + def decrypt(self, pyfile): self.passwords = self.getPassword().splitlines() diff --git a/module/plugins/crypter/LixIn.py b/module/plugins/crypter/LixIn.py index 8fca7dc02..d3c41bd4c 100644 --- a/module/plugins/crypter/LixIn.py +++ b/module/plugins/crypter/LixIn.py @@ -7,9 +7,11 @@ from module.plugins.Crypter import Crypter class LixIn(Crypter): __name__ = "LixIn" + __version__ = "0.22" __type__ = "crypter" + __pattern__ = r'http://(www.)?lix.in/(?P<id>.*)' - __version__ = "0.22" + __description__ = """Lix.in decrypter plugin""" __author_name__ = "spoob" __author_mail__ = "spoob@pyload.org" @@ -18,6 +20,7 @@ class LixIn(Crypter): SUBMIT_PATTERN = r"value='continue.*?'" LINK_PATTERN = r'name="ifram" src="(?P<link>.*?)"' + def decrypt(self, pyfile): url = pyfile.url diff --git a/module/plugins/crypter/LofCc.py b/module/plugins/crypter/LofCc.py index a17d58884..91106dc51 100644 --- a/module/plugins/crypter/LofCc.py +++ b/module/plugins/crypter/LofCc.py @@ -5,9 +5,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class LofCc(DeadCrypter): __name__ = "LofCc" + __version__ = "0.21" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?lof.cc/(.*)' - __version__ = "0.21" + __description__ = """Lof.cc decrypter plugin""" __author_name__ = "mkaay" __author_mail__ = "mkaay@mkaay.de" diff --git a/module/plugins/crypter/MBLinkInfo.py b/module/plugins/crypter/MBLinkInfo.py index 8aa70e8ff..0162c111d 100644 --- a/module/plugins/crypter/MBLinkInfo.py +++ b/module/plugins/crypter/MBLinkInfo.py @@ -5,9 +5,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class MBLinkInfo(DeadCrypter): __name__ = "MBLinkInfo" + __version__ = "0.03" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?mblink\.info/?\?id=(\d+)' - __version__ = "0.03" + __description__ = """MBLink.info decrypter plugin""" __author_name__ = ("Gummibaer", "stickell") __author_mail__ = ("Gummibaer@wiki-bierkiste.de", "l.stickell@yahoo.it") diff --git a/module/plugins/crypter/MediafireComFolder.py b/module/plugins/crypter/MediafireComFolder.py index 1ab16f31f..728bd6bbb 100644 --- a/module/plugins/crypter/MediafireComFolder.py +++ b/module/plugins/crypter/MediafireComFolder.py @@ -8,9 +8,11 @@ from module.common.json_layer import json_loads class MediafireComFolder(Crypter): __name__ = "MediafireComFolder" + __version__ = "0.14" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?mediafire\.com/(folder/|\?sharekey=|\?\w{13}($|[/#]))' - __version__ = "0.14" + __description__ = """Mediafire.com folder decrypter plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" diff --git a/module/plugins/crypter/Movie2kTo.py b/module/plugins/crypter/Movie2kTo.py index 991e1e1ee..dcebf5e03 100644 --- a/module/plugins/crypter/Movie2kTo.py +++ b/module/plugins/crypter/Movie2kTo.py @@ -5,9 +5,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class Movie2kTo(DeadCrypter): __name__ = "Movie2kTo" + __version__ = "0.51" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?movie2k\.to/(.*)\.html' - __version__ = "0.51" + __description__ = """Movie2k.to decrypter plugin""" __author_name__ = "4Christopher" __author_mail__ = "4Christopher@gmx.de" diff --git a/module/plugins/crypter/MultiUpOrg.py b/module/plugins/crypter/MultiUpOrg.py index d08daaf75..ab23def8d 100644 --- a/module/plugins/crypter/MultiUpOrg.py +++ b/module/plugins/crypter/MultiUpOrg.py @@ -23,15 +23,18 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class MultiUpOrg(SimpleCrypter): __name__ = "MultiUpOrg" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?multiup\.org/(en|fr)/(?P<TYPE>project|download|miror)/\w+(/\w+)?' - __version__ = "0.01" + __description__ = """MultiUp.org crypter plugin""" __author_name__ = "Walter Purcaro" __author_mail__ = "vuolter@gmail.com" TITLE_PATTERN = r'<title>.*(Project|Projet|ownload|élécharger) (?P<title>.+?) (\(|- )' + def getLinks(self): m_type = re.match(self.__pattern__, self.pyfile.url).group("TYPE") diff --git a/module/plugins/crypter/MultiloadCz.py b/module/plugins/crypter/MultiloadCz.py index 5e7051bad..e6ffbe9b0 100644 --- a/module/plugins/crypter/MultiloadCz.py +++ b/module/plugins/crypter/MultiloadCz.py @@ -6,18 +6,21 @@ from module.plugins.Crypter import Crypter class MultiloadCz(Crypter): __name__ = "MultiloadCz" + __version__ = "0.4" __type__ = "crypter" + __pattern__ = r'http://(?:[^/]*\.)?multiload.cz/(stahnout|slozka)/.*' - __version__ = "0.4" - __description__ = """Multiload.cz decrypter plugin""" __config__ = [("usedHoster", "str", "Prefered hoster list (bar-separated) ", ""), ("ignoredHoster", "str", "Ignored hoster list (bar-separated) ", "")] + + __description__ = """Multiload.cz decrypter plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" FOLDER_PATTERN = r'<form action="" method="get"><textarea[^>]*>([^>]*)</textarea></form>' LINK_PATTERN = r'<p class="manager-server"><strong>([^<]+)</strong></p><p class="manager-linky"><a href="([^"]+)">' + def decrypt(self, pyfile): self.html = self.load(pyfile.url, decode=True) new_links = [] diff --git a/module/plugins/crypter/MultiuploadCom.py b/module/plugins/crypter/MultiuploadCom.py index 677080772..cdc685fab 100644 --- a/module/plugins/crypter/MultiuploadCom.py +++ b/module/plugins/crypter/MultiuploadCom.py @@ -9,17 +9,20 @@ from module.common.json_layer import json_loads class MultiuploadCom(Crypter): __name__ = "MultiuploadCom" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?multiupload.com/(\w+)' - __version__ = "0.01" - __description__ = """MultiUpload.com decrypter plugin""" __config__ = [("preferedHoster", "str", "Prefered hoster list (bar-separated) ", "multiupload"), ("ignoredHoster", "str", "Ignored hoster list (bar-separated) ", "")] + + __description__ = """MultiUpload.com decrypter plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" ML_LINK_PATTERN = r'<div id="downloadbutton_" style=""><a href="([^"]+)"' + def decrypt(self, pyfile): self.html = self.load(pyfile.url) found = re.search(self.ML_LINK_PATTERN, self.html) diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index ec6533ffc..dc2f29519 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -5,25 +5,28 @@ import binascii import re from Crypto.Cipher import AES + from module.plugins.Crypter import Crypter from module.plugins.internal.CaptchaService import ReCaptcha class NCryptIn(Crypter): __name__ = "NCryptIn" + __version__ = "1.32" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?ncrypt.in/(?P<type>folder|link|frame)-([^/\?]+)' - __version__ = "1.32" + __description__ = """NCrypt.in decrypter plugin""" __author_name__ = ("fragonib", "stickell") __author_mail__ = ("fragonib[AT]yahoo[DOT]es", "l.stickell@yahoo.it") - # Constants - _JK_KEY_ = "jk" - _CRYPTED_KEY_ = "crypted" + JK_KEY = "jk" + CRYPTED_KEY = "crypted" NAME_PATTERN = r'<meta name="description" content="(?P<N>[^"]+)"' + def setup(self): self.package = None self.html = None @@ -264,11 +267,11 @@ class NCryptIn(Crypter): pattern = r'<input.*?name="%s".*?value="(.*?)"' # Get jk - jk_re = pattern % NCryptIn._JK_KEY_ + jk_re = pattern % NCryptIn.JK_KEY vjk = re.findall(jk_re, self.html) # Get crypted - crypted_re = pattern % NCryptIn._CRYPTED_KEY_ + crypted_re = pattern % NCryptIn.CRYPTED_KEY vcrypted = re.findall(crypted_re, self.html) # Log and return diff --git a/module/plugins/crypter/NetfolderIn.py b/module/plugins/crypter/NetfolderIn.py index 286b9366b..4c7660ab5 100644 --- a/module/plugins/crypter/NetfolderIn.py +++ b/module/plugins/crypter/NetfolderIn.py @@ -7,15 +7,18 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class NetfolderIn(SimpleCrypter): __name__ = "NetfolderIn" + __version__ = "0.6" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?netfolder.in/((?P<id1>\w+)/\w+|folder.php\?folder_id=(?P<id2>\w+))' - __version__ = "0.6" + __description__ = """NetFolder.in decrypter plugin""" __author_name__ = ("RaNaN", "fragonib") __author_mail__ = ("RaNaN@pyload.org", "fragonib[AT]yahoo[DOT]es") TITLE_PATTERN = r'<div class="Text">Inhalt des Ordners <span(.*)>(?P<title>.+)</span></div>' + def decrypt(self, pyfile): # Request package self.html = self.load(pyfile.url) diff --git a/module/plugins/crypter/NosvideoCom.py b/module/plugins/crypter/NosvideoCom.py index 20097c7bf..2656b9374 100644 --- a/module/plugins/crypter/NosvideoCom.py +++ b/module/plugins/crypter/NosvideoCom.py @@ -5,9 +5,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class NosvideoCom(SimpleCrypter): __name__ = "NosvideoCom" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?nosvideo\.com/\?v=\w+' - __version__ = "0.01" + __description__ = """Nosvideo.com decrypter plugin""" __author_name__ = "igel" __author_mail__ = "igelkun@myopera.com" diff --git a/module/plugins/crypter/OneKhDe.py b/module/plugins/crypter/OneKhDe.py index 82fad86ce..b370df1f7 100644 --- a/module/plugins/crypter/OneKhDe.py +++ b/module/plugins/crypter/OneKhDe.py @@ -8,13 +8,16 @@ from module.plugins.Crypter import Crypter class OneKhDe(Crypter): __name__ = "OneKhDe" + __version__ = "0.1" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?1kh.de/f/' - __version__ = "0.1" + __description__ = """1kh.de decrypter plugin""" __author_name__ = "spoob" __author_mail__ = "spoob@pyload.org" + def __init__(self, parent): Crypter.__init__(self, parent) self.parent = parent diff --git a/module/plugins/crypter/OronComFolder.py b/module/plugins/crypter/OronComFolder.py index f087370ac..988c5c959 100755 --- a/module/plugins/crypter/OronComFolder.py +++ b/module/plugins/crypter/OronComFolder.py @@ -5,9 +5,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class OronComFolder(DeadCrypter): __name__ = "OronComFolder" + __version__ = "0.11" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?oron.com/folder/\w+' - __version__ = "0.11" + __description__ = """Oron.com folder decrypter plugin""" __author_name__ = "DHMH" __author_mail__ = "webmaster@pcProfil.de" diff --git a/module/plugins/crypter/PastebinCom.py b/module/plugins/crypter/PastebinCom.py index e74f71a5c..172a4183f 100644 --- a/module/plugins/crypter/PastebinCom.py +++ b/module/plugins/crypter/PastebinCom.py @@ -19,9 +19,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class PastebinCom(SimpleCrypter): __name__ = "PastebinCom" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?pastebin\.com/\w+' - __version__ = "0.01" + __description__ = """Pastebin.com decrypter plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" diff --git a/module/plugins/crypter/QuickshareCzFolder.py b/module/plugins/crypter/QuickshareCzFolder.py index a412a5d18..a8f97cf77 100644 --- a/module/plugins/crypter/QuickshareCzFolder.py +++ b/module/plugins/crypter/QuickshareCzFolder.py @@ -6,9 +6,11 @@ from module.plugins.Crypter import Crypter class QuickshareCzFolder(Crypter): __name__ = "QuickshareCzFolder" + __version__ = "0.1" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?quickshare.cz/slozka-\d+.*' - __version__ = "0.1" + __description__ = """Quickshare.cz folder decrypter plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" @@ -16,6 +18,7 @@ class QuickshareCzFolder(Crypter): FOLDER_PATTERN = r'<textarea[^>]*>(.*?)</textarea>' LINK_PATTERN = r'(http://www.quickshare.cz/\S+)' + def decrypt(self, pyfile): html = self.load(pyfile.url) diff --git a/module/plugins/crypter/RSLayerCom.py b/module/plugins/crypter/RSLayerCom.py index 13f4ed4bd..637caf2ce 100644 --- a/module/plugins/crypter/RSLayerCom.py +++ b/module/plugins/crypter/RSLayerCom.py @@ -5,9 +5,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class RSLayerCom(DeadCrypter): __name__ = "RSLayerCom" + __version__ = "0.21" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?rs-layer.com/directory-' - __version__ = "0.21" + __description__ = """RS-Layer.com decrypter plugin""" __author_name__ = "hzpz" __author_mail__ = None diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index 1187692a0..5474ef3b6 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -11,9 +11,11 @@ from module.plugins.Crypter import Crypter class RelinkUs(Crypter): __name__ = "RelinkUs" + __version__ = "3.0" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?relink.us/(f/|((view|go).php\?id=))(?P<id>.+)' - __version__ = "3.0" + __description__ = """Relink.us decrypter plugin""" __author_name__ = "fragonib" __author_mail__ = "fragonib[AT]yahoo[DOT]es" diff --git a/module/plugins/crypter/SafelinkingNet.py b/module/plugins/crypter/SafelinkingNet.py index 022f3e5ff..55f4c0ff6 100644 --- a/module/plugins/crypter/SafelinkingNet.py +++ b/module/plugins/crypter/SafelinkingNet.py @@ -11,14 +11,17 @@ from module.lib.BeautifulSoup import BeautifulSoup class SafelinkingNet(Crypter): __name__ = "SafelinkingNet" + __version__ = "0.1" __type__ = "crypter" + __pattern__ = r'https?://(?:www\.)?safelinking.net/([pd])/\w+' - __version__ = "0.1" + __description__ = """Safelinking.net decrypter plugin""" __author_name__ = "quareevo" __author_mail__ = "quareevo@arcor.de" - __Solvemedia_pattern__ = "solvemediaApiKey = '([\w\.\-_]+)';" + SOLVEMEDIA_PATTERN = "solvemediaApiKey = '([\w\.\-_]+)';" + def decrypt(self, pyfile): url = pyfile.url @@ -44,7 +47,7 @@ class SafelinkingNet(Crypter): if "altcaptcha" in self.html: for _ in xrange(5): - m = re.search(self.__Solvemedia_pattern__, self.html) + m = re.search(self.SOLVEMEDIA_PATTERN, self.html) if m: captchaKey = m.group(1) captcha = SolveMedia(self) diff --git a/module/plugins/crypter/SecuredIn.py b/module/plugins/crypter/SecuredIn.py index 771205ec8..1a6650195 100644 --- a/module/plugins/crypter/SecuredIn.py +++ b/module/plugins/crypter/SecuredIn.py @@ -5,9 +5,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class SecuredIn(DeadCrypter): __name__ = "SecuredIn" + __version__ = "0.21" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?secured\.in/download-[\d]+-[\w]{8}\.html' - __version__ = "0.21" + __description__ = """Secured.in decrypter plugin""" __author_name__ = "mkaay" __author_mail__ = "mkaay@mkaay.de" diff --git a/module/plugins/crypter/SerienjunkiesOrg.py b/module/plugins/crypter/SerienjunkiesOrg.py index ecca56209..ea76d30d0 100644 --- a/module/plugins/crypter/SerienjunkiesOrg.py +++ b/module/plugins/crypter/SerienjunkiesOrg.py @@ -1,18 +1,21 @@ # -*- coding: utf-8 -*- +import random import re + from time import sleep -import random -from module.plugins.Crypter import Crypter + from module.lib.BeautifulSoup import BeautifulSoup +from module.plugins.Crypter import Crypter from module.unescape import unescape class SerienjunkiesOrg(Crypter): __name__ = "SerienjunkiesOrg" + __version__ = "0.39" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?(serienjunkies.org|dokujunkies.org)/.*?' - __version__ = "0.39" __config__ = [("changeNameSJ", "Packagename;Show;Season;Format;Episode", "Take SJ.org name", "Show"), ("changeNameDJ", "Packagename;Show;Format;Episode", "Take DJ.org name", "Show"), ("randomPreferred", "bool", "Randomize Preferred-List", False), @@ -21,10 +24,12 @@ class SerienjunkiesOrg(Crypter): ("hosterList", "str", "Preferred Hoster list (comma separated)", "RapidshareCom,UploadedTo,NetloadIn,FilefactoryCom,FreakshareNet,FilebaseTo,HotfileCom,DepositfilesCom,EasyshareCom,KickloadCom"), ("ignoreList", "str", "Ignored Hoster list (comma separated)", "MegauploadCom")] + __description__ = """Serienjunkies.org decrypter plugin""" __author_name__ = ("mkaay", "godofdream") __author_mail__ = ("mkaay@mkaay.de", "soilfiction@gmail.com") + def setup(self): self.multiDL = False diff --git a/module/plugins/crypter/ShareLinksBiz.py b/module/plugins/crypter/ShareLinksBiz.py index 4ea5955db..13327dd2b 100644 --- a/module/plugins/crypter/ShareLinksBiz.py +++ b/module/plugins/crypter/ShareLinksBiz.py @@ -10,13 +10,16 @@ from module.plugins.Crypter import Crypter class ShareLinksBiz(Crypter): __name__ = "ShareLinksBiz" + __version__ = "1.13" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?(share-links|s2l)\.biz/(?P<ID>_?\w+)' - __version__ = "1.13" + __description__ = """Share-Links.biz decrypter plugin""" __author_name__ = "fragonib" __author_mail__ = "fragonib[AT]yahoo[DOT]es" + def setup(self): self.baseUrl = None self.fileId = None diff --git a/module/plugins/crypter/ShareRapidComFolder.py b/module/plugins/crypter/ShareRapidComFolder.py index 15c8dccde..e44402a52 100644 --- a/module/plugins/crypter/ShareRapidComFolder.py +++ b/module/plugins/crypter/ShareRapidComFolder.py @@ -5,9 +5,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class ShareRapidComFolder(SimpleCrypter): __name__ = "ShareRapidComFolder" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?((share(-?rapid\.(biz|com|cz|info|eu|net|org|pl|sk)|-(central|credit|free|net)\.cz|-ms\.net)|(s-?rapid|rapids)\.(cz|sk))|(e-stahuj|mediatack|premium-rapidshare|rapidshare-premium|qiuck)\.cz|kadzet\.com|stahuj-zdarma\.eu|strelci\.net|universal-share\.com)/(slozka/.+)' - __version__ = "0.01" + __description__ = """Share-Rapid.com folder decrypter plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" diff --git a/module/plugins/crypter/SpeedLoadOrgFolder.py b/module/plugins/crypter/SpeedLoadOrgFolder.py index 4bb1562ee..305397d3c 100644 --- a/module/plugins/crypter/SpeedLoadOrgFolder.py +++ b/module/plugins/crypter/SpeedLoadOrgFolder.py @@ -19,9 +19,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class SpeedLoadOrgFolder(DeadCrypter): __name__ = "SpeedLoadOrgFolder" + __version__ = "0.3" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?speedload\.org/(\d+~f$|folder/\d+/)' - __version__ = "0.3" + __description__ = """Speedload decrypter plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" diff --git a/module/plugins/crypter/StealthTo.py b/module/plugins/crypter/StealthTo.py index e97a741e0..d0820446e 100644 --- a/module/plugins/crypter/StealthTo.py +++ b/module/plugins/crypter/StealthTo.py @@ -7,13 +7,16 @@ from module.plugins.Crypter import Crypter class StealthTo(Crypter): __name__ = "StealthTo" + __version__ = "0.1" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?stealth.to/folder/' - __version__ = "0.1" + __description__ = """Stealth.to decrypter plugin""" __author_name__ = "spoob" __author_mail__ = "spoob@pyload.org" + def __init__(self, parent): Crypter.__init__(self, parent) self.parent = parent diff --git a/module/plugins/crypter/TnyCz.py b/module/plugins/crypter/TnyCz.py index aed7c3cf9..3ff9aa5dd 100644 --- a/module/plugins/crypter/TnyCz.py +++ b/module/plugins/crypter/TnyCz.py @@ -22,15 +22,18 @@ import re class TnyCz(SimpleCrypter): __name__ = "TnyCz" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?tny\.cz/\w+' - __version__ = "0.01" + __description__ = """Tny.cz decrypter plugin""" __author_name__ = "Walter Purcaro" __author_mail__ = "vuolter@gmail.com" TITLE_PATTERN = r'<title>(?P<title>.+) - .+</title>' + def getLinks(self): m = re.search(r'<a id=\'save_paste\' href="(.+save\.php\?hash=.+)">', self.html) return re.findall(".+", self.load(m.group(1), decode=True)) if m else None diff --git a/module/plugins/crypter/TrailerzoneInfo.py b/module/plugins/crypter/TrailerzoneInfo.py index 84a476a38..2c7bb2c9f 100644 --- a/module/plugins/crypter/TrailerzoneInfo.py +++ b/module/plugins/crypter/TrailerzoneInfo.py @@ -5,9 +5,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class TrailerzoneInfo(DeadCrypter): __name__ = "TrailerzoneInfo" + __version__ = "0.03" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?trailerzone.info/.*?' - __version__ = "0.03" + __description__ = """TrailerZone.info decrypter plugin""" __author_name__ = "godofdream" __author_mail__ = "soilfiction@gmail.com" diff --git a/module/plugins/crypter/TurbobitNetFolder.py b/module/plugins/crypter/TurbobitNetFolder.py index 2dcd65757..26923e8d4 100644 --- a/module/plugins/crypter/TurbobitNetFolder.py +++ b/module/plugins/crypter/TurbobitNetFolder.py @@ -22,15 +22,18 @@ from module.common.json_layer import json_loads class TurbobitNetFolder(SimpleCrypter): __name__ = "TurbobitNetFolder" + __version__ = "0.03" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?turbobit\.net/download/folder/(?P<ID>\w+)' - __version__ = "0.03" + __description__ = """Turbobit.net folder decrypter plugin""" __author_name__ = ("stickell", "Walter Purcaro") __author_mail__ = ("l.stickell@yahoo.it", "vuolter@gmail.com") TITLE_PATTERN = r"src='/js/lib/grid/icon/folder.png'> <span>(?P<title>.+?)</span>" + def _getLinks(self, id, page=1): gridFile = self.load("http://turbobit.net/downloadfolder/gridFile", get={"rootId": id, "rows": 200, "page": page}, decode=True) diff --git a/module/plugins/crypter/TusfilesNetFolder.py b/module/plugins/crypter/TusfilesNetFolder.py index 59aef3372..70b7bd4b9 100644 --- a/module/plugins/crypter/TusfilesNetFolder.py +++ b/module/plugins/crypter/TusfilesNetFolder.py @@ -23,9 +23,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class TusfilesNetFolder(SimpleCrypter): __name__ = "TusfilesNetFolder" + __version__ = "0.02" __type__ = "crypter" + __pattern__ = r'https?://(?:www\.)?tusfiles\.net/go/(?P<ID>\w+)/?' - __version__ = "0.02" + __description__ = """Tusfiles.net folder decrypter plugin""" __author_name__ = ("Walter Purcaro", "stickell") __author_mail__ = ("vuolter@gmail.com", "l.stickell@yahoo.it") @@ -36,6 +38,7 @@ class TusfilesNetFolder(SimpleCrypter): URL_REPLACEMENTS = [(__pattern__, r'https://www.tusfiles.net/go/\g<ID>/')] + def loadPage(self, page_n): return self.load(urljoin(self.pyfile.url, str(page_n)), decode=True) diff --git a/module/plugins/crypter/UlozToFolder.py b/module/plugins/crypter/UlozToFolder.py index 6c7729fee..6ba4b0819 100644 --- a/module/plugins/crypter/UlozToFolder.py +++ b/module/plugins/crypter/UlozToFolder.py @@ -6,9 +6,11 @@ from module.plugins.Crypter import Crypter class UlozToFolder(Crypter): __name__ = "UlozToFolder" + __version__ = "0.2" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj.cz|zachowajto.pl)/(m|soubory)/.*' - __version__ = "0.2" + __description__ = """Uloz.to folder decrypter plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" @@ -17,6 +19,7 @@ class UlozToFolder(Crypter): LINK_PATTERN = r'<br /><a href="/([^"]+)">[^<]+</a>' NEXT_PAGE_PATTERN = r'<a class="next " href="/([^"]+)"> </a>' + def decrypt(self, pyfile): html = self.load(pyfile.url) diff --git a/module/plugins/crypter/UploadedToFolder.py b/module/plugins/crypter/UploadedToFolder.py index 97c77fdce..36dd9714a 100644 --- a/module/plugins/crypter/UploadedToFolder.py +++ b/module/plugins/crypter/UploadedToFolder.py @@ -21,9 +21,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class UploadedToFolder(SimpleCrypter): __name__ = "UploadedToFolder" + __version__ = "0.3" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?(uploaded|ul)\.(to|net)/(f|folder|list)/(?P<id>\w+)' - __version__ = "0.3" + __description__ = """UploadedTo decrypter plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" @@ -31,6 +33,7 @@ class UploadedToFolder(SimpleCrypter): PLAIN_PATTERN = r'<small class="date"><a href="(?P<plain>[\w/]+)" onclick=' TITLE_PATTERN = r'<title>(?P<title>[^<]+)</title>' + def decrypt(self, pyfile): self.html = self.load(pyfile.url) diff --git a/module/plugins/crypter/WiiReloadedOrg.py b/module/plugins/crypter/WiiReloadedOrg.py index 7274b4a84..9cb0751d8 100644 --- a/module/plugins/crypter/WiiReloadedOrg.py +++ b/module/plugins/crypter/WiiReloadedOrg.py @@ -5,9 +5,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class WiiReloadedOrg(DeadCrypter): __name__ = "WiiReloadedOrg" + __version__ = "0.11" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?wii-reloaded\.org/protect/get\.php\?i=.+' - __version__ = "0.11" + __description__ = """Wii-Reloaded.org decrypter plugin""" __author_name__ = "hzpz" __author_mail__ = None diff --git a/module/plugins/crypter/XupPl.py b/module/plugins/crypter/XupPl.py index c04fc69f8..09c3084ea 100644 --- a/module/plugins/crypter/XupPl.py +++ b/module/plugins/crypter/XupPl.py @@ -5,13 +5,16 @@ from module.plugins.Crypter import Crypter class XupPl(Crypter): __name__ = "XupPl" + __version__ = "0.1" __type__ = "crypter" + __pattern__ = r'https?://(?:[^/]*\.)?xup\.pl/.*' - __version__ = "0.1" + __description__ = """Xup.pl decrypter plugin""" __author_name__ = "z00nx" __author_mail__ = "z00nx0@gmail.com" + def decrypt(self, pyfile): header = self.load(pyfile.url, just_header=True) if 'location' in header: diff --git a/module/plugins/crypter/YoutubeBatch.py b/module/plugins/crypter/YoutubeBatch.py index dd5d937d5..dfac9140f 100644 --- a/module/plugins/crypter/YoutubeBatch.py +++ b/module/plugins/crypter/YoutubeBatch.py @@ -15,9 +15,10 @@ along with this program; if not, see <http://www.gnu.org/licenses/>. """ -from urlparse import urljoin import re +from urlparse import urljoin + from module.common.json_layer import json_loads from module.plugins.Crypter import Crypter from module.utils import save_join @@ -27,16 +28,19 @@ API_URL = "AIzaSyCKnWLNlkX-L4oD1aEzqqhRw1zczeD6_k0" class YoutubeBatch(Crypter): __name__ = "YoutubeBatch" + __version__ = "1.00" __type__ = "crypter" + __pattern__ = r'https?://(?:www\.|m\.)?youtube\.com/(?P<TYPE>user|playlist|view_play_list)(/|.*?[?&](?:list|p)=)(?P<ID>[\w-]+)' - __version__ = "1.00" - __description__ = """Youtube.com channel & playlist decrypter plugin""" __config__ = [("likes", "bool", "Grab user (channel) liked videos", False), ("favorites", "bool", "Grab user (channel) favorite videos", False), ("uploads", "bool", "Grab channel unplaylisted videos", True)] + + __description__ = """Youtube.com channel & playlist decrypter plugin""" __author_name__ = "Walter Purcaro" __author_mail__ = "vuolter@gmail.com" + def api_response(self, ref, req): req.update({"key": API_KEY}) url = urljoin("https://www.googleapis.com/youtube/v3/", ref) -- cgit v1.2.3 From 0ecdab0c48c89c065ce41e3427d218f993a655ac Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Tue, 15 Jul 2014 23:57:03 +0200 Subject: [StealthTo] Mark dead --- module/plugins/crypter/StealthTo.py | 44 ++++--------------------------------- 1 file changed, 4 insertions(+), 40 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/StealthTo.py b/module/plugins/crypter/StealthTo.py index d0820446e..9cae7ba20 100644 --- a/module/plugins/crypter/StealthTo.py +++ b/module/plugins/crypter/StealthTo.py @@ -1,51 +1,15 @@ # -*- coding: utf-8 -*- -import re +from module.plugins.internal.DeadCrypter import DeadCrypter -from module.plugins.Crypter import Crypter - -class StealthTo(Crypter): +class StealthTo(DeadCrypter): __name__ = "StealthTo" - __version__ = "0.1" + __version__ = "0.2" __type__ = "crypter" - __pattern__ = r'http://(?:www\.)?stealth.to/folder/' + __pattern__ = r'http://(?:www\.)?stealth\.to/folder/.+' __description__ = """Stealth.to decrypter plugin""" __author_name__ = "spoob" __author_mail__ = "spoob@pyload.org" - - - def __init__(self, parent): - Crypter.__init__(self, parent) - self.parent = parent - self.html = None - - def file_exists(self): - """ returns True or False - """ - return True - - def proceed(self, url, location): - url = self.parent.url - self.html = self.req.load(url, cookies=True) - temp_links = [] - ids = [] - ats = [] # authenticity_token - inputs = re.findall(r"(<(input|form)[^>]+)", self.html) - for input in inputs: - if re.search(r"name=\"authenticity_token\"", input[0]): - ats.append(re.search(r"value=\"([^\"]+)", input[0]).group(1)) - if re.search(r"name=\"id\"", input[0]): - ids.append(re.search(r"value=\"([^\"]+)", input[0]).group(1)) - - for i in xrange(0, len(ids)): - self.req.load(url + "/web", - post={"authenticity_token": ats[i], "id": str(ids[i]), "link": ("download_" + str(ids[i]))}, - cookies=True) - new_html = self.req.load(url + "/web", post={"authenticity_token": ats[i], "id": str(ids[i]), "link": "1"}, - cookies=True) - temp_links.append(re.search(r"iframe src=\"(.*)\" frameborder", new_html).group(1)) - - self.links = temp_links -- cgit v1.2.3 From a1e78f33dc2b0b6777fdcbc415673f3965b25542 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Wed, 16 Jul 2014 00:46:26 +0200 Subject: Prefer self.urls and self.packages for adding links --- module/plugins/crypter/ChipDe.py | 8 ++++---- module/plugins/crypter/CzshareComFolder.py | 8 ++------ module/plugins/crypter/DDLMusicOrg.py | 2 +- module/plugins/crypter/Dereferer.py | 2 +- module/plugins/crypter/DontKnowMe.py | 2 +- module/plugins/crypter/DuckCryptInfo.py | 6 ++---- module/plugins/crypter/EmbeduploadCom.py | 15 +++++++-------- module/plugins/crypter/FileserveComFolder.py | 2 +- module/plugins/crypter/FourChanOrg.py | 7 +------ module/plugins/crypter/GooGl.py | 2 +- module/plugins/crypter/HoerbuchIn.py | 6 ++---- module/plugins/crypter/HotfileFolderCom.py | 2 +- module/plugins/crypter/LetitbitNetFolder.py | 8 ++------ module/plugins/crypter/LinkdecrypterCom.py | 6 ++---- module/plugins/crypter/LixIn.py | 8 +++----- module/plugins/crypter/MediafireComFolder.py | 12 ++++-------- module/plugins/crypter/MultiloadCz.py | 13 +++++-------- module/plugins/crypter/MultiuploadCom.py | 15 ++++++--------- module/plugins/crypter/OneKhDe.py | 4 +--- module/plugins/crypter/QuickshareCzFolder.py | 7 ++----- module/plugins/crypter/RelinkUs.py | 3 +-- module/plugins/crypter/SafelinkingNet.py | 9 +++------ module/plugins/crypter/UlozToFolder.py | 2 +- module/plugins/crypter/XupPl.py | 2 +- 24 files changed, 55 insertions(+), 96 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/ChipDe.py b/module/plugins/crypter/ChipDe.py index 8e48b1085..f59903170 100644 --- a/module/plugins/crypter/ChipDe.py +++ b/module/plugins/crypter/ChipDe.py @@ -19,9 +19,9 @@ class ChipDe(Crypter): def decrypt(self, pyfile): self.html = self.load(pyfile.url) try: - url = re.search(r'"(http://video.chip.de/\d+?/.*)"', self.html).group(1) - self.logDebug('The file URL is %s' % url) + f = re.search(r'"(http://video.chip.de/\d+?/.*)"', self.html) except: self.fail('Failed to find the URL') - - self.packages.append((pyfile.package().name, [url], pyfile.package().folder)) + else: + self.urls = [f.group(1)] + self.logDebug('The file URL is %s' % self.urls[0]) diff --git a/module/plugins/crypter/CzshareComFolder.py b/module/plugins/crypter/CzshareComFolder.py index c60d5a87d..e0c311ba8 100644 --- a/module/plugins/crypter/CzshareComFolder.py +++ b/module/plugins/crypter/CzshareComFolder.py @@ -17,19 +17,15 @@ class CzshareComFolder(Crypter): FOLDER_PATTERN = r'<tr class="subdirectory">\s*<td>\s*<table>(.*?)</table>' LINK_PATTERN = r'<td class="col2"><a href="([^"]+)">info</a></td>' - #NEXT_PAGE_PATTERN = r'<a class="next " href="/([^"]+)"> </a>' def decrypt(self, pyfile): html = self.load(pyfile.url) - new_links = [] found = re.search(self.FOLDER_PATTERN, html, re.DOTALL) if not found: self.fail("Parse error (FOLDER)") - new_links.extend(re.findall(self.LINK_PATTERN, found.group(1))) - if new_links: - self.core.files.addLinks(new_links, pyfile.package().id) - else: + self.urls.extend(re.findall(self.LINK_PATTERN, found.group(1))) + if not self.urls: self.fail('Could not extract any links') diff --git a/module/plugins/crypter/DDLMusicOrg.py b/module/plugins/crypter/DDLMusicOrg.py index fcdd507a7..c80ec471e 100644 --- a/module/plugins/crypter/DDLMusicOrg.py +++ b/module/plugins/crypter/DDLMusicOrg.py @@ -43,6 +43,6 @@ class DDLMusicOrg(Crypter): "linknr": linknr}) m = re.search(r"<form id=\"ff\" action=\"(.*?)\" method=\"post\">", htmlwithlink) if m: - self.packages.append((pyfile.package().name, [m.group(1)], pyfile.package().folder)) + self.urls = [m.group(1)] else: self.retry() diff --git a/module/plugins/crypter/Dereferer.py b/module/plugins/crypter/Dereferer.py index 6870f2f24..405893560 100644 --- a/module/plugins/crypter/Dereferer.py +++ b/module/plugins/crypter/Dereferer.py @@ -35,4 +35,4 @@ class Dereferer(Crypter): def decrypt(self, pyfile): link = re.match(self.__pattern__, pyfile.url).group('url') - self.core.files.addLinks([urllib.unquote(link).rstrip('+')], pyfile.package().id) + self.urls = [urllib.unquote(link).rstrip('+')] diff --git a/module/plugins/crypter/DontKnowMe.py b/module/plugins/crypter/DontKnowMe.py index d05355c2e..dac385e7c 100644 --- a/module/plugins/crypter/DontKnowMe.py +++ b/module/plugins/crypter/DontKnowMe.py @@ -22,4 +22,4 @@ class DontKnowMe(Crypter): def decrypt(self, pyfile): link = re.findall(self.LINK_PATTERN, pyfile.url)[0] - self.core.files.addLinks([urllib.unquote(link)], pyfile.package().id) + self.urls = [urllib.unquote(link)] diff --git a/module/plugins/crypter/DuckCryptInfo.py b/module/plugins/crypter/DuckCryptInfo.py index 6f5efdd1b..aa3a6d2a1 100644 --- a/module/plugins/crypter/DuckCryptInfo.py +++ b/module/plugins/crypter/DuckCryptInfo.py @@ -52,8 +52,6 @@ class DuckCryptInfo(Crypter): def handleLink(self, url): src = self.load(url) soup = BeautifulSoup(src) - link = soup.find("iframe")['src'] - if not link: + self.urls = [soup.find("iframe")["src"]] + if not self.urls: self.logDebug('no links found - (Plugin out of date?)') - else: - self.core.files.addLinks([link], self.pyfile.package().id) diff --git a/module/plugins/crypter/EmbeduploadCom.py b/module/plugins/crypter/EmbeduploadCom.py index 6126527a9..823e3f25f 100644 --- a/module/plugins/crypter/EmbeduploadCom.py +++ b/module/plugins/crypter/EmbeduploadCom.py @@ -24,7 +24,6 @@ class EmbeduploadCom(Crypter): def decrypt(self, pyfile): self.html = self.load(pyfile.url, decode=True) tmp_links = [] - new_links = [] found = re.findall(self.LINK_PATTERN, self.html) if found: @@ -32,21 +31,20 @@ class EmbeduploadCom(Crypter): prefered_set = map(lambda s: s.lower().split('.')[0], prefered_set) print "PF", prefered_set tmp_links.extend([x[1] for x in found if x[0] in prefered_set]) - self.getLocation(tmp_links, new_links) + self.urls = self.getLocation(tmp_links) - if not new_links: + if not self.urls: ignored_set = set(self.getConfig("ignoredHoster").split('|')) ignored_set = map(lambda s: s.lower().split('.')[0], ignored_set) print "IG", ignored_set tmp_links.extend([x[1] for x in found if x[0] not in ignored_set]) - self.getLocation(tmp_links, new_links) + self.urls = self.getLocation(tmp_links) - if new_links: - self.core.files.addLinks(new_links, pyfile.package().id) - else: + if not self.urls: self.fail('Could not extract any links') - def getLocation(self, tmp_links, new_links): + def getLocation(self, tmp_links): + new_links = [] for link in tmp_links: try: header = self.load(link, just_header=True) @@ -54,3 +52,4 @@ class EmbeduploadCom(Crypter): new_links.append(header['location']) except BadHeader: pass + return new_links diff --git a/module/plugins/crypter/FileserveComFolder.py b/module/plugins/crypter/FileserveComFolder.py index 30662f02d..28d89c75d 100644 --- a/module/plugins/crypter/FileserveComFolder.py +++ b/module/plugins/crypter/FileserveComFolder.py @@ -32,6 +32,6 @@ class FileserveComFolder(Crypter): new_links.extend(re.findall(self.LINK_PATTERN, folder.group(1))) if new_links: - self.core.files.addLinks(map(lambda s: "http://fileserve.com%s" % s, new_links), pyfile.package().id) + self.urls = [map(lambda s: "http://fileserve.com%s" % s, new_links)] else: self.fail('Could not extract any links') diff --git a/module/plugins/crypter/FourChanOrg.py b/module/plugins/crypter/FourChanOrg.py index dc0cdcb6c..a911c64d6 100644 --- a/module/plugins/crypter/FourChanOrg.py +++ b/module/plugins/crypter/FourChanOrg.py @@ -21,10 +21,5 @@ class FourChanOrg(Crypter): def decrypt(self, pyfile): pagehtml = self.load(pyfile.url) - images = set(re.findall(r'(images\.4chan\.org/[^/]*/src/[^"<]*)', pagehtml)) - urls = [] - for image in images: - urls.append("http://" + image) - - self.core.files.addLinks(urls, pyfile.package().id) + self.urls = ["http://" + image for image in images] diff --git a/module/plugins/crypter/GooGl.py b/module/plugins/crypter/GooGl.py index 37531c11e..52bf93ed3 100644 --- a/module/plugins/crypter/GooGl.py +++ b/module/plugins/crypter/GooGl.py @@ -38,6 +38,6 @@ class GooGl(Crypter): rep = json_loads(rep) if 'longUrl' in rep: - self.core.files.addLinks([rep['longUrl']], pyfile.package().id) + self.urls = [rep['longUrl']] else: self.fail('Unable to expand shortened link') diff --git a/module/plugins/crypter/HoerbuchIn.py b/module/plugins/crypter/HoerbuchIn.py index df81cc207..b46293bc7 100644 --- a/module/plugins/crypter/HoerbuchIn.py +++ b/module/plugins/crypter/HoerbuchIn.py @@ -33,11 +33,9 @@ class HoerbuchIn(Crypter): package = "%s (%s)" % (abookname, a.previousSibling.previousSibling.text[:-1]) links = self.decryptFolder(a['href']) - self.packages.append((package, links, pyfile.package().folder)) + self.packages.append((package, links, package)) else: - links = self.decryptFolder(pyfile.url) - - self.packages.append((pyfile.package().name, links, pyfile.package().folder)) + self.urls = self.decryptFolder(pyfile.url) def decryptFolder(self, url): m = self.protection.search(url) diff --git a/module/plugins/crypter/HotfileFolderCom.py b/module/plugins/crypter/HotfileFolderCom.py index 02c937553..433dc9755 100644 --- a/module/plugins/crypter/HotfileFolderCom.py +++ b/module/plugins/crypter/HotfileFolderCom.py @@ -27,4 +27,4 @@ class HotfileFolderCom(Crypter): new_links = [x[0] for x in new_links] - self.packages.append((name, new_links, name)) + self.packages = [(name, new_links, name)] diff --git a/module/plugins/crypter/LetitbitNetFolder.py b/module/plugins/crypter/LetitbitNetFolder.py index 6ea27813c..19e780690 100644 --- a/module/plugins/crypter/LetitbitNetFolder.py +++ b/module/plugins/crypter/LetitbitNetFolder.py @@ -22,15 +22,11 @@ class LetitbitNetFolder(Crypter): def decrypt(self, pyfile): html = self.load(pyfile.url) - new_links = [] - folder = re.search(self.FOLDER_PATTERN, html, re.DOTALL) if not folder: self.fail("Parse error (FOLDER)") - new_links.extend(re.findall(self.LINK_PATTERN, folder.group(0))) + self.urls.extend(re.findall(self.LINK_PATTERN, folder.group(0))) - if new_links: - self.core.files.addLinks(new_links, pyfile.package().id) - else: + if not self.urls: self.fail('Could not extract any links') diff --git a/module/plugins/crypter/LinkdecrypterCom.py b/module/plugins/crypter/LinkdecrypterCom.py index 96fe11951..31c4d36b7 100644 --- a/module/plugins/crypter/LinkdecrypterCom.py +++ b/module/plugins/crypter/LinkdecrypterCom.py @@ -41,10 +41,8 @@ class LinkdecrypterCom(Crypter): self.passwords = self.getPassword().splitlines() # API not working anymore - new_links = self.decryptHTML() - if new_links: - self.core.files.addLinks(new_links, pyfile.package().id) - else: + self.urls = self.decryptHTML() + if not self.urls: self.fail('Could not extract any links') def decryptAPI(self): diff --git a/module/plugins/crypter/LixIn.py b/module/plugins/crypter/LixIn.py index d3c41bd4c..e609c9da4 100644 --- a/module/plugins/crypter/LixIn.py +++ b/module/plugins/crypter/LixIn.py @@ -54,8 +54,6 @@ class LixIn(Crypter): matches = re.search(self.LINK_PATTERN, self.html) if not matches: self.fail("can't find destination url") - - new_link = matches.group("link") - self.logDebug("Found link %s, adding to package" % new_link) - - self.packages.append((pyfile.package().name, [new_link], pyfile.package().name)) + else: + self.urls = [matches.group("link")] + self.logDebug("Found link %s, adding to package" % self.urls[0]) diff --git a/module/plugins/crypter/MediafireComFolder.py b/module/plugins/crypter/MediafireComFolder.py index 728bd6bbb..5f1b9ad1b 100644 --- a/module/plugins/crypter/MediafireComFolder.py +++ b/module/plugins/crypter/MediafireComFolder.py @@ -22,8 +22,6 @@ class MediafireComFolder(Crypter): def decrypt(self, pyfile): - new_links = [] - url, result = checkHTMLHeader(pyfile.url) self.logDebug('Location (%d): %s' % (result, url)) @@ -33,7 +31,7 @@ class MediafireComFolder(Crypter): found = re.search(self.FILE_URL_PATTERN, html) if found: # file page - new_links.append("http://www.mediafire.com/file/%s" % found.group(1)) + self.urls.append("http://www.mediafire.com/file/%s" % found.group(1)) else: # folder page found = re.search(self.FOLDER_KEY_PATTERN, html) @@ -46,15 +44,13 @@ class MediafireComFolder(Crypter): #self.logInfo(json_resp) if json_resp['response']['result'] == "Success": for link in json_resp['response']['folder_info']['files']: - new_links.append("http://www.mediafire.com/file/%s" % link['quickkey']) + self.urls.append("http://www.mediafire.com/file/%s" % link['quickkey']) else: self.fail(json_resp['response']['message']) elif result == 1: self.offline() else: - new_links.append(url) + self.urls.append(url) - if new_links: - self.core.files.addLinks(new_links, pyfile.package().id) - else: + if not self.urls: self.fail('Could not extract any links') diff --git a/module/plugins/crypter/MultiloadCz.py b/module/plugins/crypter/MultiloadCz.py index e6ffbe9b0..0d5fa4c94 100644 --- a/module/plugins/crypter/MultiloadCz.py +++ b/module/plugins/crypter/MultiloadCz.py @@ -23,23 +23,20 @@ class MultiloadCz(Crypter): def decrypt(self, pyfile): self.html = self.load(pyfile.url, decode=True) - new_links = [] if re.match(self.__pattern__, pyfile.url).group(1) == "slozka": found = re.search(self.FOLDER_PATTERN, self.html) if found is not None: - new_links.extend(found.group(1).split()) + self.urls.extend(found.group(1).split()) else: found = re.findall(self.LINK_PATTERN, self.html) if found: prefered_set = set(self.getConfig("usedHoster").split('|')) - new_links.extend([x[1] for x in found if x[0] in prefered_set]) + self.urls.extend([x[1] for x in found if x[0] in prefered_set]) - if not new_links: + if not self.urls: ignored_set = set(self.getConfig("ignoredHoster").split('|')) - new_links.extend([x[1] for x in found if x[0] not in ignored_set]) + self.urls.extend([x[1] for x in found if x[0] not in ignored_set]) - if new_links: - self.core.files.addLinks(new_links, pyfile.package().id) - else: + if not self.urls: self.fail('Could not extract any links') diff --git a/module/plugins/crypter/MultiuploadCom.py b/module/plugins/crypter/MultiuploadCom.py index cdc685fab..84d8d0830 100644 --- a/module/plugins/crypter/MultiuploadCom.py +++ b/module/plugins/crypter/MultiuploadCom.py @@ -32,34 +32,31 @@ class MultiuploadCom(Crypter): "d": re.match(self.__pattern__, pyfile.url).group(1), "r": str(int(time() * 1000)) })) - new_links = [] prefered_set = map(lambda s: s.lower().split('.')[0], set(self.getConfig("preferedHoster").split('|'))) if ml_url and 'multiupload' in prefered_set: - new_links.append(ml_url) + self.urls.append(ml_url) for link in json_list: if link['service'].lower() in prefered_set and int(link['status']) and not int(link['deleted']): url = self.getLocation(link['url']) if url: - new_links.append(url) + self.urls.append(url) - if not new_links: + if not self.urls: ignored_set = map(lambda s: s.lower().split('.')[0], set(self.getConfig("ignoredHoster").split('|'))) if 'multiupload' not in ignored_set: - new_links.append(ml_url) + self.urls.append(ml_url) for link in json_list: if link['service'].lower() not in ignored_set and int(link['status']) and not int(link['deleted']): url = self.getLocation(link['url']) if url: - new_links.append(url) + self.urls.append(url) - if new_links: - self.core.files.addLinks(new_links, pyfile.package().id) - else: + if not self.urls: self.fail('Could not extract any links') def getLocation(self, url): diff --git a/module/plugins/crypter/OneKhDe.py b/module/plugins/crypter/OneKhDe.py index b370df1f7..91c591ec1 100644 --- a/module/plugins/crypter/OneKhDe.py +++ b/module/plugins/crypter/OneKhDe.py @@ -31,10 +31,8 @@ class OneKhDe(Crypter): def proceed(self, url, location): url = self.parent.url self.html = self.req.load(url) - temp_links = [] link_ids = re.findall(r"<a id=\"DownloadLink_(\d*)\" href=\"http://1kh.de/", self.html) for id in link_ids: new_link = unescape( re.search("width=\"100%\" src=\"(.*)\"></iframe>", self.req.load("http://1kh.de/l/" + id)).group(1)) - temp_links.append(new_link) - self.links = temp_links + self.urls.append(new_link) diff --git a/module/plugins/crypter/QuickshareCzFolder.py b/module/plugins/crypter/QuickshareCzFolder.py index a8f97cf77..b8db5d88c 100644 --- a/module/plugins/crypter/QuickshareCzFolder.py +++ b/module/plugins/crypter/QuickshareCzFolder.py @@ -22,13 +22,10 @@ class QuickshareCzFolder(Crypter): def decrypt(self, pyfile): html = self.load(pyfile.url) - new_links = [] found = re.search(self.FOLDER_PATTERN, html, re.DOTALL) if not found: self.fail("Parse error (FOLDER)") - new_links.extend(re.findall(self.LINK_PATTERN, found.group(1))) + self.urls.extend(re.findall(self.LINK_PATTERN, found.group(1))) - if new_links: - self.core.files.addLinks(new_links, pyfile.package().id) - else: + if not self.urls: self.fail('Could not extract any links') diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index 5474ef3b6..160900144 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -94,10 +94,9 @@ class RelinkUs(Crypter): self.fileid = re.match(self.__pattern__, pyfile.url).group('id') self.package = pyfile.package() self.password = self.getPassword() - self.url = pyfile.url def requestPackage(self): - self.html = self.load(self.url, decode=True) + self.html = self.load(self.pyfile.url, decode=True) def isOnline(self): if self.OFFLINE_TOKEN in self.html: diff --git a/module/plugins/crypter/SafelinkingNet.py b/module/plugins/crypter/SafelinkingNet.py index 55f4c0ff6..2687ed2f2 100644 --- a/module/plugins/crypter/SafelinkingNet.py +++ b/module/plugins/crypter/SafelinkingNet.py @@ -30,13 +30,12 @@ class SafelinkingNet(Crypter): self.load(url) m = re.search("^Location: (.+)$", self.req.http.header, re.MULTILINE) if m: - self.core.files.addLinks([m.group(1)], pyfile.package().id) + self.urls = [m.group(1)] else: self.fail("Couldn't find forwarded Link") else: password = "" - packageLinks = [] postData = {"post-protect": "1"} self.html = self.load(url) @@ -76,8 +75,6 @@ class SafelinkingNet(Crypter): linkDict = json_loads(m.group(1)) for link in linkDict: if not "http://" in link['full']: - packageLinks.append("https://safelinking.net/d/" + link['full']) + self.urls.append("https://safelinking.net/d/" + link['full']) else: - packageLinks.append(link['full']) - - self.core.files.addLinks(packageLinks, pyfile.package().id) + self.urls.append(link['full']) diff --git a/module/plugins/crypter/UlozToFolder.py b/module/plugins/crypter/UlozToFolder.py index 6ba4b0819..f9ddd3c84 100644 --- a/module/plugins/crypter/UlozToFolder.py +++ b/module/plugins/crypter/UlozToFolder.py @@ -40,6 +40,6 @@ class UlozToFolder(Crypter): self.logInfo("Limit of 99 pages reached, aborting") if new_links: - self.core.files.addLinks(map(lambda s: "http://ulozto.net/%s" % s, new_links), pyfile.package().id) + self.urls = [map(lambda s: "http://ulozto.net/%s" % s, new_links)] else: self.fail('Could not extract any links') diff --git a/module/plugins/crypter/XupPl.py b/module/plugins/crypter/XupPl.py index 09c3084ea..e89f4ccb0 100644 --- a/module/plugins/crypter/XupPl.py +++ b/module/plugins/crypter/XupPl.py @@ -18,6 +18,6 @@ class XupPl(Crypter): def decrypt(self, pyfile): header = self.load(pyfile.url, just_header=True) if 'location' in header: - self.core.files.addLinks([header['location']], pyfile.package().id) + self.urls = [header['location']] else: self.fail('Unable to find link') -- cgit v1.2.3 From 05d258d98dd8c2faf0b769840fa1e3c4acccdce8 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sun, 20 Jul 2014 03:25:14 +0200 Subject: Fix and improve 5060e4c6374a5116d0d8b02528f910f8c5f8bcf9 --- module/plugins/crypter/CzshareComFolder.py | 2 +- module/plugins/crypter/DuckCryptInfo.py | 2 +- module/plugins/crypter/FileserveComFolder.py | 2 +- module/plugins/crypter/FreetexthostCom.py | 2 +- module/plugins/crypter/HoerbuchIn.py | 2 +- module/plugins/crypter/LetitbitNetFolder.py | 2 +- module/plugins/crypter/LixIn.py | 26 +++++++++++++------------- module/plugins/crypter/MultiloadCz.py | 2 +- module/plugins/crypter/NCryptIn.py | 14 +++++++------- module/plugins/crypter/QuickshareCzFolder.py | 2 +- module/plugins/crypter/ShareLinksBiz.py | 2 +- module/plugins/crypter/UlozToFolder.py | 2 +- module/plugins/crypter/YoutubeBatch.py | 6 +++--- 13 files changed, 33 insertions(+), 33 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/CzshareComFolder.py b/module/plugins/crypter/CzshareComFolder.py index e0c311ba8..76762b69b 100644 --- a/module/plugins/crypter/CzshareComFolder.py +++ b/module/plugins/crypter/CzshareComFolder.py @@ -23,7 +23,7 @@ class CzshareComFolder(Crypter): html = self.load(pyfile.url) found = re.search(self.FOLDER_PATTERN, html, re.DOTALL) - if not found: + if found is None: self.fail("Parse error (FOLDER)") self.urls.extend(re.findall(self.LINK_PATTERN, found.group(1))) diff --git a/module/plugins/crypter/DuckCryptInfo.py b/module/plugins/crypter/DuckCryptInfo.py index aa3a6d2a1..8203f0978 100644 --- a/module/plugins/crypter/DuckCryptInfo.py +++ b/module/plugins/crypter/DuckCryptInfo.py @@ -28,7 +28,7 @@ class DuckCryptInfo(Crypter): # self.logDebug("Sleeping for" % found.group(1)) # self.setWait(int(found.group(1)) ,False) found = re.match(self.__pattern__, url) - if not found: + if found is None: self.fail('Weird error in link') if str(found.group(1)) == "link": self.handleLink(url) diff --git a/module/plugins/crypter/FileserveComFolder.py b/module/plugins/crypter/FileserveComFolder.py index 28d89c75d..4a0d5a416 100644 --- a/module/plugins/crypter/FileserveComFolder.py +++ b/module/plugins/crypter/FileserveComFolder.py @@ -26,7 +26,7 @@ class FileserveComFolder(Crypter): new_links = [] folder = re.search(self.FOLDER_PATTERN, html, re.DOTALL) - if not folder: + if folder is None: self.fail("Parse error (FOLDER)") new_links.extend(re.findall(self.LINK_PATTERN, folder.group(1))) diff --git a/module/plugins/crypter/FreetexthostCom.py b/module/plugins/crypter/FreetexthostCom.py index d03805722..a6fb78d8e 100644 --- a/module/plugins/crypter/FreetexthostCom.py +++ b/module/plugins/crypter/FreetexthostCom.py @@ -33,7 +33,7 @@ class FreetexthostCom(SimpleCrypter): def getLinks(self): m = re.search(r'<div id="contentsinner">\s*(.+)<div class="viewcount">', self.html, re.DOTALL) - if not m: + if m is None: self.fail('Unable to extract links | Plugin may be out-of-date') links = m.group(1) return links.strip().split("<br />\r\n") diff --git a/module/plugins/crypter/HoerbuchIn.py b/module/plugins/crypter/HoerbuchIn.py index b46293bc7..88fc57244 100644 --- a/module/plugins/crypter/HoerbuchIn.py +++ b/module/plugins/crypter/HoerbuchIn.py @@ -39,7 +39,7 @@ class HoerbuchIn(Crypter): def decryptFolder(self, url): m = self.protection.search(url) - if not m: + if m is None: self.fail("Bad URL") url = m.group(0) diff --git a/module/plugins/crypter/LetitbitNetFolder.py b/module/plugins/crypter/LetitbitNetFolder.py index 19e780690..adb2918a6 100644 --- a/module/plugins/crypter/LetitbitNetFolder.py +++ b/module/plugins/crypter/LetitbitNetFolder.py @@ -23,7 +23,7 @@ class LetitbitNetFolder(Crypter): html = self.load(pyfile.url) folder = re.search(self.FOLDER_PATTERN, html, re.DOTALL) - if not folder: + if folder is None: self.fail("Parse error (FOLDER)") self.urls.extend(re.findall(self.LINK_PATTERN, folder.group(0))) diff --git a/module/plugins/crypter/LixIn.py b/module/plugins/crypter/LixIn.py index e609c9da4..a39173903 100644 --- a/module/plugins/crypter/LixIn.py +++ b/module/plugins/crypter/LixIn.py @@ -24,26 +24,26 @@ class LixIn(Crypter): def decrypt(self, pyfile): url = pyfile.url - matches = re.match(self.__pattern__, url) - if not matches: + m = re.match(self.__pattern__, url) + if m is None: self.fail("couldn't identify file id") - id = matches.group("id") + id = m.group("id") self.logDebug("File id is %s" % id) self.html = self.req.load(url, decode=True) - matches = re.search(self.SUBMIT_PATTERN, self.html) - if not matches: + m = re.search(self.SUBMIT_PATTERN, self.html) + if m is None: self.fail("link doesn't seem valid") - matches = re.search(self.CAPTCHA_PATTERN, self.html) - if matches: + m = re.search(self.CAPTCHA_PATTERN, self.html) + if m: for _ in xrange(5): - matches = re.search(self.CAPTCHA_PATTERN, self.html) - if matches: + m = re.search(self.CAPTCHA_PATTERN, self.html) + if m: self.logDebug("trying captcha") - captcharesult = self.decryptCaptcha("http://lix.in/" + matches.group("image")) + captcharesult = self.decryptCaptcha("http://lix.in/" + m.group("image")) self.html = self.req.load(url, decode=True, post={"capt": captcharesult, "submit": "submit", "tiny": id}) else: @@ -51,9 +51,9 @@ class LixIn(Crypter): else: self.html = self.req.load(url, decode=True, post={"submit": "submit", "tiny": id}) - matches = re.search(self.LINK_PATTERN, self.html) - if not matches: + m = re.search(self.LINK_PATTERN, self.html) + if m is None: self.fail("can't find destination url") else: - self.urls = [matches.group("link")] + self.urls = [m.group("link")] self.logDebug("Found link %s, adding to package" % self.urls[0]) diff --git a/module/plugins/crypter/MultiloadCz.py b/module/plugins/crypter/MultiloadCz.py index 0d5fa4c94..f93681be9 100644 --- a/module/plugins/crypter/MultiloadCz.py +++ b/module/plugins/crypter/MultiloadCz.py @@ -26,7 +26,7 @@ class MultiloadCz(Crypter): if re.match(self.__pattern__, pyfile.url).group(1) == "slozka": found = re.search(self.FOLDER_PATTERN, self.html) - if found is not None: + if found: self.urls.extend(found.group(1).split()) else: found = re.findall(self.LINK_PATTERN, self.html) diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index dc2f29519..f9953b994 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -100,20 +100,20 @@ class NCryptIn(Crypter): return True def isProtected(self): - form_match = re.search(r'<form.*?name.*?protected.*?>(.*?)</form>', self.cleanedHtml, re.DOTALL) - if form_match: - form_content = form_match.group(1) + form = re.search(r'<form.*?name.*?protected.*?>(.*?)</form>', self.cleanedHtml, re.DOTALL) + if form is not None: + content = form.group(1) for keyword in ("password", "captcha"): - if keyword in form_content: + if keyword in content: self.protection_type = keyword self.logDebug("Links are %s protected" % self.protection_type) return True return False def getPackageInfo(self): - m = re.search(self.NAME_PATTERN, self.html) - if m: - name = folder = m.group('N').strip() + found = re.search(self.NAME_PATTERN, self.html) + if found: + name = folder = found.group('N').strip() self.logDebug("Found name [%s] and folder [%s] in package info" % (name, folder)) else: name = self.package.name diff --git a/module/plugins/crypter/QuickshareCzFolder.py b/module/plugins/crypter/QuickshareCzFolder.py index b8db5d88c..e138b6f17 100644 --- a/module/plugins/crypter/QuickshareCzFolder.py +++ b/module/plugins/crypter/QuickshareCzFolder.py @@ -23,7 +23,7 @@ class QuickshareCzFolder(Crypter): html = self.load(pyfile.url) found = re.search(self.FOLDER_PATTERN, html, re.DOTALL) - if not found: + if found is None: self.fail("Parse error (FOLDER)") self.urls.extend(re.findall(self.LINK_PATTERN, found.group(1))) diff --git a/module/plugins/crypter/ShareLinksBiz.py b/module/plugins/crypter/ShareLinksBiz.py index 13327dd2b..b56f90e15 100644 --- a/module/plugins/crypter/ShareLinksBiz.py +++ b/module/plugins/crypter/ShareLinksBiz.py @@ -113,7 +113,7 @@ class ShareLinksBiz(Crypter): # Resolve captcha href = self._resolveCoords(coords, captchaMap) - if not href: + if href is None: self.logDebug("Invalid captcha resolving, retrying") self.invalidCaptcha() self.setWait(5, False) diff --git a/module/plugins/crypter/UlozToFolder.py b/module/plugins/crypter/UlozToFolder.py index f9ddd3c84..43dbb4807 100644 --- a/module/plugins/crypter/UlozToFolder.py +++ b/module/plugins/crypter/UlozToFolder.py @@ -27,7 +27,7 @@ class UlozToFolder(Crypter): for i in xrange(1, 100): self.logInfo("Fetching links from page %i" % i) found = re.search(self.FOLDER_PATTERN, html, re.DOTALL) - if not found: + if found is None: self.fail("Parse error (FOLDER)") new_links.extend(re.findall(self.LINK_PATTERN, found.group(1))) diff --git a/module/plugins/crypter/YoutubeBatch.py b/module/plugins/crypter/YoutubeBatch.py index dfac9140f..216fbb670 100644 --- a/module/plugins/crypter/YoutubeBatch.py +++ b/module/plugins/crypter/YoutubeBatch.py @@ -100,9 +100,9 @@ class YoutubeBatch(Crypter): return list(self._getVideosId(p_id)) def decrypt(self, pyfile): - match = re.match(self.__pattern__, pyfile.url) - m_id = match.group("ID") - m_type = match.group("TYPE") + m = re.match(self.__pattern__, pyfile.url) + m_id = m.group("ID") + m_type = m.group("TYPE") if m_type == "user": self.logDebug("Url recognized as Channel") -- cgit v1.2.3 From 9395182da7afed55a29bde1c7cbefe4204e783f0 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sun, 20 Jul 2014 03:02:09 +0200 Subject: Store all re.search/match object as "m" instead "found" --- module/plugins/crypter/CzshareComFolder.py | 6 +++--- module/plugins/crypter/DuckCryptInfo.py | 30 ++++++++++++++-------------- module/plugins/crypter/EmbeduploadCom.py | 8 ++++---- module/plugins/crypter/LinkdecrypterCom.py | 18 ++++++++--------- module/plugins/crypter/MediafireComFolder.py | 12 +++++------ module/plugins/crypter/MultiloadCz.py | 14 ++++++------- module/plugins/crypter/MultiuploadCom.py | 4 ++-- module/plugins/crypter/NCryptIn.py | 10 +++++----- module/plugins/crypter/QuickshareCzFolder.py | 6 +++--- module/plugins/crypter/UlozToFolder.py | 12 +++++------ 10 files changed, 60 insertions(+), 60 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/CzshareComFolder.py b/module/plugins/crypter/CzshareComFolder.py index 76762b69b..b305575a2 100644 --- a/module/plugins/crypter/CzshareComFolder.py +++ b/module/plugins/crypter/CzshareComFolder.py @@ -22,10 +22,10 @@ class CzshareComFolder(Crypter): def decrypt(self, pyfile): html = self.load(pyfile.url) - found = re.search(self.FOLDER_PATTERN, html, re.DOTALL) - if found is None: + m = re.search(self.FOLDER_PATTERN, html, re.DOTALL) + if m is None: self.fail("Parse error (FOLDER)") - self.urls.extend(re.findall(self.LINK_PATTERN, found.group(1))) + self.urls.extend(re.findall(self.LINK_PATTERN, m.group(1))) if not self.urls: self.fail('Could not extract any links') diff --git a/module/plugins/crypter/DuckCryptInfo.py b/module/plugins/crypter/DuckCryptInfo.py index 8203f0978..7e13a62f0 100644 --- a/module/plugins/crypter/DuckCryptInfo.py +++ b/module/plugins/crypter/DuckCryptInfo.py @@ -23,28 +23,28 @@ class DuckCryptInfo(Crypter): url = pyfile.url # seems we don't need to wait #src = self.req.load(str(url)) - #found = re.search(self.TIMER_PATTERN, src) - #if found: - # self.logDebug("Sleeping for" % found.group(1)) - # self.setWait(int(found.group(1)) ,False) - found = re.match(self.__pattern__, url) - if found is None: + #m = re.search(self.TIMER_PATTERN, src) + #if m: + # self.logDebug("Sleeping for" % m.group(1)) + # self.setWait(int(m.group(1)) ,False) + m = re.match(self.__pattern__, url) + if m is None: self.fail('Weird error in link') - if str(found.group(1)) == "link": + if str(m.group(1)) == "link": self.handleLink(url) else: - self.handleFolder(found) + self.handleFolder(m) - def handleFolder(self, found): - src = self.load("http://duckcrypt.info/ajax/auth.php?hash=" + str(found.group(2))) - found = re.match(self.__pattern__, src) - self.logDebug("Redirectet to " + str(found.group(0))) - src = self.load(str(found.group(0))) + def handleFolder(self, m): + src = self.load("http://duckcrypt.info/ajax/auth.php?hash=" + str(m.group(2))) + m = re.match(self.__pattern__, src) + self.logDebug("Redirectet to " + str(m.group(0))) + src = self.load(str(m.group(0))) soup = BeautifulSoup(src) cryptlinks = soup.findAll("div", attrs={"class": "folderbox"}) self.logDebug("Redirectet to " + str(cryptlinks)) if not cryptlinks: - self.fail('no links found - (Plugin out of date?)') + self.fail('no links m - (Plugin out of date?)') for clink in cryptlinks: if clink.find("a"): self.handleLink(clink.find("a")['href']) @@ -54,4 +54,4 @@ class DuckCryptInfo(Crypter): soup = BeautifulSoup(src) self.urls = [soup.find("iframe")["src"]] if not self.urls: - self.logDebug('no links found - (Plugin out of date?)') + self.logDebug('no links m - (Plugin out of date?)') diff --git a/module/plugins/crypter/EmbeduploadCom.py b/module/plugins/crypter/EmbeduploadCom.py index 823e3f25f..052f5ca84 100644 --- a/module/plugins/crypter/EmbeduploadCom.py +++ b/module/plugins/crypter/EmbeduploadCom.py @@ -25,19 +25,19 @@ class EmbeduploadCom(Crypter): self.html = self.load(pyfile.url, decode=True) tmp_links = [] - found = re.findall(self.LINK_PATTERN, self.html) - if found: + m = re.findall(self.LINK_PATTERN, self.html) + if m: prefered_set = set(self.getConfig("preferedHoster").split('|')) prefered_set = map(lambda s: s.lower().split('.')[0], prefered_set) print "PF", prefered_set - tmp_links.extend([x[1] for x in found if x[0] in prefered_set]) + tmp_links.extend([x[1] for x in m if x[0] in prefered_set]) self.urls = self.getLocation(tmp_links) if not self.urls: ignored_set = set(self.getConfig("ignoredHoster").split('|')) ignored_set = map(lambda s: s.lower().split('.')[0], ignored_set) print "IG", ignored_set - tmp_links.extend([x[1] for x in found if x[0] not in ignored_set]) + tmp_links.extend([x[1] for x in m if x[0] not in ignored_set]) self.urls = self.getLocation(tmp_links) if not self.urls: diff --git a/module/plugins/crypter/LinkdecrypterCom.py b/module/plugins/crypter/LinkdecrypterCom.py index 31c4d36b7..2671c19c6 100644 --- a/module/plugins/crypter/LinkdecrypterCom.py +++ b/module/plugins/crypter/LinkdecrypterCom.py @@ -72,17 +72,17 @@ class LinkdecrypterCom(Crypter): self.html = self.load('http://linkdecrypter.com/', post=post_dict, cookies=True, decode=True) while self.passwords or retries: - found = re.search(self.TEXTAREA_PATTERN, self.html, flags=re.DOTALL) - if found: - return [x for x in found.group(1).splitlines() if '[LINK-ERROR]' not in x] + m = re.search(self.TEXTAREA_PATTERN, self.html, flags=re.DOTALL) + if m: + return [x for x in m.group(1).splitlines() if '[LINK-ERROR]' not in x] - found = re.search(self.CAPTCHA_PATTERN, self.html) - if found: - captcha_url = 'http://linkdecrypter.com/' + found.group(1) - result_type = "positional" if "getPos" in found.group(2) else "textual" + m = re.search(self.CAPTCHA_PATTERN, self.html) + if m: + captcha_url = 'http://linkdecrypter.com/' + m.group(1) + result_type = "positional" if "getPos" in m.group(2) else "textual" - found = re.search(r"<p><i><b>([^<]+)</b></i></p>", self.html) - msg = found.group(1) if found else "" + m = re.search(r"<p><i><b>([^<]+)</b></i></p>", self.html) + msg = m.group(1) if m else "" self.logInfo("Captcha protected link", result_type, msg) captcha = self.decryptCaptcha(captcha_url, result_type=result_type) diff --git a/module/plugins/crypter/MediafireComFolder.py b/module/plugins/crypter/MediafireComFolder.py index 5f1b9ad1b..5dd4e555b 100644 --- a/module/plugins/crypter/MediafireComFolder.py +++ b/module/plugins/crypter/MediafireComFolder.py @@ -28,15 +28,15 @@ class MediafireComFolder(Crypter): if result == 0: # load and parse html html = self.load(pyfile.url) - found = re.search(self.FILE_URL_PATTERN, html) - if found: + m = re.search(self.FILE_URL_PATTERN, html) + if m: # file page - self.urls.append("http://www.mediafire.com/file/%s" % found.group(1)) + self.urls.append("http://www.mediafire.com/file/%s" % m.group(1)) else: # folder page - found = re.search(self.FOLDER_KEY_PATTERN, html) - if found: - folder_key = found.group(1) + m = re.search(self.FOLDER_KEY_PATTERN, html) + if m: + folder_key = m.group(1) self.logDebug("FOLDER KEY: %s" % folder_key) json_resp = json_loads(self.load( diff --git a/module/plugins/crypter/MultiloadCz.py b/module/plugins/crypter/MultiloadCz.py index f93681be9..4b39872a7 100644 --- a/module/plugins/crypter/MultiloadCz.py +++ b/module/plugins/crypter/MultiloadCz.py @@ -25,18 +25,18 @@ class MultiloadCz(Crypter): self.html = self.load(pyfile.url, decode=True) if re.match(self.__pattern__, pyfile.url).group(1) == "slozka": - found = re.search(self.FOLDER_PATTERN, self.html) - if found: - self.urls.extend(found.group(1).split()) + m = re.search(self.FOLDER_PATTERN, self.html) + if m: + self.urls.extend(m.group(1).split()) else: - found = re.findall(self.LINK_PATTERN, self.html) - if found: + m = re.findall(self.LINK_PATTERN, self.html) + if m: prefered_set = set(self.getConfig("usedHoster").split('|')) - self.urls.extend([x[1] for x in found if x[0] in prefered_set]) + self.urls.extend([x[1] for x in m if x[0] in prefered_set]) if not self.urls: ignored_set = set(self.getConfig("ignoredHoster").split('|')) - self.urls.extend([x[1] for x in found if x[0] not in ignored_set]) + self.urls.extend([x[1] for x in m if x[0] not in ignored_set]) if not self.urls: self.fail('Could not extract any links') diff --git a/module/plugins/crypter/MultiuploadCom.py b/module/plugins/crypter/MultiuploadCom.py index 84d8d0830..f5c0e292b 100644 --- a/module/plugins/crypter/MultiuploadCom.py +++ b/module/plugins/crypter/MultiuploadCom.py @@ -25,8 +25,8 @@ class MultiuploadCom(Crypter): def decrypt(self, pyfile): self.html = self.load(pyfile.url) - found = re.search(self.ML_LINK_PATTERN, self.html) - ml_url = found.group(1) if found else None + m = re.search(self.ML_LINK_PATTERN, self.html) + ml_url = m.group(1) if m else None json_list = json_loads(self.load("http://multiupload.com/progress/", get={ "d": re.match(self.__pattern__, pyfile.url).group(1), diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index f9953b994..9a9d76f51 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -95,7 +95,7 @@ class NCryptIn(Crypter): def isOnline(self): if "Your folder does not exist" in self.cleanedHtml: - self.logDebug("File not found") + self.logDebug("File not m") return False return True @@ -111,14 +111,14 @@ class NCryptIn(Crypter): return False def getPackageInfo(self): - found = re.search(self.NAME_PATTERN, self.html) - if found: - name = folder = found.group('N').strip() + m = re.search(self.NAME_PATTERN, self.html) + if m: + name = folder = m.group('N').strip() self.logDebug("Found name [%s] and folder [%s] in package info" % (name, folder)) else: name = self.package.name folder = self.package.folder - self.logDebug("Package info not found, defaulting to pyfile name [%s] and folder [%s]" % (name, folder)) + self.logDebug("Package info not m, defaulting to pyfile name [%s] and folder [%s]" % (name, folder)) return name, folder def unlockProtection(self): diff --git a/module/plugins/crypter/QuickshareCzFolder.py b/module/plugins/crypter/QuickshareCzFolder.py index e138b6f17..1e569a20a 100644 --- a/module/plugins/crypter/QuickshareCzFolder.py +++ b/module/plugins/crypter/QuickshareCzFolder.py @@ -22,10 +22,10 @@ class QuickshareCzFolder(Crypter): def decrypt(self, pyfile): html = self.load(pyfile.url) - found = re.search(self.FOLDER_PATTERN, html, re.DOTALL) - if found is None: + m = re.search(self.FOLDER_PATTERN, html, re.DOTALL) + if m is None: self.fail("Parse error (FOLDER)") - self.urls.extend(re.findall(self.LINK_PATTERN, found.group(1))) + self.urls.extend(re.findall(self.LINK_PATTERN, m.group(1))) if not self.urls: self.fail('Could not extract any links') diff --git a/module/plugins/crypter/UlozToFolder.py b/module/plugins/crypter/UlozToFolder.py index 43dbb4807..dfa1bb8c4 100644 --- a/module/plugins/crypter/UlozToFolder.py +++ b/module/plugins/crypter/UlozToFolder.py @@ -26,14 +26,14 @@ class UlozToFolder(Crypter): new_links = [] for i in xrange(1, 100): self.logInfo("Fetching links from page %i" % i) - found = re.search(self.FOLDER_PATTERN, html, re.DOTALL) - if found is None: + m = re.search(self.FOLDER_PATTERN, html, re.DOTALL) + if m is None: self.fail("Parse error (FOLDER)") - new_links.extend(re.findall(self.LINK_PATTERN, found.group(1))) - found = re.search(self.NEXT_PAGE_PATTERN, html) - if found: - html = self.load("http://ulozto.net/" + found.group(1)) + new_links.extend(re.findall(self.LINK_PATTERN, m.group(1))) + m = re.search(self.NEXT_PAGE_PATTERN, html) + if m: + html = self.load("http://ulozto.net/" + m.group(1)) else: break else: -- cgit v1.2.3 From a1495eb2f9502fdf29974458845f928025bedf53 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 26 Jul 2014 02:36:15 +0200 Subject: Prefer single quote for dict key --- module/plugins/crypter/DuckCryptInfo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/DuckCryptInfo.py b/module/plugins/crypter/DuckCryptInfo.py index 7e13a62f0..456c13606 100644 --- a/module/plugins/crypter/DuckCryptInfo.py +++ b/module/plugins/crypter/DuckCryptInfo.py @@ -52,6 +52,6 @@ class DuckCryptInfo(Crypter): def handleLink(self, url): src = self.load(url) soup = BeautifulSoup(src) - self.urls = [soup.find("iframe")["src"]] + self.urls = [soup.find("iframe")['src']] if not self.urls: self.logDebug('no links m - (Plugin out of date?)') -- cgit v1.2.3 From ba916633f2bedb04c7358000b91aed69f52e8e43 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Fri, 1 Aug 2014 19:35:59 +0200 Subject: Remove trailing whitespaces + remove license headers + import urllib methods directly + sort and fix key attributes + use save_join instead join + sort some import declarations + other minor code cosmetics --- module/plugins/crypter/BitshareComFolder.py | 16 +--------------- module/plugins/crypter/C1neonCom.py | 2 +- module/plugins/crypter/ChipDe.py | 2 +- module/plugins/crypter/CrockoComFolder.py | 2 +- module/plugins/crypter/CryptItCom.py | 2 +- module/plugins/crypter/CzshareComFolder.py | 2 +- module/plugins/crypter/DDLMusicOrg.py | 2 +- module/plugins/crypter/DailymotionBatch.py | 18 ++---------------- module/plugins/crypter/DataHuFolder.py | 16 +--------------- module/plugins/crypter/DdlstorageComFolder.py | 16 +--------------- module/plugins/crypter/DepositfilesComFolder.py | 2 +- module/plugins/crypter/Dereferer.py | 22 ++++------------------ module/plugins/crypter/DlProtectCom.py | 16 +--------------- module/plugins/crypter/DontKnowMe.py | 7 ++++--- module/plugins/crypter/DuckCryptInfo.py | 4 +++- module/plugins/crypter/DuploadOrgFolder.py | 16 +--------------- module/plugins/crypter/EasybytezComFolder.py | 16 +--------------- module/plugins/crypter/EmbeduploadCom.py | 2 +- module/plugins/crypter/FilebeerInfoFolder.py | 2 +- module/plugins/crypter/FilecloudIoFolder.py | 16 +--------------- module/plugins/crypter/FilefactoryComFolder.py | 2 +- module/plugins/crypter/FilerNetFolder.py | 2 +- module/plugins/crypter/FileserveComFolder.py | 2 +- module/plugins/crypter/FilestubeCom.py | 16 +--------------- module/plugins/crypter/FiletramCom.py | 16 +--------------- module/plugins/crypter/FiredriveComFolder.py | 16 +--------------- module/plugins/crypter/FourChanOrg.py | 6 +++--- module/plugins/crypter/FreakhareComFolder.py | 16 +--------------- module/plugins/crypter/FreetexthostCom.py | 16 +--------------- module/plugins/crypter/FshareVnFolder.py | 2 +- module/plugins/crypter/GooGl.py | 16 +--------------- module/plugins/crypter/HoerbuchIn.py | 5 +++-- module/plugins/crypter/HotfileFolderCom.py | 2 +- module/plugins/crypter/ILoadTo.py | 2 +- module/plugins/crypter/ImgurComAlbum.py | 2 +- module/plugins/crypter/LetitbitNetFolder.py | 2 +- module/plugins/crypter/LinkSaveIn.py | 5 +---- module/plugins/crypter/LinkdecrypterCom.py | 17 +---------------- module/plugins/crypter/LixIn.py | 2 +- module/plugins/crypter/LofCc.py | 2 +- module/plugins/crypter/MBLinkInfo.py | 2 +- module/plugins/crypter/MediafireComFolder.py | 4 ++-- module/plugins/crypter/Movie2kTo.py | 2 +- module/plugins/crypter/MultiUpOrg.py | 17 +---------------- module/plugins/crypter/MultiloadCz.py | 2 +- module/plugins/crypter/MultiuploadCom.py | 2 +- module/plugins/crypter/NCryptIn.py | 6 +++--- module/plugins/crypter/NetfolderIn.py | 6 +++--- module/plugins/crypter/NosvideoCom.py | 2 +- module/plugins/crypter/OneKhDe.py | 2 +- module/plugins/crypter/OronComFolder.py | 2 +- module/plugins/crypter/PastebinCom.py | 16 +--------------- module/plugins/crypter/QuickshareCzFolder.py | 2 +- module/plugins/crypter/RSLayerCom.py | 2 +- module/plugins/crypter/RelinkUs.py | 8 ++++---- module/plugins/crypter/SafelinkingNet.py | 6 ++++-- module/plugins/crypter/SecuredIn.py | 2 +- module/plugins/crypter/SerienjunkiesOrg.py | 3 ++- module/plugins/crypter/ShareLinksBiz.py | 2 +- module/plugins/crypter/ShareRapidComFolder.py | 2 +- module/plugins/crypter/SpeedLoadOrgFolder.py | 16 +--------------- module/plugins/crypter/StealthTo.py | 2 +- module/plugins/crypter/TnyCz.py | 17 +---------------- module/plugins/crypter/TrailerzoneInfo.py | 2 +- module/plugins/crypter/TurbobitNetFolder.py | 16 +--------------- module/plugins/crypter/TusfilesNetFolder.py | 16 +--------------- module/plugins/crypter/UlozToFolder.py | 2 +- module/plugins/crypter/UploadedToFolder.py | 16 +--------------- module/plugins/crypter/WiiReloadedOrg.py | 2 +- module/plugins/crypter/XupPl.py | 2 +- module/plugins/crypter/YoutubeBatch.py | 17 +---------------- 71 files changed, 96 insertions(+), 432 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/BitshareComFolder.py b/module/plugins/crypter/BitshareComFolder.py index 2afe990df..219dabce8 100644 --- a/module/plugins/crypter/BitshareComFolder.py +++ b/module/plugins/crypter/BitshareComFolder.py @@ -1,26 +1,12 @@ # -*- 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/>. # -############################################################################ from module.plugins.internal.SimpleCrypter import SimpleCrypter class BitshareComFolder(SimpleCrypter): __name__ = "BitshareComFolder" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?bitshare\.com/\?d=\w+' diff --git a/module/plugins/crypter/C1neonCom.py b/module/plugins/crypter/C1neonCom.py index fc1188a11..829ed63d6 100644 --- a/module/plugins/crypter/C1neonCom.py +++ b/module/plugins/crypter/C1neonCom.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class C1neonCom(DeadCrypter): __name__ = "C1neonCom" - __version__ = "0.05" __type__ = "crypter" + __version__ = "0.05" __pattern__ = r'http://(?:www\.)?c1neon.com/.*?' diff --git a/module/plugins/crypter/ChipDe.py b/module/plugins/crypter/ChipDe.py index f59903170..a75cc5e0e 100644 --- a/module/plugins/crypter/ChipDe.py +++ b/module/plugins/crypter/ChipDe.py @@ -6,8 +6,8 @@ from module.plugins.Crypter import Crypter class ChipDe(Crypter): __name__ = "ChipDe" - __version__ = "0.1" __type__ = "crypter" + __version__ = "0.1" __pattern__ = r'http://(?:www\.)?chip.de/video/.*\.html' diff --git a/module/plugins/crypter/CrockoComFolder.py b/module/plugins/crypter/CrockoComFolder.py index 8215e23c4..56abeac29 100644 --- a/module/plugins/crypter/CrockoComFolder.py +++ b/module/plugins/crypter/CrockoComFolder.py @@ -5,8 +5,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class CrockoComFolder(SimpleCrypter): __name__ = "CrockoComFolder" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?crocko.com/f/.*' diff --git a/module/plugins/crypter/CryptItCom.py b/module/plugins/crypter/CryptItCom.py index 331ddd5c8..66c5e7ca7 100644 --- a/module/plugins/crypter/CryptItCom.py +++ b/module/plugins/crypter/CryptItCom.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class CryptItCom(DeadCrypter): __name__ = "CryptItCom" - __version__ = "0.11" __type__ = "crypter" + __version__ = "0.11" __pattern__ = r'http://(?:www\.)?crypt-it\.com/(s|e|d|c)/[\w]+' diff --git a/module/plugins/crypter/CzshareComFolder.py b/module/plugins/crypter/CzshareComFolder.py index b305575a2..64affc867 100644 --- a/module/plugins/crypter/CzshareComFolder.py +++ b/module/plugins/crypter/CzshareComFolder.py @@ -6,8 +6,8 @@ from module.plugins.Crypter import Crypter class CzshareComFolder(Crypter): __name__ = "CzshareComFolder" - __version__ = "0.2" __type__ = "crypter" + __version__ = "0.2" __pattern__ = r'http://(?:www\.)?(czshare|sdilej)\.(com|cz)/folders/.*' diff --git a/module/plugins/crypter/DDLMusicOrg.py b/module/plugins/crypter/DDLMusicOrg.py index c80ec471e..f5e7203d3 100644 --- a/module/plugins/crypter/DDLMusicOrg.py +++ b/module/plugins/crypter/DDLMusicOrg.py @@ -9,8 +9,8 @@ from module.plugins.Crypter import Crypter class DDLMusicOrg(Crypter): __name__ = "DDLMusicOrg" - __version__ = "0.3" __type__ = "crypter" + __version__ = "0.3" __pattern__ = r'http://(?:www\.)?ddl-music\.org/captcha/ddlm_cr\d\.php\?\d+\?\d+' diff --git a/module/plugins/crypter/DailymotionBatch.py b/module/plugins/crypter/DailymotionBatch.py index c86c966d8..e43d4e1fd 100644 --- a/module/plugins/crypter/DailymotionBatch.py +++ b/module/plugins/crypter/DailymotionBatch.py @@ -1,22 +1,8 @@ # -*- coding: utf-8 -*- -""" - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, see <http://www.gnu.org/licenses/>. -""" +import re from urlparse import urljoin -import re from module.common.json_layer import json_loads from module.plugins.Crypter import Crypter @@ -25,8 +11,8 @@ from module.utils import save_join class DailymotionBatch(Crypter): __name__ = "DailymotionBatch" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'https?://(?:www\.)?dailymotion\.com/((playlists/)?(?P<TYPE>playlist|user)/)?(?P<ID>[\w^_]+)(?(TYPE)|#)' diff --git a/module/plugins/crypter/DataHuFolder.py b/module/plugins/crypter/DataHuFolder.py index 553936b1a..4f6116100 100644 --- a/module/plugins/crypter/DataHuFolder.py +++ b/module/plugins/crypter/DataHuFolder.py @@ -1,18 +1,4 @@ # -*- 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 re @@ -21,8 +7,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DataHuFolder(SimpleCrypter): __name__ = "DataHuFolder" - __version__ = "0.03" __type__ = "crypter" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?data.hu/dir/\w+' diff --git a/module/plugins/crypter/DdlstorageComFolder.py b/module/plugins/crypter/DdlstorageComFolder.py index 4c79407e4..70a7312be 100644 --- a/module/plugins/crypter/DdlstorageComFolder.py +++ b/module/plugins/crypter/DdlstorageComFolder.py @@ -1,26 +1,12 @@ # -*- 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/>. # -############################################################################ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DdlstorageComFolder(SimpleCrypter): __name__ = "DdlstorageComFolder" - __version__ = "0.02" __type__ = "crypter" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?ddlstorage.com/folder/\w{10}' diff --git a/module/plugins/crypter/DepositfilesComFolder.py b/module/plugins/crypter/DepositfilesComFolder.py index bb08b627b..b7c273f0b 100644 --- a/module/plugins/crypter/DepositfilesComFolder.py +++ b/module/plugins/crypter/DepositfilesComFolder.py @@ -5,8 +5,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DepositfilesComFolder(SimpleCrypter): __name__ = "DepositfilesComFolder" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?depositfiles.com/folders/\w+' diff --git a/module/plugins/crypter/Dereferer.py b/module/plugins/crypter/Dereferer.py index 405893560..21529ddfd 100644 --- a/module/plugins/crypter/Dereferer.py +++ b/module/plugins/crypter/Dereferer.py @@ -1,30 +1,16 @@ # -*- coding: utf-8 -*- -""" - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, see <http://www.gnu.org/licenses/>. -""" - import re -import urllib + +from urllib import unquote from module.plugins.Crypter import Crypter class Dereferer(Crypter): __name__ = "Dereferer" - __version__ = "0.1" __type__ = "crypter" + __version__ = "0.1" __pattern__ = r'https?://([^/]+)/.*?(?P<url>(ht|f)tps?(://|%3A%2F%2F).*)' @@ -35,4 +21,4 @@ class Dereferer(Crypter): def decrypt(self, pyfile): link = re.match(self.__pattern__, pyfile.url).group('url') - self.urls = [urllib.unquote(link).rstrip('+')] + self.urls = [unquote(link).rstrip('+')] diff --git a/module/plugins/crypter/DlProtectCom.py b/module/plugins/crypter/DlProtectCom.py index 6bd6bc5b5..4c958437a 100644 --- a/module/plugins/crypter/DlProtectCom.py +++ b/module/plugins/crypter/DlProtectCom.py @@ -1,18 +1,4 @@ # -*- 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 re @@ -24,8 +10,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DlProtectCom(SimpleCrypter): __name__ = "DlProtectCom" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?dl-protect\.com/((en|fr)/)?(?P<ID>\w+)' diff --git a/module/plugins/crypter/DontKnowMe.py b/module/plugins/crypter/DontKnowMe.py index dac385e7c..23fbb8d52 100644 --- a/module/plugins/crypter/DontKnowMe.py +++ b/module/plugins/crypter/DontKnowMe.py @@ -1,15 +1,16 @@ # -*- coding: utf-8 -*- import re -import urllib + +from urllib import unquote from module.plugins.Crypter import Crypter class DontKnowMe(Crypter): __name__ = "DontKnowMe" - __version__ = "0.1" __type__ = "crypter" + __version__ = "0.1" __pattern__ = r'http://(?:www\.)?dontknow.me/at/\?.+$' @@ -22,4 +23,4 @@ class DontKnowMe(Crypter): def decrypt(self, pyfile): link = re.findall(self.LINK_PATTERN, pyfile.url)[0] - self.urls = [urllib.unquote(link)] + self.urls = [unquote(link)] diff --git a/module/plugins/crypter/DuckCryptInfo.py b/module/plugins/crypter/DuckCryptInfo.py index 456c13606..e7a5a59e9 100644 --- a/module/plugins/crypter/DuckCryptInfo.py +++ b/module/plugins/crypter/DuckCryptInfo.py @@ -1,14 +1,16 @@ # -*- coding: utf-8 -*- import re + from module.lib.BeautifulSoup import BeautifulSoup + from module.plugins.Crypter import Crypter class DuckCryptInfo(Crypter): __name__ = "DuckCryptInfo" - __version__ = "0.02" __type__ = "crypter" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?duckcrypt.info/(folder|wait|link)/(\w+)/?(\w*)' diff --git a/module/plugins/crypter/DuploadOrgFolder.py b/module/plugins/crypter/DuploadOrgFolder.py index f2b8da2bd..6f764f687 100644 --- a/module/plugins/crypter/DuploadOrgFolder.py +++ b/module/plugins/crypter/DuploadOrgFolder.py @@ -1,26 +1,12 @@ # -*- 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/>. # -############################################################################ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DuploadOrgFolder(SimpleCrypter): __name__ = "DuploadOrgFolder" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?dupload\.org/folder/\d+/' diff --git a/module/plugins/crypter/EasybytezComFolder.py b/module/plugins/crypter/EasybytezComFolder.py index 7c78b7946..7832bef5f 100644 --- a/module/plugins/crypter/EasybytezComFolder.py +++ b/module/plugins/crypter/EasybytezComFolder.py @@ -1,26 +1,12 @@ # -*- 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/>. # -############################################################################ from module.plugins.internal.SimpleCrypter import SimpleCrypter class EasybytezComFolder(SimpleCrypter): __name__ = "EasybytezComFolder" - __version__ = "0.06" __type__ = "crypter" + __version__ = "0.06" __pattern__ = r'http://(?:www\.)?easybytez\.com/users/(?P<ID>\d+/\d+)' diff --git a/module/plugins/crypter/EmbeduploadCom.py b/module/plugins/crypter/EmbeduploadCom.py index 052f5ca84..6b876ed7f 100644 --- a/module/plugins/crypter/EmbeduploadCom.py +++ b/module/plugins/crypter/EmbeduploadCom.py @@ -7,8 +7,8 @@ from module.network.HTTPRequest import BadHeader class EmbeduploadCom(Crypter): __name__ = "EmbeduploadCom" - __version__ = "0.02" __type__ = "crypter" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?embedupload.com/\?d=.*' __config__ = [("preferedHoster", "str", "Prefered hoster list (bar-separated) ", "embedupload"), diff --git a/module/plugins/crypter/FilebeerInfoFolder.py b/module/plugins/crypter/FilebeerInfoFolder.py index 7a7528066..0743dcb0f 100644 --- a/module/plugins/crypter/FilebeerInfoFolder.py +++ b/module/plugins/crypter/FilebeerInfoFolder.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class FilebeerInfoFolder(DeadCrypter): __name__ = "FilebeerInfoFolder" - __version__ = "0.02" __type__ = "crypter" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?filebeer\.info/(\d+~f).*' diff --git a/module/plugins/crypter/FilecloudIoFolder.py b/module/plugins/crypter/FilecloudIoFolder.py index d3df7c469..9ec950061 100644 --- a/module/plugins/crypter/FilecloudIoFolder.py +++ b/module/plugins/crypter/FilecloudIoFolder.py @@ -1,26 +1,12 @@ # -*- 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/>. -############################################################################### from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilecloudIoFolder(SimpleCrypter): __name__ = "FilecloudIoFolder" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'https?://(?:www\.)?(filecloud\.io|ifile\.it)/_\w+' diff --git a/module/plugins/crypter/FilefactoryComFolder.py b/module/plugins/crypter/FilefactoryComFolder.py index ce20ee6eb..562c56732 100644 --- a/module/plugins/crypter/FilefactoryComFolder.py +++ b/module/plugins/crypter/FilefactoryComFolder.py @@ -5,8 +5,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilefactoryComFolder(SimpleCrypter): __name__ = "FilefactoryComFolder" - __version__ = "0.2" __type__ = "crypter" + __version__ = "0.2" __pattern__ = r'https?://(?:www\.)?filefactory\.com/(?:f|folder)/\w+' diff --git a/module/plugins/crypter/FilerNetFolder.py b/module/plugins/crypter/FilerNetFolder.py index 77e7409e9..9951661b5 100644 --- a/module/plugins/crypter/FilerNetFolder.py +++ b/module/plugins/crypter/FilerNetFolder.py @@ -5,8 +5,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilerNetFolder(SimpleCrypter): __name__ = "FilerNetFolder" - __version__ = "0.3" __type__ = "crypter" + __version__ = "0.3" __pattern__ = r'https?://filer\.net/folder/\w{16}' diff --git a/module/plugins/crypter/FileserveComFolder.py b/module/plugins/crypter/FileserveComFolder.py index 4a0d5a416..2db6baf0e 100644 --- a/module/plugins/crypter/FileserveComFolder.py +++ b/module/plugins/crypter/FileserveComFolder.py @@ -7,8 +7,8 @@ from module.plugins.Crypter import Crypter class FileserveComFolder(Crypter): __name__ = "FileserveComFolder" - __version__ = "0.11" __type__ = "crypter" + __version__ = "0.11" __pattern__ = r'http://(?:www\.)?fileserve.com/list/\w+' diff --git a/module/plugins/crypter/FilestubeCom.py b/module/plugins/crypter/FilestubeCom.py index 7576319e0..f0aaaa579 100644 --- a/module/plugins/crypter/FilestubeCom.py +++ b/module/plugins/crypter/FilestubeCom.py @@ -1,26 +1,12 @@ # -*- 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/>. # -############################################################################ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilestubeCom(SimpleCrypter): __name__ = "FilestubeCom" - __version__ = "0.03" __type__ = "crypter" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?filestube\.(?:com|to)/\w+' diff --git a/module/plugins/crypter/FiletramCom.py b/module/plugins/crypter/FiletramCom.py index 2491c1322..7052955cf 100644 --- a/module/plugins/crypter/FiletramCom.py +++ b/module/plugins/crypter/FiletramCom.py @@ -1,26 +1,12 @@ # -*- 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/>. # -############################################################################ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FiletramCom(SimpleCrypter): __name__ = "FiletramCom" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?filetram.com/[^/]+/.+' diff --git a/module/plugins/crypter/FiredriveComFolder.py b/module/plugins/crypter/FiredriveComFolder.py index c0db299b0..a94d0847f 100644 --- a/module/plugins/crypter/FiredriveComFolder.py +++ b/module/plugins/crypter/FiredriveComFolder.py @@ -1,18 +1,4 @@ # -*- 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 re @@ -21,8 +7,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FiredriveComFolder(SimpleCrypter): __name__ = "FiredriveComFolder" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'https?://(?:www\.)?(firedrive|putlocker)\.com/share/.+' diff --git a/module/plugins/crypter/FourChanOrg.py b/module/plugins/crypter/FourChanOrg.py index a911c64d6..c497fa799 100644 --- a/module/plugins/crypter/FourChanOrg.py +++ b/module/plugins/crypter/FourChanOrg.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Based on 4chandl by Roland Beermann -# https://gist.github.com/enkore/3492599 +# +# Based on 4chandl by Roland Beermann (https://gist.github.com/enkore/3492599) import re @@ -9,8 +9,8 @@ from module.plugins.Crypter import Crypter class FourChanOrg(Crypter): __name__ = "FourChanOrg" - __version__ = "0.3" __type__ = "crypter" + __version__ = "0.3" __pattern__ = r'http://(?:www\.)?boards\.4chan.org/\w+/res/(\d+)' diff --git a/module/plugins/crypter/FreakhareComFolder.py b/module/plugins/crypter/FreakhareComFolder.py index ddc05199b..2a6877891 100644 --- a/module/plugins/crypter/FreakhareComFolder.py +++ b/module/plugins/crypter/FreakhareComFolder.py @@ -1,18 +1,4 @@ # -*- 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 re @@ -21,8 +7,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FreakhareComFolder(SimpleCrypter): __name__ = "FreakhareComFolder" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?freakshare\.com/folder/.+' diff --git a/module/plugins/crypter/FreetexthostCom.py b/module/plugins/crypter/FreetexthostCom.py index a6fb78d8e..bd8a90ce5 100644 --- a/module/plugins/crypter/FreetexthostCom.py +++ b/module/plugins/crypter/FreetexthostCom.py @@ -1,18 +1,4 @@ # -*- 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 re @@ -21,8 +7,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FreetexthostCom(SimpleCrypter): __name__ = "FreetexthostCom" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?freetexthost\.com/\w+' diff --git a/module/plugins/crypter/FshareVnFolder.py b/module/plugins/crypter/FshareVnFolder.py index 9f5162125..5976ff6d5 100644 --- a/module/plugins/crypter/FshareVnFolder.py +++ b/module/plugins/crypter/FshareVnFolder.py @@ -5,8 +5,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FshareVnFolder(SimpleCrypter): __name__ = "FshareVnFolder" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?fshare.vn/folder/.*' diff --git a/module/plugins/crypter/GooGl.py b/module/plugins/crypter/GooGl.py index 52bf93ed3..1d9c2801f 100644 --- a/module/plugins/crypter/GooGl.py +++ b/module/plugins/crypter/GooGl.py @@ -1,18 +1,4 @@ # -*- 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/>. # -############################################################################ from module.plugins.Crypter import Crypter from module.common.json_layer import json_loads @@ -20,8 +6,8 @@ from module.common.json_layer import json_loads class GooGl(Crypter): __name__ = "GooGl" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'https?://(?:www\.)?goo\.gl/\w+' diff --git a/module/plugins/crypter/HoerbuchIn.py b/module/plugins/crypter/HoerbuchIn.py index 88fc57244..924ce5d3a 100644 --- a/module/plugins/crypter/HoerbuchIn.py +++ b/module/plugins/crypter/HoerbuchIn.py @@ -2,14 +2,15 @@ import re -from module.plugins.Crypter import Crypter from module.lib.BeautifulSoup import BeautifulSoup, BeautifulStoneSoup +from module.plugins.Crypter import Crypter + class HoerbuchIn(Crypter): __name__ = "HoerbuchIn" - __version__ = "0.6" __type__ = "crypter" + __version__ = "0.6" __pattern__ = r'http://(?:www\.)?hoerbuch\.in/(wp/horbucher/\d+/.+/|tp/out.php\?.+|protection/folder_\d+\.html)' diff --git a/module/plugins/crypter/HotfileFolderCom.py b/module/plugins/crypter/HotfileFolderCom.py index 433dc9755..3efd8fc87 100644 --- a/module/plugins/crypter/HotfileFolderCom.py +++ b/module/plugins/crypter/HotfileFolderCom.py @@ -7,8 +7,8 @@ from module.plugins.Crypter import Crypter class HotfileFolderCom(Crypter): __name__ = "HotfileFolderCom" - __version__ = "0.1" __type__ = "crypter" + __version__ = "0.1" __pattern__ = r'http://(?:www\.)?hotfile.com/list/\w+/\w+' diff --git a/module/plugins/crypter/ILoadTo.py b/module/plugins/crypter/ILoadTo.py index e003e07f4..d7818570a 100644 --- a/module/plugins/crypter/ILoadTo.py +++ b/module/plugins/crypter/ILoadTo.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class ILoadTo(DeadCrypter): __name__ = "ILoadTo" - __version__ = "0.11" __type__ = "crypter" + __version__ = "0.11" __pattern__ = r'http://(?:www\.)?iload\.to/go/\d+-[\w\.-]+/' diff --git a/module/plugins/crypter/ImgurComAlbum.py b/module/plugins/crypter/ImgurComAlbum.py index 394673586..eb1f4441a 100644 --- a/module/plugins/crypter/ImgurComAlbum.py +++ b/module/plugins/crypter/ImgurComAlbum.py @@ -6,8 +6,8 @@ from module.utils import uniqify class ImgurComAlbum(SimpleCrypter): __name__ = "ImgurComAlbum" - __version__ = "0.4" __type__ = "crypter" + __version__ = "0.4" __pattern__ = r'https?://(?:www\.|m\.)?imgur\.com/(a|gallery|)/?\w{5,7}' diff --git a/module/plugins/crypter/LetitbitNetFolder.py b/module/plugins/crypter/LetitbitNetFolder.py index adb2918a6..0297d2007 100644 --- a/module/plugins/crypter/LetitbitNetFolder.py +++ b/module/plugins/crypter/LetitbitNetFolder.py @@ -6,8 +6,8 @@ from module.plugins.Crypter import Crypter class LetitbitNetFolder(Crypter): __name__ = "LetitbitNetFolder" - __version__ = "0.1" __type__ = "crypter" + __version__ = "0.1" __pattern__ = r'http://(?:www\.)?letitbit.net/folder/\w+' diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index 6e024c766..060a434d2 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -1,10 +1,7 @@ # -*- coding: utf-8 -*- - # -# v2.01 - hagg # * cnl2 and web links are skipped if JS is not available (instead of failing the package) # * only best available link source is used (priority: cnl2>rsdf>ccf>dlc>web -# import base64 import binascii @@ -17,8 +14,8 @@ from module.unescape import unescape class LinkSaveIn(Crypter): __name__ = "LinkSaveIn" - __version__ = "2.01" __type__ = "crypter" + __version__ = "2.01" __pattern__ = r'http://(?:www\.)?linksave.in/(?P<id>\w+)$' diff --git a/module/plugins/crypter/LinkdecrypterCom.py b/module/plugins/crypter/LinkdecrypterCom.py index 2671c19c6..21f05b962 100644 --- a/module/plugins/crypter/LinkdecrypterCom.py +++ b/module/plugins/crypter/LinkdecrypterCom.py @@ -1,28 +1,13 @@ # -*- coding: utf-8 -*- -""" - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, see <http://www.gnu.org/licenses/>. -""" - import re from module.plugins.Crypter import Crypter class LinkdecrypterCom(Crypter): __name__ = "LinkdecrypterCom" - __version__ = "0.27" __type__ = "crypter" + __version__ = "0.27" __pattern__ = None diff --git a/module/plugins/crypter/LixIn.py b/module/plugins/crypter/LixIn.py index a39173903..cdf87eeb2 100644 --- a/module/plugins/crypter/LixIn.py +++ b/module/plugins/crypter/LixIn.py @@ -7,8 +7,8 @@ from module.plugins.Crypter import Crypter class LixIn(Crypter): __name__ = "LixIn" - __version__ = "0.22" __type__ = "crypter" + __version__ = "0.22" __pattern__ = r'http://(www.)?lix.in/(?P<id>.*)' diff --git a/module/plugins/crypter/LofCc.py b/module/plugins/crypter/LofCc.py index 91106dc51..8a5cd86ee 100644 --- a/module/plugins/crypter/LofCc.py +++ b/module/plugins/crypter/LofCc.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class LofCc(DeadCrypter): __name__ = "LofCc" - __version__ = "0.21" __type__ = "crypter" + __version__ = "0.21" __pattern__ = r'http://(?:www\.)?lof.cc/(.*)' diff --git a/module/plugins/crypter/MBLinkInfo.py b/module/plugins/crypter/MBLinkInfo.py index 0162c111d..4fc066e57 100644 --- a/module/plugins/crypter/MBLinkInfo.py +++ b/module/plugins/crypter/MBLinkInfo.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class MBLinkInfo(DeadCrypter): __name__ = "MBLinkInfo" - __version__ = "0.03" __type__ = "crypter" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?mblink\.info/?\?id=(\d+)' diff --git a/module/plugins/crypter/MediafireComFolder.py b/module/plugins/crypter/MediafireComFolder.py index 5dd4e555b..bb7c90722 100644 --- a/module/plugins/crypter/MediafireComFolder.py +++ b/module/plugins/crypter/MediafireComFolder.py @@ -8,8 +8,8 @@ from module.common.json_layer import json_loads class MediafireComFolder(Crypter): __name__ = "MediafireComFolder" - __version__ = "0.14" __type__ = "crypter" + __version__ = "0.14" __pattern__ = r'http://(?:www\.)?mediafire\.com/(folder/|\?sharekey=|\?\w{13}($|[/#]))' @@ -26,7 +26,7 @@ class MediafireComFolder(Crypter): self.logDebug('Location (%d): %s' % (result, url)) if result == 0: - # load and parse html + # load and parse html html = self.load(pyfile.url) m = re.search(self.FILE_URL_PATTERN, html) if m: diff --git a/module/plugins/crypter/Movie2kTo.py b/module/plugins/crypter/Movie2kTo.py index dcebf5e03..ba201621f 100644 --- a/module/plugins/crypter/Movie2kTo.py +++ b/module/plugins/crypter/Movie2kTo.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class Movie2kTo(DeadCrypter): __name__ = "Movie2kTo" - __version__ = "0.51" __type__ = "crypter" + __version__ = "0.51" __pattern__ = r'http://(?:www\.)?movie2k\.to/(.*)\.html' diff --git a/module/plugins/crypter/MultiUpOrg.py b/module/plugins/crypter/MultiUpOrg.py index ab23def8d..ffeaa6f04 100644 --- a/module/plugins/crypter/MultiUpOrg.py +++ b/module/plugins/crypter/MultiUpOrg.py @@ -1,20 +1,5 @@ # -*- 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 re from urlparse import urljoin @@ -23,8 +8,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class MultiUpOrg(SimpleCrypter): __name__ = "MultiUpOrg" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?multiup\.org/(en|fr)/(?P<TYPE>project|download|miror)/\w+(/\w+)?' diff --git a/module/plugins/crypter/MultiloadCz.py b/module/plugins/crypter/MultiloadCz.py index 4b39872a7..7d43ec729 100644 --- a/module/plugins/crypter/MultiloadCz.py +++ b/module/plugins/crypter/MultiloadCz.py @@ -6,8 +6,8 @@ from module.plugins.Crypter import Crypter class MultiloadCz(Crypter): __name__ = "MultiloadCz" - __version__ = "0.4" __type__ = "crypter" + __version__ = "0.4" __pattern__ = r'http://(?:[^/]*\.)?multiload.cz/(stahnout|slozka)/.*' __config__ = [("usedHoster", "str", "Prefered hoster list (bar-separated) ", ""), diff --git a/module/plugins/crypter/MultiuploadCom.py b/module/plugins/crypter/MultiuploadCom.py index f5c0e292b..96cd734e4 100644 --- a/module/plugins/crypter/MultiuploadCom.py +++ b/module/plugins/crypter/MultiuploadCom.py @@ -9,8 +9,8 @@ from module.common.json_layer import json_loads class MultiuploadCom(Crypter): __name__ = "MultiuploadCom" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?multiupload.com/(\w+)' __config__ = [("preferedHoster", "str", "Prefered hoster list (bar-separated) ", "multiupload"), diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index 9a9d76f51..1b7b8b3d4 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -12,8 +12,8 @@ from module.plugins.internal.CaptchaService import ReCaptcha class NCryptIn(Crypter): __name__ = "NCryptIn" - __version__ = "1.32" __type__ = "crypter" + __version__ = "1.32" __pattern__ = r'http://(?:www\.)?ncrypt.in/(?P<type>folder|link|frame)-([^/\?]+)' @@ -54,7 +54,7 @@ class NCryptIn(Crypter): if not self.isOnline(): self.offline() - # Check for folder protection + # Check for folder protection if self.isProtected(): self.html = self.unlockProtection() self.cleanedHtml = self.removeHtmlCrap(self.html) @@ -141,7 +141,7 @@ class NCryptIn(Crypter): self.logDebug("Captcha resolved [%s]" % captcha) postData['captcha'] = captcha - # Resolve recaptcha + # Resolve recaptcha if "recaptcha" in form: self.logDebug("ReCaptcha protected") captcha_key = re.search(r'\?k=(.*?)"', form).group(1) diff --git a/module/plugins/crypter/NetfolderIn.py b/module/plugins/crypter/NetfolderIn.py index 4c7660ab5..1c337391c 100644 --- a/module/plugins/crypter/NetfolderIn.py +++ b/module/plugins/crypter/NetfolderIn.py @@ -7,8 +7,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class NetfolderIn(SimpleCrypter): __name__ = "NetfolderIn" - __version__ = "0.6" __type__ = "crypter" + __version__ = "0.6" __pattern__ = r'http://(?:www\.)?netfolder.in/((?P<id1>\w+)/\w+|folder.php\?folder_id=(?P<id2>\w+))' @@ -23,7 +23,7 @@ class NetfolderIn(SimpleCrypter): # Request package self.html = self.load(pyfile.url) - # Check for password protection + # Check for password protection if self.isPasswordProtected(): self.html = self.submitPassword() if not self.html: @@ -55,7 +55,7 @@ class NetfolderIn(SimpleCrypter): url = "http://netfolder.in/folder.php?folder_id=" + id password = self.getPassword() - # Submit package password + # Submit package password post = {'password': password, 'save': 'Absenden'} self.logDebug("Submitting password [%s] for protected links with id [%s]" % (password, id)) html = self.load(url, {}, post) diff --git a/module/plugins/crypter/NosvideoCom.py b/module/plugins/crypter/NosvideoCom.py index 2656b9374..a3bb11b16 100644 --- a/module/plugins/crypter/NosvideoCom.py +++ b/module/plugins/crypter/NosvideoCom.py @@ -5,8 +5,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class NosvideoCom(SimpleCrypter): __name__ = "NosvideoCom" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?nosvideo\.com/\?v=\w+' diff --git a/module/plugins/crypter/OneKhDe.py b/module/plugins/crypter/OneKhDe.py index 91c591ec1..ba93278d5 100644 --- a/module/plugins/crypter/OneKhDe.py +++ b/module/plugins/crypter/OneKhDe.py @@ -8,8 +8,8 @@ from module.plugins.Crypter import Crypter class OneKhDe(Crypter): __name__ = "OneKhDe" - __version__ = "0.1" __type__ = "crypter" + __version__ = "0.1" __pattern__ = r'http://(?:www\.)?1kh.de/f/' diff --git a/module/plugins/crypter/OronComFolder.py b/module/plugins/crypter/OronComFolder.py index 988c5c959..f0b2f943c 100755 --- a/module/plugins/crypter/OronComFolder.py +++ b/module/plugins/crypter/OronComFolder.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class OronComFolder(DeadCrypter): __name__ = "OronComFolder" - __version__ = "0.11" __type__ = "crypter" + __version__ = "0.11" __pattern__ = r'http://(?:www\.)?oron.com/folder/\w+' diff --git a/module/plugins/crypter/PastebinCom.py b/module/plugins/crypter/PastebinCom.py index 172a4183f..55aa2ee4a 100644 --- a/module/plugins/crypter/PastebinCom.py +++ b/module/plugins/crypter/PastebinCom.py @@ -1,26 +1,12 @@ # -*- 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/>. # -############################################################################ from module.plugins.internal.SimpleCrypter import SimpleCrypter class PastebinCom(SimpleCrypter): __name__ = "PastebinCom" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?pastebin\.com/\w+' diff --git a/module/plugins/crypter/QuickshareCzFolder.py b/module/plugins/crypter/QuickshareCzFolder.py index 1e569a20a..9840b84df 100644 --- a/module/plugins/crypter/QuickshareCzFolder.py +++ b/module/plugins/crypter/QuickshareCzFolder.py @@ -6,8 +6,8 @@ from module.plugins.Crypter import Crypter class QuickshareCzFolder(Crypter): __name__ = "QuickshareCzFolder" - __version__ = "0.1" __type__ = "crypter" + __version__ = "0.1" __pattern__ = r'http://(?:www\.)?quickshare.cz/slozka-\d+.*' diff --git a/module/plugins/crypter/RSLayerCom.py b/module/plugins/crypter/RSLayerCom.py index 637caf2ce..7dda0beab 100644 --- a/module/plugins/crypter/RSLayerCom.py +++ b/module/plugins/crypter/RSLayerCom.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class RSLayerCom(DeadCrypter): __name__ = "RSLayerCom" - __version__ = "0.21" __type__ = "crypter" + __version__ = "0.21" __pattern__ = r'http://(?:www\.)?rs-layer.com/directory-' diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index 160900144..1b120fc77 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -11,8 +11,8 @@ from module.plugins.Crypter import Crypter class RelinkUs(Crypter): __name__ = "RelinkUs" - __version__ = "3.0" __type__ = "crypter" + __version__ = "3.0" __pattern__ = r'http://(?:www\.)?relink.us/(f/|((view|go).php\?id=))(?P<id>.+)' @@ -63,7 +63,7 @@ class RelinkUs(Crypter): if not self.isOnline(): self.offline() - # Check for protection + # Check for protection if self.isPasswordProtected(): self.unlockPasswordProtection() self.handleErrors() @@ -133,7 +133,7 @@ class RelinkUs(Crypter): def getPackageInfo(self): name = folder = None - # Try to get info from web + # Try to get info from web m = re.search(self.FILE_TITLE_REGEX, self.html) if m is not None: title = m.group(1).strip() @@ -147,7 +147,7 @@ class RelinkUs(Crypter): folder = self.package.folder self.logDebug("Package info not found, defaulting to pyfile name [%s] and folder [%s]" % (name, folder)) - # Return package info + # Return package info return name, folder def handleErrors(self): diff --git a/module/plugins/crypter/SafelinkingNet.py b/module/plugins/crypter/SafelinkingNet.py index 2687ed2f2..e0c165705 100644 --- a/module/plugins/crypter/SafelinkingNet.py +++ b/module/plugins/crypter/SafelinkingNet.py @@ -1,18 +1,20 @@ # -*- coding: utf-8 -*- import re + from pycurl import FOLLOWLOCATION +from module.lib.BeautifulSoup import BeautifulSoup + from module.common.json_layer import json_loads from module.plugins.Crypter import Crypter from module.plugins.internal.CaptchaService import SolveMedia -from module.lib.BeautifulSoup import BeautifulSoup class SafelinkingNet(Crypter): __name__ = "SafelinkingNet" - __version__ = "0.1" __type__ = "crypter" + __version__ = "0.1" __pattern__ = r'https?://(?:www\.)?safelinking.net/([pd])/\w+' diff --git a/module/plugins/crypter/SecuredIn.py b/module/plugins/crypter/SecuredIn.py index 1a6650195..0b558c688 100644 --- a/module/plugins/crypter/SecuredIn.py +++ b/module/plugins/crypter/SecuredIn.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class SecuredIn(DeadCrypter): __name__ = "SecuredIn" - __version__ = "0.21" __type__ = "crypter" + __version__ = "0.21" __pattern__ = r'http://(?:www\.)?secured\.in/download-[\d]+-[\w]{8}\.html' diff --git a/module/plugins/crypter/SerienjunkiesOrg.py b/module/plugins/crypter/SerienjunkiesOrg.py index ea76d30d0..fe4ee4e36 100644 --- a/module/plugins/crypter/SerienjunkiesOrg.py +++ b/module/plugins/crypter/SerienjunkiesOrg.py @@ -6,14 +6,15 @@ import re from time import sleep from module.lib.BeautifulSoup import BeautifulSoup + from module.plugins.Crypter import Crypter from module.unescape import unescape class SerienjunkiesOrg(Crypter): __name__ = "SerienjunkiesOrg" - __version__ = "0.39" __type__ = "crypter" + __version__ = "0.39" __pattern__ = r'http://(?:www\.)?(serienjunkies.org|dokujunkies.org)/.*?' __config__ = [("changeNameSJ", "Packagename;Show;Season;Format;Episode", "Take SJ.org name", "Show"), diff --git a/module/plugins/crypter/ShareLinksBiz.py b/module/plugins/crypter/ShareLinksBiz.py index b56f90e15..87bb16a50 100644 --- a/module/plugins/crypter/ShareLinksBiz.py +++ b/module/plugins/crypter/ShareLinksBiz.py @@ -10,8 +10,8 @@ from module.plugins.Crypter import Crypter class ShareLinksBiz(Crypter): __name__ = "ShareLinksBiz" - __version__ = "1.13" __type__ = "crypter" + __version__ = "1.13" __pattern__ = r'http://(?:www\.)?(share-links|s2l)\.biz/(?P<ID>_?\w+)' diff --git a/module/plugins/crypter/ShareRapidComFolder.py b/module/plugins/crypter/ShareRapidComFolder.py index e44402a52..fd12ff96f 100644 --- a/module/plugins/crypter/ShareRapidComFolder.py +++ b/module/plugins/crypter/ShareRapidComFolder.py @@ -5,8 +5,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class ShareRapidComFolder(SimpleCrypter): __name__ = "ShareRapidComFolder" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?((share(-?rapid\.(biz|com|cz|info|eu|net|org|pl|sk)|-(central|credit|free|net)\.cz|-ms\.net)|(s-?rapid|rapids)\.(cz|sk))|(e-stahuj|mediatack|premium-rapidshare|rapidshare-premium|qiuck)\.cz|kadzet\.com|stahuj-zdarma\.eu|strelci\.net|universal-share\.com)/(slozka/.+)' diff --git a/module/plugins/crypter/SpeedLoadOrgFolder.py b/module/plugins/crypter/SpeedLoadOrgFolder.py index 305397d3c..092d3efe4 100644 --- a/module/plugins/crypter/SpeedLoadOrgFolder.py +++ b/module/plugins/crypter/SpeedLoadOrgFolder.py @@ -1,26 +1,12 @@ # -*- 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/>. # -############################################################################ from module.plugins.internal.DeadCrypter import DeadCrypter class SpeedLoadOrgFolder(DeadCrypter): __name__ = "SpeedLoadOrgFolder" - __version__ = "0.3" __type__ = "crypter" + __version__ = "0.3" __pattern__ = r'http://(?:www\.)?speedload\.org/(\d+~f$|folder/\d+/)' diff --git a/module/plugins/crypter/StealthTo.py b/module/plugins/crypter/StealthTo.py index 9cae7ba20..402724e89 100644 --- a/module/plugins/crypter/StealthTo.py +++ b/module/plugins/crypter/StealthTo.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class StealthTo(DeadCrypter): __name__ = "StealthTo" - __version__ = "0.2" __type__ = "crypter" + __version__ = "0.2" __pattern__ = r'http://(?:www\.)?stealth\.to/folder/.+' diff --git a/module/plugins/crypter/TnyCz.py b/module/plugins/crypter/TnyCz.py index 3ff9aa5dd..3ae2c5ed2 100644 --- a/module/plugins/crypter/TnyCz.py +++ b/module/plugins/crypter/TnyCz.py @@ -1,20 +1,5 @@ # -*- coding: utf-8 -*- -""" - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, see <http://www.gnu.org/licenses/>. -""" - from module.plugins.internal.SimpleCrypter import SimpleCrypter import re @@ -22,8 +7,8 @@ import re class TnyCz(SimpleCrypter): __name__ = "TnyCz" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?tny\.cz/\w+' diff --git a/module/plugins/crypter/TrailerzoneInfo.py b/module/plugins/crypter/TrailerzoneInfo.py index 2c7bb2c9f..42e45a819 100644 --- a/module/plugins/crypter/TrailerzoneInfo.py +++ b/module/plugins/crypter/TrailerzoneInfo.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class TrailerzoneInfo(DeadCrypter): __name__ = "TrailerzoneInfo" - __version__ = "0.03" __type__ = "crypter" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?trailerzone.info/.*?' diff --git a/module/plugins/crypter/TurbobitNetFolder.py b/module/plugins/crypter/TurbobitNetFolder.py index 26923e8d4..0810e0ed1 100644 --- a/module/plugins/crypter/TurbobitNetFolder.py +++ b/module/plugins/crypter/TurbobitNetFolder.py @@ -1,18 +1,4 @@ # -*- 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 re @@ -22,8 +8,8 @@ from module.common.json_layer import json_loads class TurbobitNetFolder(SimpleCrypter): __name__ = "TurbobitNetFolder" - __version__ = "0.03" __type__ = "crypter" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?turbobit\.net/download/folder/(?P<ID>\w+)' diff --git a/module/plugins/crypter/TusfilesNetFolder.py b/module/plugins/crypter/TusfilesNetFolder.py index 70b7bd4b9..f51c2b715 100644 --- a/module/plugins/crypter/TusfilesNetFolder.py +++ b/module/plugins/crypter/TusfilesNetFolder.py @@ -1,18 +1,4 @@ # -*- 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 @@ -23,8 +9,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class TusfilesNetFolder(SimpleCrypter): __name__ = "TusfilesNetFolder" - __version__ = "0.02" __type__ = "crypter" + __version__ = "0.02" __pattern__ = r'https?://(?:www\.)?tusfiles\.net/go/(?P<ID>\w+)/?' diff --git a/module/plugins/crypter/UlozToFolder.py b/module/plugins/crypter/UlozToFolder.py index dfa1bb8c4..06d30099c 100644 --- a/module/plugins/crypter/UlozToFolder.py +++ b/module/plugins/crypter/UlozToFolder.py @@ -6,8 +6,8 @@ from module.plugins.Crypter import Crypter class UlozToFolder(Crypter): __name__ = "UlozToFolder" - __version__ = "0.2" __type__ = "crypter" + __version__ = "0.2" __pattern__ = r'http://(?:www\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj.cz|zachowajto.pl)/(m|soubory)/.*' diff --git a/module/plugins/crypter/UploadedToFolder.py b/module/plugins/crypter/UploadedToFolder.py index 36dd9714a..068412062 100644 --- a/module/plugins/crypter/UploadedToFolder.py +++ b/module/plugins/crypter/UploadedToFolder.py @@ -1,18 +1,4 @@ # -*- 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 re @@ -21,8 +7,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class UploadedToFolder(SimpleCrypter): __name__ = "UploadedToFolder" - __version__ = "0.3" __type__ = "crypter" + __version__ = "0.3" __pattern__ = r'http://(?:www\.)?(uploaded|ul)\.(to|net)/(f|folder|list)/(?P<id>\w+)' diff --git a/module/plugins/crypter/WiiReloadedOrg.py b/module/plugins/crypter/WiiReloadedOrg.py index 9cb0751d8..cb02fbd2d 100644 --- a/module/plugins/crypter/WiiReloadedOrg.py +++ b/module/plugins/crypter/WiiReloadedOrg.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class WiiReloadedOrg(DeadCrypter): __name__ = "WiiReloadedOrg" - __version__ = "0.11" __type__ = "crypter" + __version__ = "0.11" __pattern__ = r'http://(?:www\.)?wii-reloaded\.org/protect/get\.php\?i=.+' diff --git a/module/plugins/crypter/XupPl.py b/module/plugins/crypter/XupPl.py index e89f4ccb0..5e5f511a8 100644 --- a/module/plugins/crypter/XupPl.py +++ b/module/plugins/crypter/XupPl.py @@ -5,8 +5,8 @@ from module.plugins.Crypter import Crypter class XupPl(Crypter): __name__ = "XupPl" - __version__ = "0.1" __type__ = "crypter" + __version__ = "0.1" __pattern__ = r'https?://(?:[^/]*\.)?xup\.pl/.*' diff --git a/module/plugins/crypter/YoutubeBatch.py b/module/plugins/crypter/YoutubeBatch.py index 216fbb670..1caca16bd 100644 --- a/module/plugins/crypter/YoutubeBatch.py +++ b/module/plugins/crypter/YoutubeBatch.py @@ -1,20 +1,5 @@ # -*- coding: utf-8 -*- -""" - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, see <http://www.gnu.org/licenses/>. -""" - import re from urlparse import urljoin @@ -28,8 +13,8 @@ API_URL = "AIzaSyCKnWLNlkX-L4oD1aEzqqhRw1zczeD6_k0" class YoutubeBatch(Crypter): __name__ = "YoutubeBatch" - __version__ = "1.00" __type__ = "crypter" + __version__ = "1.00" __pattern__ = r'https?://(?:www\.|m\.)?youtube\.com/(?P<TYPE>user|playlist|view_play_list)(/|.*?[?&](?:list|p)=)(?P<ID>[\w-]+)' __config__ = [("likes", "bool", "Grab user (channel) liked videos", False), -- cgit v1.2.3 From f4774041abbd32bca0cdece1c100b7c50c77a68c Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sun, 10 Aug 2014 21:20:35 +0200 Subject: [DdlstorageCom] Mark dead --- module/plugins/crypter/DdlstorageComFolder.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/DdlstorageComFolder.py b/module/plugins/crypter/DdlstorageComFolder.py index 70a7312be..3b1dc6dd6 100644 --- a/module/plugins/crypter/DdlstorageComFolder.py +++ b/module/plugins/crypter/DdlstorageComFolder.py @@ -1,17 +1,18 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo -class DdlstorageComFolder(SimpleCrypter): +class DdlstorageComFolder(DeadCrypter): __name__ = "DdlstorageComFolder" __type__ = "crypter" - __version__ = "0.02" + __version__ = "0.03" - __pattern__ = r'http://(?:www\.)?ddlstorage.com/folder/\w{10}' + __pattern__ = r'https?://(?:www\.)?ddlstorage\.com/folder/\w+' __description__ = """DDLStorage.com folder decrypter plugin""" __author_name__ = ("godofdream", "stickell") __author_mail__ = ("soilfiction@gmail.com", "l.stickell@yahoo.it") - LINK_PATTERN = r'<a class="sub_title" style="text-decoration:none;" href="(http://www.ddlstorage.com/.*)">' + +getInfo = create_getInfo(SpeedLoadOrg) -- cgit v1.2.3 From da05c51747ec742dd019f689cf73be10721b1f8e Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Thu, 4 Sep 2014 22:32:10 +0200 Subject: New crypter UploadableChFolder --- module/plugins/crypter/UploadableChFolder.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 module/plugins/crypter/UploadableChFolder.py (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/UploadableChFolder.py b/module/plugins/crypter/UploadableChFolder.py new file mode 100644 index 000000000..b76076531 --- /dev/null +++ b/module/plugins/crypter/UploadableChFolder.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- + +from module.plugins.internal.SimpleCrypter import SimpleCrypter + + +class UploadableChFolder(SimpleCrypter): + __name__ = "UploadableChFolder" + __type__ = "crypter" + __version__ = "0.01" + + __pattern__ = r'http://(?:www\.)?uploadable\.ch/list/\w+' + + __description__ = """ Uploadable.ch folder decrypter plugin """ + __author_name__ = ("guidobelix", "Walter Purcaro") + __author_mail__ = ("guidobelix@hotmail.it", "vuolter@gmail.com") + + + LINK_PATTERN = r'"(.+?)" class="icon_zipfile">' + TITLE_PATTERN = r'<div class="folder"><span> </span>(?P<title>.+?)</div>' + OFFLINE_PATTERN = r'We are sorry... The URL you entered cannot be found on the server.' + TEMP_OFFLINE_PATTERN = r'<div class="icon_err">' -- cgit v1.2.3 From 76c67b22c0b2dbd275fae77e8a3121acb2d4301b Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Fri, 26 Sep 2014 15:39:33 +0200 Subject: Fix cookie deletion + Account support for SimpleCrypter Fix: https://github.com/pyload/pyload/issues/749 --- module/plugins/crypter/EasybytezComFolder.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/EasybytezComFolder.py b/module/plugins/crypter/EasybytezComFolder.py index 7832bef5f..500f12278 100644 --- a/module/plugins/crypter/EasybytezComFolder.py +++ b/module/plugins/crypter/EasybytezComFolder.py @@ -6,7 +6,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class EasybytezComFolder(SimpleCrypter): __name__ = "EasybytezComFolder" __type__ = "crypter" - __version__ = "0.06" + __version__ = "0.07" __pattern__ = r'http://(?:www\.)?easybytez\.com/users/(?P<ID>\d+/\d+)' @@ -14,7 +14,10 @@ class EasybytezComFolder(SimpleCrypter): __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" + URL_REPLACEMENTS = [(__pattern__, r"http://www.easybytez.com/users/\g<ID>?per_page=10000")] LINK_PATTERN = r'<td><a href="(http://www\.easybytez\.com/\w+)" target="_blank">.+(?:</a>)?</td>' TITLE_PATTERN = r'<Title>Files of \d+: (?P<title>.+) folder</Title>' + + LOGIN_ACCOUNT = True -- cgit v1.2.3 From 4709a41c176dd2947709b7f35ccc84213d574624 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Fri, 26 Sep 2014 16:59:26 +0200 Subject: Rename SH flags --- module/plugins/crypter/FilefactoryComFolder.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/FilefactoryComFolder.py b/module/plugins/crypter/FilefactoryComFolder.py index 562c56732..b565b4d0b 100644 --- a/module/plugins/crypter/FilefactoryComFolder.py +++ b/module/plugins/crypter/FilefactoryComFolder.py @@ -18,7 +18,7 @@ class FilefactoryComFolder(SimpleCrypter): TITLE_PATTERN = r'<h1>Files in <span>(?P<title>.+)</span></h1>' PAGES_PATTERN = r'data-paginator-totalPages="(?P<pages>\d+)"' - SH_COOKIES = [('.filefactory.com', 'locale', 'en_US.utf8')] + COOKIES = [('.filefactory.com', 'locale', 'en_US.utf8')] def loadPage(self, page_n): -- cgit v1.2.3 From cb3b1d5ea03e8d76631b3202bdc00b7b4904d41e Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Fri, 26 Sep 2014 22:57:17 +0200 Subject: [MultiuploadCom] Mark dead --- module/plugins/crypter/MultiuploadCom.py | 59 +++----------------------------- 1 file changed, 5 insertions(+), 54 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/MultiuploadCom.py b/module/plugins/crypter/MultiuploadCom.py index 96cd734e4..398d33b5d 100644 --- a/module/plugins/crypter/MultiuploadCom.py +++ b/module/plugins/crypter/MultiuploadCom.py @@ -1,64 +1,15 @@ # -*- coding: utf-8 -*- -import re -from time import time +from module.plugins.internal.DeadCrypter import DeadCrypter -from module.plugins.Crypter import Crypter -from module.common.json_layer import json_loads - -class MultiuploadCom(Crypter): +class MultiuploadCom(DeadCrypter): __name__ = "MultiuploadCom" __type__ = "crypter" - __version__ = "0.01" + __version__ = "0.02" - __pattern__ = r'http://(?:www\.)?multiupload.com/(\w+)' - __config__ = [("preferedHoster", "str", "Prefered hoster list (bar-separated) ", "multiupload"), - ("ignoredHoster", "str", "Ignored hoster list (bar-separated) ", "")] + __pattern__ = r'http://(?:www\.)?multiupload\.(com|nl)/\w+' - __description__ = """MultiUpload.com decrypter plugin""" + __description__ = """ MultiUpload.com decrypter plugin """ __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" - - ML_LINK_PATTERN = r'<div id="downloadbutton_" style=""><a href="([^"]+)"' - - - def decrypt(self, pyfile): - self.html = self.load(pyfile.url) - m = re.search(self.ML_LINK_PATTERN, self.html) - ml_url = m.group(1) if m else None - - json_list = json_loads(self.load("http://multiupload.com/progress/", get={ - "d": re.match(self.__pattern__, pyfile.url).group(1), - "r": str(int(time() * 1000)) - })) - - prefered_set = map(lambda s: s.lower().split('.')[0], set(self.getConfig("preferedHoster").split('|'))) - - if ml_url and 'multiupload' in prefered_set: - self.urls.append(ml_url) - - for link in json_list: - if link['service'].lower() in prefered_set and int(link['status']) and not int(link['deleted']): - url = self.getLocation(link['url']) - if url: - self.urls.append(url) - - if not self.urls: - ignored_set = map(lambda s: s.lower().split('.')[0], set(self.getConfig("ignoredHoster").split('|'))) - - if 'multiupload' not in ignored_set: - self.urls.append(ml_url) - - for link in json_list: - if link['service'].lower() not in ignored_set and int(link['status']) and not int(link['deleted']): - url = self.getLocation(link['url']) - if url: - self.urls.append(url) - - if not self.urls: - self.fail('Could not extract any links') - - def getLocation(self, url): - header = self.load(url, just_header=True) - return header['location'] if "location" in header else None -- cgit v1.2.3 From 0d220d634e512d89bda540f91c643b361c82ea8a Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 27 Sep 2014 01:38:32 +0200 Subject: Logging string cosmetics --- module/plugins/crypter/ChipDe.py | 2 +- module/plugins/crypter/DataHuFolder.py | 4 ++-- module/plugins/crypter/DuckCryptInfo.py | 2 +- module/plugins/crypter/GooGl.py | 2 +- module/plugins/crypter/LinkSaveIn.py | 6 +++--- module/plugins/crypter/LinkdecrypterCom.py | 2 +- module/plugins/crypter/LixIn.py | 4 ++-- module/plugins/crypter/MediafireComFolder.py | 2 +- module/plugins/crypter/NCryptIn.py | 2 +- module/plugins/crypter/RelinkUs.py | 4 ++-- module/plugins/crypter/SerienjunkiesOrg.py | 4 ++-- module/plugins/crypter/ShareLinksBiz.py | 2 +- module/plugins/crypter/UploadedToFolder.py | 2 +- 13 files changed, 19 insertions(+), 19 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/ChipDe.py b/module/plugins/crypter/ChipDe.py index a75cc5e0e..e545efa54 100644 --- a/module/plugins/crypter/ChipDe.py +++ b/module/plugins/crypter/ChipDe.py @@ -24,4 +24,4 @@ class ChipDe(Crypter): self.fail('Failed to find the URL') else: self.urls = [f.group(1)] - self.logDebug('The file URL is %s' % self.urls[0]) + self.logDebug("The file URL is %s" % self.urls[0]) diff --git a/module/plugins/crypter/DataHuFolder.py b/module/plugins/crypter/DataHuFolder.py index 4f6116100..a500ac796 100644 --- a/module/plugins/crypter/DataHuFolder.py +++ b/module/plugins/crypter/DataHuFolder.py @@ -27,7 +27,7 @@ class DataHuFolder(SimpleCrypter): password = self.getPassword() if password is '': self.fail("No password specified, please set right password on Add package form and retry") - self.logDebug('The folder is password protected', 'Using password: ' + password) + self.logDebug("The folder is password protected', 'Using password: " + password) self.html = self.load(pyfile.url, post={'mappa_pass': password}, decode=True) if u'Hib\xe1s jelsz\xf3' in self.html: # Wrong password self.fail("Incorrect password, please set right password on Add package form and retry") @@ -35,7 +35,7 @@ class DataHuFolder(SimpleCrypter): package_name, folder_name = self.getPackageNameAndFolder() package_links = re.findall(self.LINK_PATTERN, self.html) - self.logDebug('Package has %d links' % len(package_links)) + self.logDebug("Package has %d links" % len(package_links)) if package_links: self.packages = [(package_name, package_links, folder_name)] diff --git a/module/plugins/crypter/DuckCryptInfo.py b/module/plugins/crypter/DuckCryptInfo.py index e7a5a59e9..26b06c1c7 100644 --- a/module/plugins/crypter/DuckCryptInfo.py +++ b/module/plugins/crypter/DuckCryptInfo.py @@ -56,4 +56,4 @@ class DuckCryptInfo(Crypter): soup = BeautifulSoup(src) self.urls = [soup.find("iframe")['src']] if not self.urls: - self.logDebug('no links m - (Plugin out of date?)') + self.logDebug("No link found - (Plugin out of date?)") diff --git a/module/plugins/crypter/GooGl.py b/module/plugins/crypter/GooGl.py index 1d9c2801f..b4f6c3ea7 100644 --- a/module/plugins/crypter/GooGl.py +++ b/module/plugins/crypter/GooGl.py @@ -20,7 +20,7 @@ class GooGl(Crypter): def decrypt(self, pyfile): rep = self.load(self.API_URL, get={'shortUrl': pyfile.url}) - self.logDebug('JSON data: ' + rep) + self.logDebug("JSON data: " + rep) rep = json_loads(rep) if 'longUrl' in rep: diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index 060a434d2..e80686c02 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -136,7 +136,7 @@ class LinkSaveIn(Crypter): package_links = [] self.logDebug("Search for Web links") if not self.js: - self.logDebug("no JS -> skip Web links") + self.logDebug("No JS -> skip Web links") else: #@TODO: Gather paginated web links pattern = r'<a href="http://linksave\.in/(\w{43})"' @@ -162,7 +162,7 @@ class LinkSaveIn(Crypter): def handleContainer(self, type_): package_links = [] type_ = type_.lower() - self.logDebug('Seach for %s Container links' % type_.upper()) + self.logDebug("Seach for %s Container links" % type_.upper()) if not type_.isalnum(): # check to prevent broken re-pattern (cnl2,rsdf,ccf,dlc,web are all alpha-numeric) self.fail('unknown container type "%s" (this is probably a bug)' % type_) pattern = r"\('%s_link'\).href=unescape\('(.*?\.%s)'\)" % (type_, type_) @@ -177,7 +177,7 @@ class LinkSaveIn(Crypter): package_links = [] self.logDebug("Search for CNL2 links") if not self.js: - self.logDebug("no JS -> skip CNL2 links") + self.logDebug("No JS -> skip CNL2 links") elif 'cnl2_load' in self.html: try: (vcrypted, vjk) = self._getCipherParams() diff --git a/module/plugins/crypter/LinkdecrypterCom.py b/module/plugins/crypter/LinkdecrypterCom.py index 21f05b962..f9f29d5f5 100644 --- a/module/plugins/crypter/LinkdecrypterCom.py +++ b/module/plugins/crypter/LinkdecrypterCom.py @@ -43,7 +43,7 @@ class LinkdecrypterCom(Crypter): if self.html.startswith('http://'): return self.html.splitlines() - self.logError('API', self.html) + self.logError("API", self.html) if self.html == 'INTERRUPTION(PASSWORD)': self.fail("No or incorrect password") diff --git a/module/plugins/crypter/LixIn.py b/module/plugins/crypter/LixIn.py index cdf87eeb2..beba5ed04 100644 --- a/module/plugins/crypter/LixIn.py +++ b/module/plugins/crypter/LixIn.py @@ -42,12 +42,12 @@ class LixIn(Crypter): for _ in xrange(5): m = re.search(self.CAPTCHA_PATTERN, self.html) if m: - self.logDebug("trying captcha") + self.logDebug("Trying captcha") captcharesult = self.decryptCaptcha("http://lix.in/" + m.group("image")) self.html = self.req.load(url, decode=True, post={"capt": captcharesult, "submit": "submit", "tiny": id}) else: - self.logDebug("no captcha/captcha solved") + self.logDebug("No captcha/captcha solved") else: self.html = self.req.load(url, decode=True, post={"submit": "submit", "tiny": id}) diff --git a/module/plugins/crypter/MediafireComFolder.py b/module/plugins/crypter/MediafireComFolder.py index bb7c90722..45078c4ba 100644 --- a/module/plugins/crypter/MediafireComFolder.py +++ b/module/plugins/crypter/MediafireComFolder.py @@ -23,7 +23,7 @@ class MediafireComFolder(Crypter): def decrypt(self, pyfile): url, result = checkHTMLHeader(pyfile.url) - self.logDebug('Location (%d): %s' % (result, url)) + self.logDebug("Location (%d): %s" % (result, url)) if result == 0: # load and parse html diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index 1b7b8b3d4..3937299d0 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -156,7 +156,7 @@ class NCryptIn(Crypter): self.logDebug("CircleCaptcha protected") captcha_img_url = "http://ncrypt.in/classes/captcha/circlecaptcha.php" coords = self.decryptCaptcha(captcha_img_url, forceUser=True, imgtype="png", result_type='positional') - self.logDebug("Captcha resolved, coords [%s]" % str(coords)) + self.logDebug("Captcha resolved, coords [%s]" % coords) postData['circle.x'] = coords[0] postData['circle.y'] = coords[1] diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index 1b120fc77..1c1afea25 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -125,7 +125,7 @@ class RelinkUs(Crypter): self.logDebug("Request user positional captcha resolving") captcha_img_url = self.CAPTCHA_IMG_URL + "?id=%s" % self.fileid coords = self.decryptCaptcha(captcha_img_url, forceUser=True, imgtype="png", result_type='positional') - self.logDebug("Captcha resolved, coords [%s]" % str(coords)) + self.logDebug("Captcha resolved, coords [%s]" % coords) captcha_post_url = self.CAPTCHA_SUBMIT_URL + "?id=%s" % self.fileid captcha_post_data = {'button.x': coords[0], 'button.y': coords[1], 'captcha': 'submit'} self.html = self.load(captcha_post_url, post=captcha_post_data, decode=True) @@ -189,7 +189,7 @@ class RelinkUs(Crypter): return package_links def handleDLCLinks(self): - self.logDebug('Search for DLC links') + self.logDebug("Search for DLC links") package_links = [] m = re.search(self.DLC_LINK_REGEX, self.html) if m is not None: diff --git a/module/plugins/crypter/SerienjunkiesOrg.py b/module/plugins/crypter/SerienjunkiesOrg.py index fe4ee4e36..1ef5b7617 100644 --- a/module/plugins/crypter/SerienjunkiesOrg.py +++ b/module/plugins/crypter/SerienjunkiesOrg.py @@ -304,7 +304,7 @@ class SerienjunkiesOrg(Crypter): for Hoster in hosterlist: if preferred == Hoster.lower().replace('.', ''): for Part in hosterlist[Hoster]: - self.logDebug("selected " + Part) + self.logDebug("Selected " + Part) result.append(str(Part)) del (hosterlist2[Hoster]) if self.getConfig("hosterListMode") in ["OnlyOne", "OnlyPreferred(One)"]: @@ -316,7 +316,7 @@ class SerienjunkiesOrg(Crypter): for Hoster in hosterlist2: if Hoster.strip().lower().replace('.', '') not in ignorelist: for Part in hosterlist2[Hoster]: - self.logDebug("selected2 " + Part) + self.logDebug("Selected2 " + Part) result.append(str(Part)) if self.getConfig('hosterListMode') == "OnlyOne": diff --git a/module/plugins/crypter/ShareLinksBiz.py b/module/plugins/crypter/ShareLinksBiz.py index 87bb16a50..fa9739711 100644 --- a/module/plugins/crypter/ShareLinksBiz.py +++ b/module/plugins/crypter/ShareLinksBiz.py @@ -109,7 +109,7 @@ class ShareLinksBiz(Crypter): captchaUrl = self.baseUrl + '/captcha.gif?d=%s&PHPSESSID=%s' % (m.group(1), m.group(2)) self.logDebug("Waiting user for correct position") coords = self.decryptCaptcha(captchaUrl, forceUser=True, imgtype="gif", result_type='positional') - self.logDebug("Captcha resolved, coords [%s]" % str(coords)) + self.logDebug("Captcha resolved, coords [%s]" % coords) # Resolve captcha href = self._resolveCoords(coords, captchaMap) diff --git a/module/plugins/crypter/UploadedToFolder.py b/module/plugins/crypter/UploadedToFolder.py index 068412062..20eb553a9 100644 --- a/module/plugins/crypter/UploadedToFolder.py +++ b/module/plugins/crypter/UploadedToFolder.py @@ -33,6 +33,6 @@ class UploadedToFolder(SimpleCrypter): self.html = self.load(plain_link) package_links = self.html.split('\n')[:-1] - self.logDebug('Package has %d links' % len(package_links)) + self.logDebug("Package has %d links" % len(package_links)) self.packages = [(package_name, package_links, folder_name)] -- cgit v1.2.3 From 92c49bfd7662625852efd0c3599253bdc6f00eda Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 27 Sep 2014 02:52:32 +0200 Subject: Remove old, not working, SerienjunkiesOrg crypter. Warez plugin are not allowed. --- module/plugins/crypter/SerienjunkiesOrg.py | 324 ----------------------------- 1 file changed, 324 deletions(-) delete mode 100644 module/plugins/crypter/SerienjunkiesOrg.py (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/SerienjunkiesOrg.py b/module/plugins/crypter/SerienjunkiesOrg.py deleted file mode 100644 index 1ef5b7617..000000000 --- a/module/plugins/crypter/SerienjunkiesOrg.py +++ /dev/null @@ -1,324 +0,0 @@ -# -*- coding: utf-8 -*- - -import random -import re - -from time import sleep - -from module.lib.BeautifulSoup import BeautifulSoup - -from module.plugins.Crypter import Crypter -from module.unescape import unescape - - -class SerienjunkiesOrg(Crypter): - __name__ = "SerienjunkiesOrg" - __type__ = "crypter" - __version__ = "0.39" - - __pattern__ = r'http://(?:www\.)?(serienjunkies.org|dokujunkies.org)/.*?' - __config__ = [("changeNameSJ", "Packagename;Show;Season;Format;Episode", "Take SJ.org name", "Show"), - ("changeNameDJ", "Packagename;Show;Format;Episode", "Take DJ.org name", "Show"), - ("randomPreferred", "bool", "Randomize Preferred-List", False), - ("hosterListMode", "OnlyOne;OnlyPreferred(One);OnlyPreferred(All);All", - "Use for hosters (if supported)", "All"), - ("hosterList", "str", "Preferred Hoster list (comma separated)", - "RapidshareCom,UploadedTo,NetloadIn,FilefactoryCom,FreakshareNet,FilebaseTo,HotfileCom,DepositfilesCom,EasyshareCom,KickloadCom"), - ("ignoreList", "str", "Ignored Hoster list (comma separated)", "MegauploadCom")] - - __description__ = """Serienjunkies.org decrypter plugin""" - __author_name__ = ("mkaay", "godofdream") - __author_mail__ = ("mkaay@mkaay.de", "soilfiction@gmail.com") - - - def setup(self): - self.multiDL = False - - def getSJSrc(self, url): - src = self.req.load(str(url)) - if "This website is not available in your country" in src: - self.fail("Not available in your country") - if not src.find("Enter Serienjunkies") == -1: - sleep(1) - src = self.req.load(str(url)) - return src - - def handleShow(self, url): - src = self.getSJSrc(url) - soup = BeautifulSoup(src) - packageName = self.pyfile.package().name - if self.getConfig("changeNameSJ") == "Show": - found = unescape(soup.find("h2").find("a").string.split(' –')[0]) - if found: - packageName = found - - nav = soup.find("div", attrs={"id": "scb"}) - - package_links = [] - for a in nav.findAll("a"): - if self.getConfig("changeNameSJ") == "Show": - package_links.append(a['href']) - else: - package_links.append(a['href'] + "#hasName") - if self.getConfig("changeNameSJ") == "Show": - self.packages.append((packageName, package_links, packageName)) - else: - self.core.files.addLinks(package_links, self.pyfile.package().id) - - def handleSeason(self, url): - src = self.getSJSrc(url) - soup = BeautifulSoup(src) - post = soup.find("div", attrs={"class": "post-content"}) - ps = post.findAll("p") - - seasonName = unescape(soup.find("a", attrs={"rel": "bookmark"}).string).replace("–", "-") - groups = {} - gid = -1 - for p in ps: - if re.search("<strong>Sprache|<strong>Format", str(p)): - var = p.findAll("strong") - opts = {"Sprache": "", "Format": ""} - for v in var: - n = unescape(v.string).strip() - n = re.sub(r"^([:]?)(.*?)([:]?)$", r'\2', n) - if n.strip() not in opts: - continue - val = v.nextSibling - if not val: - continue - val = val.replace("|", "").strip() - val = re.sub(r"^([:]?)(.*?)([:]?)$", r'\2', val) - opts[n.strip()] = val.strip() - gid += 1 - groups[gid] = {} - groups[gid]['ep'] = {} - groups[gid]['opts'] = opts - elif re.search("<strong>Download:", str(p)): - parts = str(p).split("<br />") - if re.search("<strong>", parts[0]): - ename = re.search('<strong>(.*?)</strong>', parts[0]).group(1).strip().decode("utf-8").replace( - "–", "-") - groups[gid]['ep'][ename] = {} - parts.remove(parts[0]) - for part in parts: - hostername = re.search(r" \| ([-a-zA-Z0-9]+\.\w+)", part) - if hostername: - hostername = hostername.group(1) - groups[gid]['ep'][ename][hostername] = [] - links = re.findall('href="(.*?)"', part) - for link in links: - groups[gid]['ep'][ename][hostername].append(link + "#hasName") - - links = [] - for g in groups.values(): - for ename in g['ep']: - links.extend(self.getpreferred(g['ep'][ename])) - if self.getConfig("changeNameSJ") == "Episode": - self.packages.append((ename, links, ename)) - links = [] - package = "%s (%s, %s)" % (seasonName, g['opts']['Format'], g['opts']['Sprache']) - if self.getConfig("changeNameSJ") == "Format": - self.packages.append((package, links, package)) - links = [] - if (self.getConfig("changeNameSJ") == "Packagename") or re.search("#hasName", url): - self.core.files.addLinks(links, self.pyfile.package().id) - elif (self.getConfig("changeNameSJ") == "Season") or not re.search("#hasName", url): - self.packages.append((seasonName, links, seasonName)) - - def handleEpisode(self, url): - src = self.getSJSrc(url) - if not src.find( - "Du hast das Download-Limit überschritten! Bitte versuche es später nocheinmal.") == -1: - self.fail(_("Downloadlimit reached")) - else: - soup = BeautifulSoup(src) - form = soup.find("form") - h1 = soup.find("h1") - - if h1.get("class") == "wrap": - captchaTag = soup.find(attrs={"src": re.compile("^/secure/")}) - if not captchaTag: - sleep(5) - self.retry() - - captchaUrl = "http://download.serienjunkies.org" + captchaTag['src'] - result = self.decryptCaptcha(str(captchaUrl), imgtype="png") - sinp = form.find(attrs={"name": "s"}) - - self.req.lastURL = str(url) - sj = self.load(str(url), post={'s': sinp['value'], 'c': result, 'action': "Download"}) - - soup = BeautifulSoup(sj) - rawLinks = soup.findAll(attrs={"action": re.compile("^http://download.serienjunkies.org/")}) - - if not len(rawLinks) > 0: - sleep(1) - self.retry() - return - - self.correctCaptcha() - - links = [] - for link in rawLinks: - frameUrl = link['action'].replace("/go-", "/frame/go-") - links.append(self.handleFrame(frameUrl)) - if re.search("#hasName", url) or ((self.getConfig("changeNameSJ") == "Packagename") and - (self.getConfig("changeNameDJ") == "Packagename")): - self.core.files.addLinks(links, self.pyfile.package().id) - else: - if h1.text[2] == "_": - eName = h1.text[3:] - else: - eName = h1.text - self.packages.append((eName, links, eName)) - - def handleOldStyleLink(self, url): - sj = self.req.load(str(url)) - soup = BeautifulSoup(sj) - form = soup.find("form", attrs={"action": re.compile("^http://serienjunkies.org")}) - captchaTag = form.find(attrs={"src": re.compile("^/safe/secure/")}) - captchaUrl = "http://serienjunkies.org" + captchaTag['src'] - result = self.decryptCaptcha(str(captchaUrl)) - url = form['action'] - sinp = form.find(attrs={"name": "s"}) - - self.req.load(str(url), post={'s': sinp['value'], 'c': result, 'dl.start': "Download"}, cookies=False, - just_header=True) - decrypted = self.req.lastEffectiveURL - if decrypted == str(url): - self.retry() - self.core.files.addLinks([decrypted], self.pyfile.package().id) - - def handleFrame(self, url): - self.req.load(str(url)) - return self.req.lastEffectiveURL - - def handleShowDJ(self, url): - src = self.getSJSrc(url) - soup = BeautifulSoup(src) - post = soup.find("div", attrs={"id": "page_post"}) - ps = post.findAll("p") - found = unescape(soup.find("h2").find("a").string.split(' –')[0]) - if found: - seasonName = found - - groups = {} - gid = -1 - for p in ps: - if re.search("<strong>Sprache|<strong>Format", str(p)): - var = p.findAll("strong") - opts = {"Sprache": "", "Format": ""} - for v in var: - n = unescape(v.string).strip() - n = re.sub(r"^([:]?)(.*?)([:]?)$", r'\2', n) - if n.strip() not in opts: - continue - val = v.nextSibling - if not val: - continue - val = val.replace("|", "").strip() - val = re.sub(r"^([:]?)(.*?)([:]?)$", r'\2', val) - opts[n.strip()] = val.strip() - gid += 1 - groups[gid] = {} - groups[gid]['ep'] = {} - groups[gid]['opts'] = opts - elif re.search("<strong>Download:", str(p)): - parts = str(p).split("<br />") - if re.search("<strong>", parts[0]): - ename = re.search('<strong>(.*?)</strong>', parts[0]).group(1).strip().decode("utf-8").replace( - "–", "-") - groups[gid]['ep'][ename] = {} - parts.remove(parts[0]) - for part in parts: - hostername = re.search(r" \| ([-a-zA-Z0-9]+\.\w+)", part) - if hostername: - hostername = hostername.group(1) - groups[gid]['ep'][ename][hostername] = [] - links = re.findall('href="(.*?)"', part) - for link in links: - groups[gid]['ep'][ename][hostername].append(link + "#hasName") - - links = [] - for g in groups.values(): - for ename in g['ep']: - links.extend(self.getpreferred(g['ep'][ename])) - if self.getConfig("changeNameDJ") == "Episode": - self.packages.append((ename, links, ename)) - links = [] - package = "%s (%s, %s)" % (seasonName, g['opts']['Format'], g['opts']['Sprache']) - if self.getConfig("changeNameDJ") == "Format": - self.packages.append((package, links, package)) - links = [] - if (self.getConfig("changeNameDJ") == "Packagename") or re.search("#hasName", url): - self.core.files.addLinks(links, self.pyfile.package().id) - elif (self.getConfig("changeNameDJ") == "Show") or not re.search("#hasName", url): - self.packages.append((seasonName, links, seasonName)) - - def handleCategoryDJ(self, url): - package_links = [] - src = self.getSJSrc(url) - soup = BeautifulSoup(src) - content = soup.find("div", attrs={"id": "content"}) - for a in content.findAll("a", attrs={"rel": "bookmark"}): - package_links.append(a['href']) - self.core.files.addLinks(package_links, self.pyfile.package().id) - - def decrypt(self, pyfile): - showPattern = re.compile("^http://serienjunkies.org/serie/(.*)/$") - seasonPattern = re.compile("^http://serienjunkies.org/.*?/(.*)/$") - episodePattern = re.compile("^http://download.serienjunkies.org/f-.*?.html(#hasName)?$") - oldStyleLink = re.compile("^http://serienjunkies.org/safe/(.*)$") - categoryPatternDJ = re.compile("^http://dokujunkies.org/.*?(.*)$") - showPatternDJ = re.compile(r"^http://dokujunkies.org/.*?/(.*)\.html(#hasName)?$") - framePattern = re.compile("^http://download.(serienjunkies.org|dokujunkies.org)/frame/go-.*?/$") - url = pyfile.url - if framePattern.match(url): - self.packages.append((pyfile.package().name, [self.handleFrame(url)], pyfile.package().name)) - elif episodePattern.match(url): - self.handleEpisode(url) - elif oldStyleLink.match(url): - self.handleOldStyleLink(url) - elif showPattern.match(url): - self.handleShow(url) - elif showPatternDJ.match(url): - self.handleShowDJ(url) - elif seasonPattern.match(url): - self.handleSeason(url) - elif categoryPatternDJ.match(url): - self.handleCategoryDJ(url) - - #selects the preferred hoster, after that selects any hoster (ignoring the one to ignore) - def getpreferred(self, hosterlist): - - result = [] - preferredList = self.getConfig("hosterList").strip().lower().replace( - '|', ',').replace('.', '').replace(';', ',').split(',') - if (self.getConfig("randomPreferred") is True) and ( - self.getConfig("hosterListMode") in ["OnlyOne", "OnlyPreferred(One)"]): - random.shuffle(preferredList) - # we don't want hosters be read two times - hosterlist2 = hosterlist.copy() - - for preferred in preferredList: - for Hoster in hosterlist: - if preferred == Hoster.lower().replace('.', ''): - for Part in hosterlist[Hoster]: - self.logDebug("Selected " + Part) - result.append(str(Part)) - del (hosterlist2[Hoster]) - if self.getConfig("hosterListMode") in ["OnlyOne", "OnlyPreferred(One)"]: - return result - - ignorelist = self.getConfig("ignoreList").strip().lower().replace( - '|', ',').replace('.', '').replace(';', ',').split(',') - if self.getConfig('hosterListMode') in ["OnlyOne", "All"]: - for Hoster in hosterlist2: - if Hoster.strip().lower().replace('.', '') not in ignorelist: - for Part in hosterlist2[Hoster]: - self.logDebug("Selected2 " + Part) - result.append(str(Part)) - - if self.getConfig('hosterListMode') == "OnlyOne": - return result - return result -- cgit v1.2.3 From 33322d1b9fc5146c8b3cdc443d915d94f3ed0b52 Mon Sep 17 00:00:00 2001 From: zapp-brannigan <fuerst.reinje@web.de> Date: Fri, 3 Oct 2014 17:31:04 +0200 Subject: [Dev-Host] Folder support (partially) --- module/plugins/crypter/DevhostStFolder.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 module/plugins/crypter/DevhostStFolder.py (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/DevhostStFolder.py b/module/plugins/crypter/DevhostStFolder.py new file mode 100644 index 000000000..79aaf926f --- /dev/null +++ b/module/plugins/crypter/DevhostStFolder.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +# +# Test links: +# http://d-h.st/users/shine/?fld_id=37263#files + +import re + +from urlparse import urljoin + +from module.plugins.internal.SimpleCrypter import SimpleCrypter + + +class DevhostStFolder(SimpleCrypter): + __name__ = "DevhostStFolder" + __type__ = "crypter" + __version__ = "0.01" + + __pattern__ = r"http://(?:www\.)?d-h\.st/users/\w+/\?fld_id=\d+" + + __description__ = """d-h.st decrypter plugin""" + __author_name_ = "zapp-brannigan" + __author_mail_ = "fuerst.reinje@web.de" + + + LINK_PATTERN = r'width: 530px;"><a href="(.+?)"' + + + def getLinks(self): + return [urljoin("http://d-h.st", link) for link in re.findall(self.LINK_PATTERN, self.html)] -- cgit v1.2.3 From a7bfc1172c1c92deea5e0b37c98f20d03aca3b5f Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Fri, 3 Oct 2014 17:37:19 +0200 Subject: [Dev-Host] Improve patterns a bit --- module/plugins/crypter/DevhostStFolder.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/DevhostStFolder.py b/module/plugins/crypter/DevhostStFolder.py index 79aaf926f..0d9c032cb 100644 --- a/module/plugins/crypter/DevhostStFolder.py +++ b/module/plugins/crypter/DevhostStFolder.py @@ -15,14 +15,14 @@ class DevhostStFolder(SimpleCrypter): __type__ = "crypter" __version__ = "0.01" - __pattern__ = r"http://(?:www\.)?d-h\.st/users/\w+/\?fld_id=\d+" + __pattern__ = r'http://(?:www\.)?d-h\.st/users/\w+/\?fld_id=\d+' __description__ = """d-h.st decrypter plugin""" __author_name_ = "zapp-brannigan" __author_mail_ = "fuerst.reinje@web.de" - LINK_PATTERN = r'width: 530px;"><a href="(.+?)"' + LINK_PATTERN = r';"><a href="/(\w+)' def getLinks(self): -- cgit v1.2.3 From 7e74afa16d11141e3c13fe05e37ee83bbe02421a Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 4 Oct 2014 23:34:12 +0200 Subject: [HotfileFolderCom] Mark dead --- module/plugins/crypter/HotfileFolderCom.py | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/HotfileFolderCom.py b/module/plugins/crypter/HotfileFolderCom.py index 3efd8fc87..733437ec2 100644 --- a/module/plugins/crypter/HotfileFolderCom.py +++ b/module/plugins/crypter/HotfileFolderCom.py @@ -1,30 +1,15 @@ # -*- coding: utf-8 -*- -import re +from module.plugins.internal.DeadCrypter import DeadCrypter -from module.plugins.Crypter import Crypter - -class HotfileFolderCom(Crypter): +class HotfileFolderCom(DeadCrypter): __name__ = "HotfileFolderCom" __type__ = "crypter" - __version__ = "0.1" + __version__ = "0.2" - __pattern__ = r'http://(?:www\.)?hotfile.com/list/\w+/\w+' + __pattern__ = r'https)://(?:www\.)?hotfile\.com/list/\w+/\w+' __description__ = """Hotfile.com folder decrypter plugin""" __author_name__ = "RaNaN" __author_mail__ = "RaNaN@pyload.org" - - - def decrypt(self, pyfile): - html = self.load(pyfile.url) - - name = re.findall( - r'<img src="/i/folder.gif" width="23" height="14" style="margin-bottom: -2px;" />([^<]+)', html, - re.MULTILINE)[0].replace("/", "") - new_links = re.findall(r'href="(http://(www.)?hotfile\.com/dl/\d+/[0-9a-zA-Z]+[^"]+)', html) - - new_links = [x[0] for x in new_links] - - self.packages = [(name, new_links, name)] -- cgit v1.2.3 From a4a2330adc70f9d0b3d2bc2e10386e2a5d8749ea Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 4 Oct 2014 23:35:49 +0200 Subject: Spare __pattern__ cosmetics --- module/plugins/crypter/LixIn.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/LixIn.py b/module/plugins/crypter/LixIn.py index beba5ed04..dec2e02d3 100644 --- a/module/plugins/crypter/LixIn.py +++ b/module/plugins/crypter/LixIn.py @@ -10,7 +10,7 @@ class LixIn(Crypter): __type__ = "crypter" __version__ = "0.22" - __pattern__ = r'http://(www.)?lix.in/(?P<id>.*)' + __pattern__ = r'http://(?:www\.)?lix\.in/(?P<ID>.+)' __description__ = """Lix.in decrypter plugin""" __author_name__ = "spoob" @@ -28,7 +28,7 @@ class LixIn(Crypter): if m is None: self.fail("couldn't identify file id") - id = m.group("id") + id = m.group("ID") self.logDebug("File id is %s" % id) self.html = self.req.load(url, decode=True) -- cgit v1.2.3 From a9117257f71984d553811a605150acb5d1b499ce Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sun, 5 Oct 2014 02:27:07 +0200 Subject: Better import lib header --- module/plugins/crypter/DuckCryptInfo.py | 9 ++------- module/plugins/crypter/HoerbuchIn.py | 4 ++-- module/plugins/crypter/SafelinkingNet.py | 2 +- 3 files changed, 5 insertions(+), 10 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/DuckCryptInfo.py b/module/plugins/crypter/DuckCryptInfo.py index 26b06c1c7..b278f2248 100644 --- a/module/plugins/crypter/DuckCryptInfo.py +++ b/module/plugins/crypter/DuckCryptInfo.py @@ -2,7 +2,7 @@ import re -from module.lib.BeautifulSoup import BeautifulSoup +from BeautifulSoup import BeautifulSoup from module.plugins.Crypter import Crypter @@ -23,12 +23,7 @@ class DuckCryptInfo(Crypter): def decrypt(self, pyfile): url = pyfile.url - # seems we don't need to wait - #src = self.req.load(str(url)) - #m = re.search(self.TIMER_PATTERN, src) - #if m: - # self.logDebug("Sleeping for" % m.group(1)) - # self.setWait(int(m.group(1)) ,False) + m = re.match(self.__pattern__, url) if m is None: self.fail('Weird error in link') diff --git a/module/plugins/crypter/HoerbuchIn.py b/module/plugins/crypter/HoerbuchIn.py index 924ce5d3a..a283ff823 100644 --- a/module/plugins/crypter/HoerbuchIn.py +++ b/module/plugins/crypter/HoerbuchIn.py @@ -2,7 +2,7 @@ import re -from module.lib.BeautifulSoup import BeautifulSoup, BeautifulStoneSoup +from BeautifulSoup import BeautifulSoup, BeautifulStoneSoup from module.plugins.Crypter import Crypter @@ -45,7 +45,7 @@ class HoerbuchIn(Crypter): url = m.group(0) self.pyfile.url = url - src = self.req.load(url, post={"viewed": "adpg"}) + src = self.load(url, post={"viewed": "adpg"}) links = [] pattern = re.compile("http://www\.hoerbuch\.in/protection/(\w+)/(.*?)\"") diff --git a/module/plugins/crypter/SafelinkingNet.py b/module/plugins/crypter/SafelinkingNet.py index e0c165705..d548bdf89 100644 --- a/module/plugins/crypter/SafelinkingNet.py +++ b/module/plugins/crypter/SafelinkingNet.py @@ -4,7 +4,7 @@ import re from pycurl import FOLLOWLOCATION -from module.lib.BeautifulSoup import BeautifulSoup +from BeautifulSoup import BeautifulSoup from module.common.json_layer import json_loads from module.plugins.Crypter import Crypter -- cgit v1.2.3 From 40c01be326e336cd582db935cf53bc06e8f17b3c Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sun, 5 Oct 2014 01:51:08 +0200 Subject: [LinkSaveIn] Now SimpleCrypter based --- module/plugins/crypter/LinkSaveIn.py | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index e80686c02..8b2b02ea6 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -8,14 +8,15 @@ import binascii import re from Crypto.Cipher import AES -from module.plugins.Crypter import Crypter + +from module.plugins.internal.SimpleCrypter import SimpleCrypter from module.unescape import unescape -class LinkSaveIn(Crypter): +class LinkSaveIn(SimpleCrypter): __name__ = "LinkSaveIn" __type__ = "crypter" - __version__ = "2.01" + __version__ = "2.02" __pattern__ = r'http://(?:www\.)?linksave.in/(?P<id>\w+)$' @@ -23,10 +24,12 @@ class LinkSaveIn(Crypter): __author_name__ = "fragonib" __author_mail__ = "fragonib[AT]yahoo[DOT]es" + + COOKIES = [(".linksave.in", "Linksave_Language", "english")] + # Constants _JK_KEY_ = "jk" _CRYPTED_KEY_ = "crypted" - HOSTER_NAME = "linksave.in" def setup(self): @@ -36,11 +39,11 @@ class LinkSaveIn(Crypter): self.package = None self.preferred_sources = ["cnl2", "rsdf", "ccf", "dlc", "web"] + def decrypt(self, pyfile): # Init self.package = pyfile.package() self.fileid = re.match(self.__pattern__, pyfile.url).group('id') - self.req.cj.setCookie(self.HOSTER_NAME, "Linksave_Language", "english") # Request package self.html = self.load(pyfile.url) @@ -74,41 +77,48 @@ class LinkSaveIn(Crypter): else: self.fail('Could not extract any links') + def isOnline(self): if "<big>Error 404 - Folder not found!</big>" in self.html: self.logDebug("File not found") return False return True + def isPasswordProtected(self): if re.search(r'''<input.*?type="password"''', self.html): self.logDebug("Links are password protected") return True + def isCaptchaProtected(self): if "<b>Captcha:</b>" in self.html: self.logDebug("Links are captcha protected") return True return False + def unlockPasswordProtection(self): password = self.getPassword() self.logDebug("Submitting password [%s] for protected links" % password) post = {"id": self.fileid, "besucherpasswort": password, 'login': 'submit'} self.html = self.load(self.pyfile.url, post=post) + def unlockCaptchaProtection(self): captcha_hash = re.search(r'name="hash" value="([^"]+)', self.html).group(1) captcha_url = re.search(r'src=".(/captcha/cap.php\?hsh=[^"]+)', self.html).group(1) captcha_code = self.decryptCaptcha("http://linksave.in" + captcha_url, forceUser=True) self.html = self.load(self.pyfile.url, post={"id": self.fileid, "hash": captcha_hash, "code": captcha_code}) + def getPackageInfo(self): name = self.pyfile.package().name folder = self.pyfile.package().folder self.logDebug("Defaulting to pyfile name [%s] and folder [%s] for package" % (name, folder)) return name, folder + def handleErrors(self): if "The visitorpassword you have entered is wrong" in self.html: self.logDebug("Incorrect password, please set right password on 'Edit package' form and retry") @@ -122,6 +132,7 @@ class LinkSaveIn(Crypter): else: self.correctCaptcha() + def handleLinkSource(self, type_): if type_ == "cnl2": return self.handleCNL2() @@ -132,6 +143,7 @@ class LinkSaveIn(Crypter): else: self.fail('unknown source type "%s" (this is probably a bug)' % type_) + def handleWebLinks(self): package_links = [] self.logDebug("Search for Web links") @@ -159,6 +171,7 @@ class LinkSaveIn(Crypter): self.logDebug("Error decrypting Web link %s, %s" % (webLink, detail)) return package_links + def handleContainer(self, type_): package_links = [] type_ = type_.lower() @@ -173,6 +186,7 @@ class LinkSaveIn(Crypter): package_links.append(link) return package_links + def handleCNL2(self): package_links = [] self.logDebug("Search for CNL2 links") @@ -187,6 +201,7 @@ class LinkSaveIn(Crypter): self.fail("Unable to decrypt CNL2 links") return package_links + def _getCipherParams(self): # Get jk jk_re = r'<INPUT.*?NAME="%s".*?VALUE="(.*?)"' % LinkSaveIn._JK_KEY_ @@ -200,6 +215,7 @@ class LinkSaveIn(Crypter): self.logDebug("Detected %d crypted blocks" % len(vcrypted)) return vcrypted, vjk + def _getLinks(self, crypted, jk): # Get key jreturn = self.js.eval("%s f()" % jk) -- cgit v1.2.3 From 1047c706d41dec4a49a747496c2ec01ed3bf7801 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sun, 5 Oct 2014 01:54:58 +0200 Subject: Use load instead req.load in all crypters and CaptchaService --- module/plugins/crypter/DDLMusicOrg.py | 4 ++-- module/plugins/crypter/LixIn.py | 6 +++--- module/plugins/crypter/OneKhDe.py | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/DDLMusicOrg.py b/module/plugins/crypter/DDLMusicOrg.py index f5e7203d3..9d76bf11a 100644 --- a/module/plugins/crypter/DDLMusicOrg.py +++ b/module/plugins/crypter/DDLMusicOrg.py @@ -23,7 +23,7 @@ class DDLMusicOrg(Crypter): self.multiDL = False def decrypt(self, pyfile): - html = self.req.load(pyfile.url, cookies=True) + html = self.load(pyfile.url, cookies=True) if re.search(r"Wer dies nicht rechnen kann", html) is not None: self.offline() @@ -38,7 +38,7 @@ class DDLMusicOrg(Crypter): else: solve = int(math.group(1)) - int(math.group(3)) sleep(3) - htmlwithlink = self.req.load(pyfile.url, cookies=True, + htmlwithlink = self.load(pyfile.url, cookies=True, post={"calc%s" % linknr: solve, "send%s" % linknr: "Send", "id": id, "linknr": linknr}) m = re.search(r"<form id=\"ff\" action=\"(.*?)\" method=\"post\">", htmlwithlink) diff --git a/module/plugins/crypter/LixIn.py b/module/plugins/crypter/LixIn.py index dec2e02d3..7aedda686 100644 --- a/module/plugins/crypter/LixIn.py +++ b/module/plugins/crypter/LixIn.py @@ -31,7 +31,7 @@ class LixIn(Crypter): id = m.group("ID") self.logDebug("File id is %s" % id) - self.html = self.req.load(url, decode=True) + self.html = self.load(url, decode=True) m = re.search(self.SUBMIT_PATTERN, self.html) if m is None: @@ -44,12 +44,12 @@ class LixIn(Crypter): if m: self.logDebug("Trying captcha") captcharesult = self.decryptCaptcha("http://lix.in/" + m.group("image")) - self.html = self.req.load(url, decode=True, + self.html = self.load(url, decode=True, post={"capt": captcharesult, "submit": "submit", "tiny": id}) else: self.logDebug("No captcha/captcha solved") else: - self.html = self.req.load(url, decode=True, post={"submit": "submit", "tiny": id}) + self.html = self.load(url, decode=True, post={"submit": "submit", "tiny": id}) m = re.search(self.LINK_PATTERN, self.html) if m is None: diff --git a/module/plugins/crypter/OneKhDe.py b/module/plugins/crypter/OneKhDe.py index ba93278d5..4b22432f8 100644 --- a/module/plugins/crypter/OneKhDe.py +++ b/module/plugins/crypter/OneKhDe.py @@ -30,9 +30,9 @@ class OneKhDe(Crypter): def proceed(self, url, location): url = self.parent.url - self.html = self.req.load(url) + self.html = self.load(url) link_ids = re.findall(r"<a id=\"DownloadLink_(\d*)\" href=\"http://1kh.de/", self.html) for id in link_ids: new_link = unescape( - re.search("width=\"100%\" src=\"(.*)\"></iframe>", self.req.load("http://1kh.de/l/" + id)).group(1)) + re.search("width=\"100%\" src=\"(.*)\"></iframe>", self.load("http://1kh.de/l/" + id)).group(1)) self.urls.append(new_link) -- cgit v1.2.3 From c6eb00c85ee7ee83621175003e6140cdddf8f35e Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sun, 5 Oct 2014 11:52:56 +0200 Subject: [HotfileFolderCom] Fix broken __pattern__ (thx zapp-brannigan) --- module/plugins/crypter/HotfileFolderCom.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/HotfileFolderCom.py b/module/plugins/crypter/HotfileFolderCom.py index 733437ec2..16fa604c9 100644 --- a/module/plugins/crypter/HotfileFolderCom.py +++ b/module/plugins/crypter/HotfileFolderCom.py @@ -6,9 +6,9 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class HotfileFolderCom(DeadCrypter): __name__ = "HotfileFolderCom" __type__ = "crypter" - __version__ = "0.2" + __version__ = "0.3" - __pattern__ = r'https)://(?:www\.)?hotfile\.com/list/\w+/\w+' + __pattern__ = r'https?://(?:www\.)?hotfile\.com/list/\w+/\w+' __description__ = """Hotfile.com folder decrypter plugin""" __author_name__ = "RaNaN" -- cgit v1.2.3 From ff91b58bf9ee65aaeb048426295af6ad122b119e Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sun, 5 Oct 2014 22:14:53 +0200 Subject: Spare code cosmetics --- module/plugins/crypter/DevhostStFolder.py | 2 +- module/plugins/crypter/EasybytezComFolder.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/DevhostStFolder.py b/module/plugins/crypter/DevhostStFolder.py index 0d9c032cb..1986f9fd0 100644 --- a/module/plugins/crypter/DevhostStFolder.py +++ b/module/plugins/crypter/DevhostStFolder.py @@ -17,7 +17,7 @@ class DevhostStFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?d-h\.st/users/\w+/\?fld_id=\d+' - __description__ = """d-h.st decrypter plugin""" + __description__ = """d-h.st folder decrypter plugin""" __author_name_ = "zapp-brannigan" __author_mail_ = "fuerst.reinje@web.de" diff --git a/module/plugins/crypter/EasybytezComFolder.py b/module/plugins/crypter/EasybytezComFolder.py index 500f12278..be85a3798 100644 --- a/module/plugins/crypter/EasybytezComFolder.py +++ b/module/plugins/crypter/EasybytezComFolder.py @@ -10,7 +10,7 @@ class EasybytezComFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?easybytez\.com/users/(?P<ID>\d+/\d+)' - __description__ = """Easybytez.com decrypter plugin""" + __description__ = """Easybytez.com folder decrypter plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" -- cgit v1.2.3 From 4d2aae75e639c3fb78fe1ec454cafea5617ffd4e Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Mon, 6 Oct 2014 01:50:55 +0200 Subject: [DevhostStFolder] Folder-in-folder support --- module/plugins/crypter/DevhostStFolder.py | 33 ++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/DevhostStFolder.py b/module/plugins/crypter/DevhostStFolder.py index 1986f9fd0..049f1dabc 100644 --- a/module/plugins/crypter/DevhostStFolder.py +++ b/module/plugins/crypter/DevhostStFolder.py @@ -13,16 +13,39 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DevhostStFolder(SimpleCrypter): __name__ = "DevhostStFolder" __type__ = "crypter" - __version__ = "0.01" + __version__ = "0.02" - __pattern__ = r'http://(?:www\.)?d-h\.st/users/\w+/\?fld_id=\d+' + __pattern__ = r'http://(?:www\.)?d-h\.st/users/(?P<USER>\w+)(/\?fld_id=(?P<ID>\d+))?' __description__ = """d-h.st folder decrypter plugin""" - __author_name_ = "zapp-brannigan" - __author_mail_ = "fuerst.reinje@web.de" + __author_name_ = ("zapp-brannigan", "Walter Purcaro") + __author_mail_ = ("fuerst.reinje@web.de", "vuolter@gmail.com") - LINK_PATTERN = r';"><a href="/(\w+)' + LINK_PATTERN = r'(?:/> |;">)<a href="(.+?)"(?!>Back to \w+<)' + OFFLINE_PATTERN = r'"/cHP">test\.png<' + + + def getPackageNameAndFolder(self): + try: + id = re.match(self.__pattern__, self.pyfile.url).group('ID') + if id == "0": + raise + + p = r'href="(.+?)">Back to \w+<' + m = re.search(p, self.html) + html = self.load(urljoin("http://d-h.st", m.group(1)), + cookies=False) + + p = '\?fld_id=%s.*?">(.+?)<' % id + m = re.search(p, html) + name = folder = m.group(1) + + except Exception, e: + self.logDebug(str(e)) + name = folder = re.match(self.__pattern__, self.pyfile.url).group('USER') + + return name, folder def getLinks(self): -- cgit v1.2.3 From 6f08566dd6c75d76f5cd2c1dc835e0c22838780f Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Mon, 6 Oct 2014 14:49:16 +0200 Subject: Update SimpleCrypter based plugins --- module/plugins/crypter/BitshareComFolder.py | 4 ++-- module/plugins/crypter/DataHuFolder.py | 4 ++-- module/plugins/crypter/EasybytezComFolder.py | 4 ++-- module/plugins/crypter/FilecloudIoFolder.py | 4 ++-- module/plugins/crypter/FilefactoryComFolder.py | 6 +++--- module/plugins/crypter/FilerNetFolder.py | 4 ++-- module/plugins/crypter/FilestubeCom.py | 4 ++-- module/plugins/crypter/FiletramCom.py | 4 ++-- module/plugins/crypter/FiredriveComFolder.py | 4 ++-- module/plugins/crypter/FreakhareComFolder.py | 6 +++--- module/plugins/crypter/ImgurComAlbum.py | 4 ++-- module/plugins/crypter/MultiUpOrg.py | 4 ++-- module/plugins/crypter/NetfolderIn.py | 4 ++-- module/plugins/crypter/NosvideoCom.py | 4 ++-- module/plugins/crypter/PastebinCom.py | 4 ++-- module/plugins/crypter/TnyCz.py | 4 ++-- module/plugins/crypter/TurbobitNetFolder.py | 4 ++-- module/plugins/crypter/TusfilesNetFolder.py | 6 +++--- module/plugins/crypter/UploadableChFolder.py | 4 ++-- module/plugins/crypter/UploadedToFolder.py | 4 ++-- 20 files changed, 43 insertions(+), 43 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/BitshareComFolder.py b/module/plugins/crypter/BitshareComFolder.py index 219dabce8..f6a74bcad 100644 --- a/module/plugins/crypter/BitshareComFolder.py +++ b/module/plugins/crypter/BitshareComFolder.py @@ -6,7 +6,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class BitshareComFolder(SimpleCrypter): __name__ = "BitshareComFolder" __type__ = "crypter" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?bitshare\.com/\?d=\w+' @@ -15,4 +15,4 @@ class BitshareComFolder(SimpleCrypter): __author_mail__ = "l.stickell@yahoo.it" LINK_PATTERN = r'<a href="(http://bitshare.com/files/.+)">.+</a></td>' - TITLE_PATTERN = r'View public folder "(?P<title>.+)"</h1>' + TITLE_PATTERN = r'View public folder "(.+)"</h1>' diff --git a/module/plugins/crypter/DataHuFolder.py b/module/plugins/crypter/DataHuFolder.py index a500ac796..31e71944f 100644 --- a/module/plugins/crypter/DataHuFolder.py +++ b/module/plugins/crypter/DataHuFolder.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DataHuFolder(SimpleCrypter): __name__ = "DataHuFolder" __type__ = "crypter" - __version__ = "0.03" + __version__ = "0.04" __pattern__ = r'http://(?:www\.)?data.hu/dir/\w+' @@ -17,7 +17,7 @@ class DataHuFolder(SimpleCrypter): __author_mail__ = "l.stickell@yahoo.it" LINK_PATTERN = r"<a href='(http://data\.hu/get/.+)' target='_blank'>\1</a>" - TITLE_PATTERN = ur'<title>(?P<title>.+) Let\xf6lt\xe9se</title>' + TITLE_PATTERN = ur'<title>(.+) Let\xf6lt\xe9se</title>' def decrypt(self, pyfile): diff --git a/module/plugins/crypter/EasybytezComFolder.py b/module/plugins/crypter/EasybytezComFolder.py index be85a3798..2a261e709 100644 --- a/module/plugins/crypter/EasybytezComFolder.py +++ b/module/plugins/crypter/EasybytezComFolder.py @@ -6,7 +6,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class EasybytezComFolder(SimpleCrypter): __name__ = "EasybytezComFolder" __type__ = "crypter" - __version__ = "0.07" + __version__ = "0.08" __pattern__ = r'http://(?:www\.)?easybytez\.com/users/(?P<ID>\d+/\d+)' @@ -18,6 +18,6 @@ class EasybytezComFolder(SimpleCrypter): URL_REPLACEMENTS = [(__pattern__, r"http://www.easybytez.com/users/\g<ID>?per_page=10000")] LINK_PATTERN = r'<td><a href="(http://www\.easybytez\.com/\w+)" target="_blank">.+(?:</a>)?</td>' - TITLE_PATTERN = r'<Title>Files of \d+: (?P<title>.+) folder</Title>' + TITLE_PATTERN = r'<Title>Files of \d+: (.+) folder</Title>' LOGIN_ACCOUNT = True diff --git a/module/plugins/crypter/FilecloudIoFolder.py b/module/plugins/crypter/FilecloudIoFolder.py index 9ec950061..eb6aaa847 100644 --- a/module/plugins/crypter/FilecloudIoFolder.py +++ b/module/plugins/crypter/FilecloudIoFolder.py @@ -6,7 +6,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilecloudIoFolder(SimpleCrypter): __name__ = "FilecloudIoFolder" __type__ = "crypter" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'https?://(?:www\.)?(filecloud\.io|ifile\.it)/_\w+' @@ -15,4 +15,4 @@ class FilecloudIoFolder(SimpleCrypter): __author_mail__ = "vuolter@gmail.com" LINK_PATTERN = r'href="(http://filecloud.io/\w+)" title' - TITLE_PATTERN = r'>(?P<title>.+?) - filecloud.io<' + TITLE_PATTERN = r'>(.+?) - filecloud.io<' diff --git a/module/plugins/crypter/FilefactoryComFolder.py b/module/plugins/crypter/FilefactoryComFolder.py index b565b4d0b..08978c032 100644 --- a/module/plugins/crypter/FilefactoryComFolder.py +++ b/module/plugins/crypter/FilefactoryComFolder.py @@ -6,7 +6,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilefactoryComFolder(SimpleCrypter): __name__ = "FilefactoryComFolder" __type__ = "crypter" - __version__ = "0.2" + __version__ = "0.3" __pattern__ = r'https?://(?:www\.)?filefactory\.com/(?:f|folder)/\w+' @@ -15,8 +15,8 @@ class FilefactoryComFolder(SimpleCrypter): __author_mail__ = "l.stickell@yahoo.it" LINK_PATTERN = r'<td><a href="([^"]+)">' - TITLE_PATTERN = r'<h1>Files in <span>(?P<title>.+)</span></h1>' - PAGES_PATTERN = r'data-paginator-totalPages="(?P<pages>\d+)"' + TITLE_PATTERN = r'<h1>Files in <span>(.+)</span></h1>' + PAGES_PATTERN = r'data-paginator-totalPages="(\d+)"' COOKIES = [('.filefactory.com', 'locale', 'en_US.utf8')] diff --git a/module/plugins/crypter/FilerNetFolder.py b/module/plugins/crypter/FilerNetFolder.py index 9951661b5..0195b8af9 100644 --- a/module/plugins/crypter/FilerNetFolder.py +++ b/module/plugins/crypter/FilerNetFolder.py @@ -6,7 +6,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilerNetFolder(SimpleCrypter): __name__ = "FilerNetFolder" __type__ = "crypter" - __version__ = "0.3" + __version__ = "0.4" __pattern__ = r'https?://filer\.net/folder/\w{16}' @@ -15,7 +15,7 @@ class FilerNetFolder(SimpleCrypter): __author_mail_ = ("nathan.notwhite@gmail.com", "l.stickell@yahoo.it") LINK_PATTERN = r'href="(/get/\w{16})">(?!<)' - TITLE_PATTERN = r'<h3>(?P<title>.+) - <small' + TITLE_PATTERN = r'<h3>(.+?) - <small' def getLinks(self): diff --git a/module/plugins/crypter/FilestubeCom.py b/module/plugins/crypter/FilestubeCom.py index f0aaaa579..3caee9e62 100644 --- a/module/plugins/crypter/FilestubeCom.py +++ b/module/plugins/crypter/FilestubeCom.py @@ -6,7 +6,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilestubeCom(SimpleCrypter): __name__ = "FilestubeCom" __type__ = "crypter" - __version__ = "0.03" + __version__ = "0.04" __pattern__ = r'http://(?:www\.)?filestube\.(?:com|to)/\w+' @@ -15,4 +15,4 @@ class FilestubeCom(SimpleCrypter): __author_mail__ = "l.stickell@yahoo.it" LINK_PATTERN = r'<a class=\"file-link-main(?: noref)?\" [^>]* href=\"(http://[^\"]+)' - TITLE_PATTERN = r'<h1\s*> (?P<title>.+) download\s*</h1>' + TITLE_PATTERN = r'<h1\s*> (.+) download\s*</h1>' diff --git a/module/plugins/crypter/FiletramCom.py b/module/plugins/crypter/FiletramCom.py index 7052955cf..6125914ff 100644 --- a/module/plugins/crypter/FiletramCom.py +++ b/module/plugins/crypter/FiletramCom.py @@ -6,7 +6,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FiletramCom(SimpleCrypter): __name__ = "FiletramCom" __type__ = "crypter" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?filetram.com/[^/]+/.+' @@ -15,4 +15,4 @@ class FiletramCom(SimpleCrypter): __author_mail__ = ("igelkun@myopera.com", "l.stickell@yahoo.it") LINK_PATTERN = r'\s+(http://.+)' - TITLE_PATTERN = r'<title>(?P<title>[^<]+) - Free Download[^<]*</title>' + TITLE_PATTERN = r'<title>(.+?) - Free Download' diff --git a/module/plugins/crypter/FiredriveComFolder.py b/module/plugins/crypter/FiredriveComFolder.py index a94d0847f..4831101cc 100644 --- a/module/plugins/crypter/FiredriveComFolder.py +++ b/module/plugins/crypter/FiredriveComFolder.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FiredriveComFolder(SimpleCrypter): __name__ = "FiredriveComFolder" __type__ = "crypter" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'https?://(?:www\.)?(firedrive|putlocker)\.com/share/.+' @@ -17,7 +17,7 @@ class FiredriveComFolder(SimpleCrypter): __author_mail__ = "vuolter@gmail.com" LINK_PATTERN = r'<div class="pf_item pf_(file|folder).+?public=\'(.+?)\'' - TITLE_PATTERN = r'>Shared Folder "(?P<title>.+)" | Firedrive<' + TITLE_PATTERN = r'>Shared Folder "(.+)" | Firedrive<' OFFLINE_PATTERN = r'class="sad_face_image"|>No such page here.<' TEMP_OFFLINE_PATTERN = r'>(File Temporarily Unavailable|Server Error. Try again later)' diff --git a/module/plugins/crypter/FreakhareComFolder.py b/module/plugins/crypter/FreakhareComFolder.py index 2a6877891..5036a8842 100644 --- a/module/plugins/crypter/FreakhareComFolder.py +++ b/module/plugins/crypter/FreakhareComFolder.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FreakhareComFolder(SimpleCrypter): __name__ = "FreakhareComFolder" __type__ = "crypter" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?freakshare\.com/folder/.+' @@ -17,8 +17,8 @@ class FreakhareComFolder(SimpleCrypter): __author_mail__ = "l.stickell@yahoo.it" LINK_PATTERN = r'<a href="(http://freakshare.com/files/[^"]+)" target="_blank">' - TITLE_PATTERN = r'Folder:</b> (?P<title>.+)' - PAGES_PATTERN = r'Pages: +(?P<pages>\d+)' + TITLE_PATTERN = r'Folder:</b> (.+)' + PAGES_PATTERN = r'Pages: +(\d+)' def loadPage(self, page_n): diff --git a/module/plugins/crypter/ImgurComAlbum.py b/module/plugins/crypter/ImgurComAlbum.py index eb1f4441a..72674a8fb 100644 --- a/module/plugins/crypter/ImgurComAlbum.py +++ b/module/plugins/crypter/ImgurComAlbum.py @@ -7,7 +7,7 @@ from module.utils import uniqify class ImgurComAlbum(SimpleCrypter): __name__ = "ImgurComAlbum" __type__ = "crypter" - __version__ = "0.4" + __version__ = "0.5" __pattern__ = r'https?://(?:www\.|m\.)?imgur\.com/(a|gallery|)/?\w{5,7}' @@ -15,7 +15,7 @@ class ImgurComAlbum(SimpleCrypter): __author_name_ = "nath_schwarz" __author_mail_ = "nathan.notwhite@gmail.com" - TITLE_PATTERN = r'(?P<title>.+) - Imgur' + TITLE_PATTERN = r'(.+?) - Imgur' LINK_PATTERN = r'i\.imgur\.com/\w{7}s?\.(?:jpeg|jpg|png|gif|apng)' diff --git a/module/plugins/crypter/MultiUpOrg.py b/module/plugins/crypter/MultiUpOrg.py index ffeaa6f04..cd0ec33ad 100644 --- a/module/plugins/crypter/MultiUpOrg.py +++ b/module/plugins/crypter/MultiUpOrg.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class MultiUpOrg(SimpleCrypter): __name__ = "MultiUpOrg" __type__ = "crypter" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?multiup\.org/(en|fr)/(?P<TYPE>project|download|miror)/\w+(/\w+)?' @@ -17,7 +17,7 @@ class MultiUpOrg(SimpleCrypter): __author_name__ = "Walter Purcaro" __author_mail__ = "vuolter@gmail.com" - TITLE_PATTERN = r'<title>.*(Project|Projet|ownload|élécharger) (?P<title>.+?) (\(|- )' + TITLE_PATTERN = r'<title>.*(?:Project|Projet|ownload|élécharger) (.+?) (?:\(|- )' def getLinks(self): diff --git a/module/plugins/crypter/NetfolderIn.py b/module/plugins/crypter/NetfolderIn.py index 1c337391c..7baffb25e 100644 --- a/module/plugins/crypter/NetfolderIn.py +++ b/module/plugins/crypter/NetfolderIn.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class NetfolderIn(SimpleCrypter): __name__ = "NetfolderIn" __type__ = "crypter" - __version__ = "0.6" + __version__ = "0.7" __pattern__ = r'http://(?:www\.)?netfolder.in/((?P<id1>\w+)/\w+|folder.php\?folder_id=(?P<id2>\w+))' @@ -16,7 +16,7 @@ class NetfolderIn(SimpleCrypter): __author_name__ = ("RaNaN", "fragonib") __author_mail__ = ("RaNaN@pyload.org", "fragonib[AT]yahoo[DOT]es") - TITLE_PATTERN = r'<div class="Text">Inhalt des Ordners <span(.*)>(?P<title>.+)</span></div>' + TITLE_PATTERN = r'<div class="Text">Inhalt des Ordners <span.*>(.+)</span></div>' def decrypt(self, pyfile): diff --git a/module/plugins/crypter/NosvideoCom.py b/module/plugins/crypter/NosvideoCom.py index a3bb11b16..ce8e2b372 100644 --- a/module/plugins/crypter/NosvideoCom.py +++ b/module/plugins/crypter/NosvideoCom.py @@ -6,7 +6,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class NosvideoCom(SimpleCrypter): __name__ = "NosvideoCom" __type__ = "crypter" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?nosvideo\.com/\?v=\w+' @@ -15,4 +15,4 @@ class NosvideoCom(SimpleCrypter): __author_mail__ = "igelkun@myopera.com" LINK_PATTERN = r'href="(http://(?:w{3}\.)?nosupload.com/\?d=\w+)"' - TITLE_PATTERN = r'<[tT]itle>Watch (?P<title>.+)</[tT]itle>' + TITLE_PATTERN = r'<[tT]itle>Watch (.+?)<' diff --git a/module/plugins/crypter/PastebinCom.py b/module/plugins/crypter/PastebinCom.py index 55aa2ee4a..9c114a56b 100644 --- a/module/plugins/crypter/PastebinCom.py +++ b/module/plugins/crypter/PastebinCom.py @@ -6,7 +6,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class PastebinCom(SimpleCrypter): __name__ = "PastebinCom" __type__ = "crypter" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?pastebin\.com/\w+' @@ -15,4 +15,4 @@ class PastebinCom(SimpleCrypter): __author_mail__ = "l.stickell@yahoo.it" LINK_PATTERN = r'<div class="de\d+">(https?://[^ <]+)(?:[^<]*)</div>' - TITLE_PATTERN = r'<div class="paste_box_line1" title="(?P<title>[^"]+)">' + TITLE_PATTERN = r'<div class="paste_box_line1" title="([^"]+)">' diff --git a/module/plugins/crypter/TnyCz.py b/module/plugins/crypter/TnyCz.py index 3ae2c5ed2..e0b92ae22 100644 --- a/module/plugins/crypter/TnyCz.py +++ b/module/plugins/crypter/TnyCz.py @@ -8,7 +8,7 @@ import re class TnyCz(SimpleCrypter): __name__ = "TnyCz" __type__ = "crypter" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?tny\.cz/\w+' @@ -16,7 +16,7 @@ class TnyCz(SimpleCrypter): __author_name__ = "Walter Purcaro" __author_mail__ = "vuolter@gmail.com" - TITLE_PATTERN = r'<title>(?P<title>.+) - .+</title>' + TITLE_PATTERN = r'<title>(.+) - .+</title>' def getLinks(self): diff --git a/module/plugins/crypter/TurbobitNetFolder.py b/module/plugins/crypter/TurbobitNetFolder.py index 0810e0ed1..ec0fd157d 100644 --- a/module/plugins/crypter/TurbobitNetFolder.py +++ b/module/plugins/crypter/TurbobitNetFolder.py @@ -9,7 +9,7 @@ from module.common.json_layer import json_loads class TurbobitNetFolder(SimpleCrypter): __name__ = "TurbobitNetFolder" __type__ = "crypter" - __version__ = "0.03" + __version__ = "0.04" __pattern__ = r'http://(?:www\.)?turbobit\.net/download/folder/(?P<ID>\w+)' @@ -17,7 +17,7 @@ class TurbobitNetFolder(SimpleCrypter): __author_name__ = ("stickell", "Walter Purcaro") __author_mail__ = ("l.stickell@yahoo.it", "vuolter@gmail.com") - TITLE_PATTERN = r"src='/js/lib/grid/icon/folder.png'> <span>(?P<title>.+?)</span>" + TITLE_PATTERN = r"src='/js/lib/grid/icon/folder.png'> <span>(.+?)</span>" def _getLinks(self, id, page=1): diff --git a/module/plugins/crypter/TusfilesNetFolder.py b/module/plugins/crypter/TusfilesNetFolder.py index f51c2b715..7ce636d2d 100644 --- a/module/plugins/crypter/TusfilesNetFolder.py +++ b/module/plugins/crypter/TusfilesNetFolder.py @@ -10,7 +10,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class TusfilesNetFolder(SimpleCrypter): __name__ = "TusfilesNetFolder" __type__ = "crypter" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'https?://(?:www\.)?tusfiles\.net/go/(?P<ID>\w+)/?' @@ -19,8 +19,8 @@ class TusfilesNetFolder(SimpleCrypter): __author_mail__ = ("vuolter@gmail.com", "l.stickell@yahoo.it") LINK_PATTERN = r'<TD align=left><a href="(.*?)">' - TITLE_PATTERN = r'<Title>.*?\: (?P<title>.+) folder</Title>' - PAGES_PATTERN = r'>\((?P<pages>\d+) \w+\)<' + TITLE_PATTERN = r'<Title>.*?\: (.+) folder</Title>' + PAGES_PATTERN = r'>\((\d+) \w+\)<' URL_REPLACEMENTS = [(__pattern__, r'https://www.tusfiles.net/go/\g<ID>/')] diff --git a/module/plugins/crypter/UploadableChFolder.py b/module/plugins/crypter/UploadableChFolder.py index b76076531..867a699c2 100644 --- a/module/plugins/crypter/UploadableChFolder.py +++ b/module/plugins/crypter/UploadableChFolder.py @@ -6,7 +6,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class UploadableChFolder(SimpleCrypter): __name__ = "UploadableChFolder" __type__ = "crypter" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?uploadable\.ch/list/\w+' @@ -16,6 +16,6 @@ class UploadableChFolder(SimpleCrypter): LINK_PATTERN = r'"(.+?)" class="icon_zipfile">' - TITLE_PATTERN = r'<div class="folder"><span> </span>(?P<title>.+?)</div>' + TITLE_PATTERN = r'<div class="folder"><span> </span>(.+?)</div>' OFFLINE_PATTERN = r'We are sorry... The URL you entered cannot be found on the server.' TEMP_OFFLINE_PATTERN = r'<div class="icon_err">' diff --git a/module/plugins/crypter/UploadedToFolder.py b/module/plugins/crypter/UploadedToFolder.py index 20eb553a9..d33dc91a0 100644 --- a/module/plugins/crypter/UploadedToFolder.py +++ b/module/plugins/crypter/UploadedToFolder.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class UploadedToFolder(SimpleCrypter): __name__ = "UploadedToFolder" __type__ = "crypter" - __version__ = "0.3" + __version__ = "0.4" __pattern__ = r'http://(?:www\.)?(uploaded|ul)\.(to|net)/(f|folder|list)/(?P<id>\w+)' @@ -17,7 +17,7 @@ class UploadedToFolder(SimpleCrypter): __author_mail__ = "l.stickell@yahoo.it" PLAIN_PATTERN = r'<small class="date"><a href="(?P<plain>[\w/]+)" onclick=' - TITLE_PATTERN = r'<title>(?P<title>[^<]+)</title>' + TITLE_PATTERN = r'<title>(.+?)<' def decrypt(self, pyfile): -- cgit v1.2.3 From b0868ae6446078bacf1635dde5e4ab316b4a94cb Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Tue, 7 Oct 2014 18:57:59 +0200 Subject: New __authors__ key replaces __author_name__ and __author_mail__ + Whitespaces and EOF fixup --- module/plugins/crypter/BitshareComFolder.py | 4 ++-- module/plugins/crypter/C1neonCom.py | 3 +-- module/plugins/crypter/ChipDe.py | 3 +-- module/plugins/crypter/CrockoComFolder.py | 4 ++-- module/plugins/crypter/CryptItCom.py | 3 +-- module/plugins/crypter/CzshareComFolder.py | 4 ++-- module/plugins/crypter/DDLMusicOrg.py | 3 +-- module/plugins/crypter/DailymotionBatch.py | 3 +-- module/plugins/crypter/DataHuFolder.py | 5 +++-- module/plugins/crypter/DdlstorageComFolder.py | 4 ++-- module/plugins/crypter/DepositfilesComFolder.py | 4 ++-- module/plugins/crypter/Dereferer.py | 3 +-- module/plugins/crypter/DevhostStFolder.py | 4 ++-- module/plugins/crypter/DlProtectCom.py | 4 ++-- module/plugins/crypter/DontKnowMe.py | 4 ++-- module/plugins/crypter/DuckCryptInfo.py | 4 ++-- module/plugins/crypter/DuploadOrgFolder.py | 4 ++-- module/plugins/crypter/EasybytezComFolder.py | 3 +-- module/plugins/crypter/EmbeduploadCom.py | 4 ++-- module/plugins/crypter/FilebeerInfoFolder.py | 3 +-- module/plugins/crypter/FilecloudIoFolder.py | 4 ++-- module/plugins/crypter/FilefactoryComFolder.py | 4 ++-- module/plugins/crypter/FilerNetFolder.py | 5 +++-- module/plugins/crypter/FileserveComFolder.py | 4 ++-- module/plugins/crypter/FilestubeCom.py | 4 ++-- module/plugins/crypter/FiletramCom.py | 5 +++-- module/plugins/crypter/FiredriveComFolder.py | 4 ++-- module/plugins/crypter/FourChanOrg.py | 3 +-- module/plugins/crypter/FreakhareComFolder.py | 4 ++-- module/plugins/crypter/FreetexthostCom.py | 3 +-- module/plugins/crypter/FshareVnFolder.py | 4 ++-- module/plugins/crypter/GooGl.py | 4 ++-- module/plugins/crypter/HoerbuchIn.py | 5 +++-- module/plugins/crypter/HotfileFolderCom.py | 3 +-- module/plugins/crypter/ILoadTo.py | 3 +-- module/plugins/crypter/ImgurComAlbum.py | 4 ++-- module/plugins/crypter/LetitbitNetFolder.py | 5 +++-- module/plugins/crypter/LinkSaveIn.py | 3 +-- module/plugins/crypter/LinkdecrypterCom.py | 5 +++-- module/plugins/crypter/LixIn.py | 4 ++-- module/plugins/crypter/LofCc.py | 3 +-- module/plugins/crypter/MBLinkInfo.py | 4 ++-- module/plugins/crypter/MediafireComFolder.py | 4 ++-- module/plugins/crypter/Movie2kTo.py | 3 +-- module/plugins/crypter/MultiUpOrg.py | 4 ++-- module/plugins/crypter/MultiloadCz.py | 4 ++-- module/plugins/crypter/MultiuploadCom.py | 3 +-- module/plugins/crypter/NCryptIn.py | 5 +++-- module/plugins/crypter/NetfolderIn.py | 5 +++-- module/plugins/crypter/NosvideoCom.py | 4 ++-- module/plugins/crypter/OneKhDe.py | 3 +-- module/plugins/crypter/OronComFolder.py | 3 +-- module/plugins/crypter/PastebinCom.py | 4 ++-- module/plugins/crypter/QuickshareCzFolder.py | 4 ++-- module/plugins/crypter/RSLayerCom.py | 3 +-- module/plugins/crypter/RelinkUs.py | 4 ++-- module/plugins/crypter/SafelinkingNet.py | 4 ++-- module/plugins/crypter/SecuredIn.py | 3 +-- module/plugins/crypter/ShareLinksBiz.py | 3 +-- module/plugins/crypter/ShareRapidComFolder.py | 4 ++-- module/plugins/crypter/SpeedLoadOrgFolder.py | 3 +-- module/plugins/crypter/StealthTo.py | 3 +-- module/plugins/crypter/TnyCz.py | 4 ++-- module/plugins/crypter/TrailerzoneInfo.py | 3 +-- module/plugins/crypter/TurbobitNetFolder.py | 5 +++-- module/plugins/crypter/TusfilesNetFolder.py | 5 +++-- module/plugins/crypter/UlozToFolder.py | 4 ++-- module/plugins/crypter/UploadableChFolder.py | 4 ++-- module/plugins/crypter/UploadedToFolder.py | 4 ++-- module/plugins/crypter/WiiReloadedOrg.py | 3 +-- module/plugins/crypter/XupPl.py | 3 +-- module/plugins/crypter/YoutubeBatch.py | 3 +-- 72 files changed, 127 insertions(+), 144 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/BitshareComFolder.py b/module/plugins/crypter/BitshareComFolder.py index f6a74bcad..59226b7bb 100644 --- a/module/plugins/crypter/BitshareComFolder.py +++ b/module/plugins/crypter/BitshareComFolder.py @@ -11,8 +11,8 @@ class BitshareComFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?bitshare\.com/\?d=\w+' __description__ = """Bitshare.com folder decrypter plugin""" - __author_name__ = "stickell" - __author_mail__ = "l.stickell@yahoo.it" + __authors__ = [("stickell", "l.stickell@yahoo.it")] + LINK_PATTERN = r'<a href="(http://bitshare.com/files/.+)">.+</a></td>' TITLE_PATTERN = r'View public folder "(.+)"</h1>' diff --git a/module/plugins/crypter/C1neonCom.py b/module/plugins/crypter/C1neonCom.py index 829ed63d6..40692d0d1 100644 --- a/module/plugins/crypter/C1neonCom.py +++ b/module/plugins/crypter/C1neonCom.py @@ -11,5 +11,4 @@ class C1neonCom(DeadCrypter): __pattern__ = r'http://(?:www\.)?c1neon.com/.*?' __description__ = """C1neon.com decrypter plugin""" - __author_name__ = "godofdream" - __author_mail__ = "soilfiction@gmail.com" + __authors__ = [("godofdream", "soilfiction@gmail.com")] diff --git a/module/plugins/crypter/ChipDe.py b/module/plugins/crypter/ChipDe.py index e545efa54..9aac1efa4 100644 --- a/module/plugins/crypter/ChipDe.py +++ b/module/plugins/crypter/ChipDe.py @@ -12,8 +12,7 @@ class ChipDe(Crypter): __pattern__ = r'http://(?:www\.)?chip.de/video/.*\.html' __description__ = """Chip.de decrypter plugin""" - __author_name__ = "4Christopher" - __author_mail__ = "4Christopher@gmx.de" + __authors__ = [("4Christopher", "4Christopher@gmx.de")] def decrypt(self, pyfile): diff --git a/module/plugins/crypter/CrockoComFolder.py b/module/plugins/crypter/CrockoComFolder.py index 56abeac29..dae536dd0 100644 --- a/module/plugins/crypter/CrockoComFolder.py +++ b/module/plugins/crypter/CrockoComFolder.py @@ -11,7 +11,7 @@ class CrockoComFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?crocko.com/f/.*' __description__ = """Crocko.com folder decrypter plugin""" - __author_name__ = "zoidberg" - __author_mail__ = "zoidberg@mujmail.cz" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + LINK_PATTERN = r'<td class="last"><a href="([^"]+)">download</a>' diff --git a/module/plugins/crypter/CryptItCom.py b/module/plugins/crypter/CryptItCom.py index 66c5e7ca7..a248a92d1 100644 --- a/module/plugins/crypter/CryptItCom.py +++ b/module/plugins/crypter/CryptItCom.py @@ -11,5 +11,4 @@ class CryptItCom(DeadCrypter): __pattern__ = r'http://(?:www\.)?crypt-it\.com/(s|e|d|c)/[\w]+' __description__ = """Crypt-it.com decrypter plugin""" - __author_name__ = "jeix" - __author_mail__ = "jeix@hasnomail.de" + __authors__ = [("jeix", "jeix@hasnomail.de")] diff --git a/module/plugins/crypter/CzshareComFolder.py b/module/plugins/crypter/CzshareComFolder.py index 64affc867..3762cbf10 100644 --- a/module/plugins/crypter/CzshareComFolder.py +++ b/module/plugins/crypter/CzshareComFolder.py @@ -12,8 +12,8 @@ class CzshareComFolder(Crypter): __pattern__ = r'http://(?:www\.)?(czshare|sdilej)\.(com|cz)/folders/.*' __description__ = """Czshare.com folder decrypter plugin, now Sdilej.cz""" - __author_name__ = "zoidberg" - __author_mail__ = "zoidberg@mujmail.cz" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + FOLDER_PATTERN = r'<tr class="subdirectory">\s*<td>\s*<table>(.*?)</table>' LINK_PATTERN = r'<td class="col2"><a href="([^"]+)">info</a></td>' diff --git a/module/plugins/crypter/DDLMusicOrg.py b/module/plugins/crypter/DDLMusicOrg.py index 9d76bf11a..c0b137992 100644 --- a/module/plugins/crypter/DDLMusicOrg.py +++ b/module/plugins/crypter/DDLMusicOrg.py @@ -15,8 +15,7 @@ class DDLMusicOrg(Crypter): __pattern__ = r'http://(?:www\.)?ddl-music\.org/captcha/ddlm_cr\d\.php\?\d+\?\d+' __description__ = """Ddl-music.org decrypter plugin""" - __author_name__ = "mkaay" - __author_mail__ = "mkaay@mkaay.de" + __authors__ = [("mkaay", "mkaay@mkaay.de")] def setup(self): diff --git a/module/plugins/crypter/DailymotionBatch.py b/module/plugins/crypter/DailymotionBatch.py index e43d4e1fd..cc97910af 100644 --- a/module/plugins/crypter/DailymotionBatch.py +++ b/module/plugins/crypter/DailymotionBatch.py @@ -17,8 +17,7 @@ class DailymotionBatch(Crypter): __pattern__ = r'https?://(?:www\.)?dailymotion\.com/((playlists/)?(?P<TYPE>playlist|user)/)?(?P<ID>[\w^_]+)(?(TYPE)|#)' __description__ = """Dailymotion.com channel & playlist decrypter""" - __author_name__ = "Walter Purcaro" - __author_mail__ = "vuolter@gmail.com" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] def api_response(self, ref, req=None): diff --git a/module/plugins/crypter/DataHuFolder.py b/module/plugins/crypter/DataHuFolder.py index 31e71944f..405945f58 100644 --- a/module/plugins/crypter/DataHuFolder.py +++ b/module/plugins/crypter/DataHuFolder.py @@ -13,8 +13,9 @@ class DataHuFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?data.hu/dir/\w+' __description__ = """Data.hu folder decrypter plugin""" - __author_name__ = ("crash", "stickell") - __author_mail__ = "l.stickell@yahoo.it" + __authors__ = [("crash", None), + ("stickell", "l.stickell@yahoo.it")] + LINK_PATTERN = r"<a href='(http://data\.hu/get/.+)' target='_blank'>\1</a>" TITLE_PATTERN = ur'<title>(.+) Let\xf6lt\xe9se</title>' diff --git a/module/plugins/crypter/DdlstorageComFolder.py b/module/plugins/crypter/DdlstorageComFolder.py index 3b1dc6dd6..87719cb26 100644 --- a/module/plugins/crypter/DdlstorageComFolder.py +++ b/module/plugins/crypter/DdlstorageComFolder.py @@ -11,8 +11,8 @@ class DdlstorageComFolder(DeadCrypter): __pattern__ = r'https?://(?:www\.)?ddlstorage\.com/folder/\w+' __description__ = """DDLStorage.com folder decrypter plugin""" - __author_name__ = ("godofdream", "stickell") - __author_mail__ = ("soilfiction@gmail.com", "l.stickell@yahoo.it") + __authors__ = [("godofdream", "soilfiction@gmail.com"), + ("stickell", "l.stickell@yahoo.it")] getInfo = create_getInfo(SpeedLoadOrg) diff --git a/module/plugins/crypter/DepositfilesComFolder.py b/module/plugins/crypter/DepositfilesComFolder.py index b7c273f0b..3c4a95a38 100644 --- a/module/plugins/crypter/DepositfilesComFolder.py +++ b/module/plugins/crypter/DepositfilesComFolder.py @@ -11,7 +11,7 @@ class DepositfilesComFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?depositfiles.com/folders/\w+' __description__ = """Depositfiles.com folder decrypter plugin""" - __author_name__ = "zoidberg" - __author_mail__ = "zoidberg@mujmail.cz" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + LINK_PATTERN = r'<div class="progressName"[^>]*>\s*<a href="([^"]+)" title="[^"]*" target="_blank">' diff --git a/module/plugins/crypter/Dereferer.py b/module/plugins/crypter/Dereferer.py index 21529ddfd..215fb52fa 100644 --- a/module/plugins/crypter/Dereferer.py +++ b/module/plugins/crypter/Dereferer.py @@ -15,8 +15,7 @@ class Dereferer(Crypter): __pattern__ = r'https?://([^/]+)/.*?(?P<url>(ht|f)tps?(://|%3A%2F%2F).*)' __description__ = """Crypter for dereferers""" - __author_name__ = "zoidberg" - __author_mail__ = "zoidberg@mujmail.cz" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] def decrypt(self, pyfile): diff --git a/module/plugins/crypter/DevhostStFolder.py b/module/plugins/crypter/DevhostStFolder.py index 049f1dabc..b79d9f264 100644 --- a/module/plugins/crypter/DevhostStFolder.py +++ b/module/plugins/crypter/DevhostStFolder.py @@ -18,8 +18,8 @@ class DevhostStFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?d-h\.st/users/(?P<USER>\w+)(/\?fld_id=(?P<ID>\d+))?' __description__ = """d-h.st folder decrypter plugin""" - __author_name_ = ("zapp-brannigan", "Walter Purcaro") - __author_mail_ = ("fuerst.reinje@web.de", "vuolter@gmail.com") + __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de"), + ("Walter Purcaro", "vuolter@gmail.com")] LINK_PATTERN = r'(?:/> |;">)<a href="(.+?)"(?!>Back to \w+<)' diff --git a/module/plugins/crypter/DlProtectCom.py b/module/plugins/crypter/DlProtectCom.py index 4c958437a..f748b5e62 100644 --- a/module/plugins/crypter/DlProtectCom.py +++ b/module/plugins/crypter/DlProtectCom.py @@ -16,8 +16,8 @@ class DlProtectCom(SimpleCrypter): __pattern__ = r'http://(?:www\.)?dl-protect\.com/((en|fr)/)?(?P<ID>\w+)' __description__ = """Dl-protect.com decrypter plugin""" - __author_name__ = "Walter Purcaro" - __author_mail__ = "vuolter@gmail.com" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + OFFLINE_PATTERN = r'>Unfortunately, the link you are looking for is not found' diff --git a/module/plugins/crypter/DontKnowMe.py b/module/plugins/crypter/DontKnowMe.py index 23fbb8d52..4f2b70aaf 100644 --- a/module/plugins/crypter/DontKnowMe.py +++ b/module/plugins/crypter/DontKnowMe.py @@ -15,8 +15,8 @@ class DontKnowMe(Crypter): __pattern__ = r'http://(?:www\.)?dontknow.me/at/\?.+$' __description__ = """DontKnow.me decrypter plugin""" - __author_name__ = "selaux" - __author_mail__ = None + __authors__ = [("selaux", None)] + LINK_PATTERN = r'http://dontknow.me/at/\?(.+)$' diff --git a/module/plugins/crypter/DuckCryptInfo.py b/module/plugins/crypter/DuckCryptInfo.py index b278f2248..8c5c344f6 100644 --- a/module/plugins/crypter/DuckCryptInfo.py +++ b/module/plugins/crypter/DuckCryptInfo.py @@ -15,8 +15,8 @@ class DuckCryptInfo(Crypter): __pattern__ = r'http://(?:www\.)?duckcrypt.info/(folder|wait|link)/(\w+)/?(\w*)' __description__ = """DuckCrypt.info decrypter plugin""" - __author_name__ = "godofdream" - __author_mail__ = "soilfiction@gmail.com" + __authors__ = [("godofdream", "soilfiction@gmail.com")] + TIMER_PATTERN = r'<span id="timer">(.*)</span>' diff --git a/module/plugins/crypter/DuploadOrgFolder.py b/module/plugins/crypter/DuploadOrgFolder.py index 6f764f687..406a7a850 100644 --- a/module/plugins/crypter/DuploadOrgFolder.py +++ b/module/plugins/crypter/DuploadOrgFolder.py @@ -11,7 +11,7 @@ class DuploadOrgFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?dupload\.org/folder/\d+/' __description__ = """Dupload.org folder decrypter plugin""" - __author_name__ = "stickell" - __author_mail__ = "l.stickell@yahoo.it" + __authors__ = [("stickell", "l.stickell@yahoo.it")] + LINK_PATTERN = r'<td style="[^"]+"><a href="(http://[^"]+)" target="_blank">[^<]+</a></td>' diff --git a/module/plugins/crypter/EasybytezComFolder.py b/module/plugins/crypter/EasybytezComFolder.py index 2a261e709..565ee0745 100644 --- a/module/plugins/crypter/EasybytezComFolder.py +++ b/module/plugins/crypter/EasybytezComFolder.py @@ -11,8 +11,7 @@ class EasybytezComFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?easybytez\.com/users/(?P<ID>\d+/\d+)' __description__ = """Easybytez.com folder decrypter plugin""" - __author_name__ = "stickell" - __author_mail__ = "l.stickell@yahoo.it" + __authors__ = [("stickell", "l.stickell@yahoo.it")] URL_REPLACEMENTS = [(__pattern__, r"http://www.easybytez.com/users/\g<ID>?per_page=10000")] diff --git a/module/plugins/crypter/EmbeduploadCom.py b/module/plugins/crypter/EmbeduploadCom.py index 6b876ed7f..f23ae5101 100644 --- a/module/plugins/crypter/EmbeduploadCom.py +++ b/module/plugins/crypter/EmbeduploadCom.py @@ -15,8 +15,8 @@ class EmbeduploadCom(Crypter): ("ignoredHoster", "str", "Ignored hoster list (bar-separated) ", "")] __description__ = """EmbedUpload.com decrypter plugin""" - __author_name__ = "zoidberg" - __author_mail__ = "zoidberg@mujmail.cz" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + LINK_PATTERN = r'<div id="([^"]+)"[^>]*>\s*<a href="([^"]+)" target="_blank" (?:class="DownloadNow"|style="color:red")>' diff --git a/module/plugins/crypter/FilebeerInfoFolder.py b/module/plugins/crypter/FilebeerInfoFolder.py index 0743dcb0f..9c0599742 100644 --- a/module/plugins/crypter/FilebeerInfoFolder.py +++ b/module/plugins/crypter/FilebeerInfoFolder.py @@ -11,5 +11,4 @@ class FilebeerInfoFolder(DeadCrypter): __pattern__ = r'http://(?:www\.)?filebeer\.info/(\d+~f).*' __description__ = """Filebeer.info folder decrypter plugin""" - __author_name__ = "zoidberg" - __author_mail__ = "zoidberg@mujmail.cz" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/crypter/FilecloudIoFolder.py b/module/plugins/crypter/FilecloudIoFolder.py index eb6aaa847..eccf293d7 100644 --- a/module/plugins/crypter/FilecloudIoFolder.py +++ b/module/plugins/crypter/FilecloudIoFolder.py @@ -11,8 +11,8 @@ class FilecloudIoFolder(SimpleCrypter): __pattern__ = r'https?://(?:www\.)?(filecloud\.io|ifile\.it)/_\w+' __description__ = """Filecloud.io folder decrypter plugin""" - __author_name__ = "Walter Purcaro" - __author_mail__ = "vuolter@gmail.com" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + LINK_PATTERN = r'href="(http://filecloud.io/\w+)" title' TITLE_PATTERN = r'>(.+?) - filecloud.io<' diff --git a/module/plugins/crypter/FilefactoryComFolder.py b/module/plugins/crypter/FilefactoryComFolder.py index 08978c032..a17451941 100644 --- a/module/plugins/crypter/FilefactoryComFolder.py +++ b/module/plugins/crypter/FilefactoryComFolder.py @@ -11,8 +11,8 @@ class FilefactoryComFolder(SimpleCrypter): __pattern__ = r'https?://(?:www\.)?filefactory\.com/(?:f|folder)/\w+' __description__ = """Filefactory.com folder decrypter plugin""" - __author_name__ = "stickell" - __author_mail__ = "l.stickell@yahoo.it" + __authors__ = [("stickell", "l.stickell@yahoo.it")] + LINK_PATTERN = r'<td><a href="([^"]+)">' TITLE_PATTERN = r'<h1>Files in <span>(.+)</span></h1>' diff --git a/module/plugins/crypter/FilerNetFolder.py b/module/plugins/crypter/FilerNetFolder.py index 0195b8af9..b5f59677d 100644 --- a/module/plugins/crypter/FilerNetFolder.py +++ b/module/plugins/crypter/FilerNetFolder.py @@ -11,8 +11,9 @@ class FilerNetFolder(SimpleCrypter): __pattern__ = r'https?://filer\.net/folder/\w{16}' __description__ = """Filer.net decrypter plugin""" - __author_name_ = ("nath_schwarz", "stickell") - __author_mail_ = ("nathan.notwhite@gmail.com", "l.stickell@yahoo.it") + __authors__ = [("nath_schwarz", "nathan.notwhite@gmail.com"), + ("stickell", "l.stickell@yahoo.it")] + LINK_PATTERN = r'href="(/get/\w{16})">(?!<)' TITLE_PATTERN = r'<h3>(.+?) - <small' diff --git a/module/plugins/crypter/FileserveComFolder.py b/module/plugins/crypter/FileserveComFolder.py index 2db6baf0e..1fac3eeee 100644 --- a/module/plugins/crypter/FileserveComFolder.py +++ b/module/plugins/crypter/FileserveComFolder.py @@ -13,8 +13,8 @@ class FileserveComFolder(Crypter): __pattern__ = r'http://(?:www\.)?fileserve.com/list/\w+' __description__ = """FileServe.com folder decrypter plugin""" - __author_name__ = "fionnc" - __author_mail__ = "fionnc@gmail.com" + __authors__ = [("fionnc", "fionnc@gmail.com")] + FOLDER_PATTERN = r'<table class="file_list">(.*?)</table>' LINK_PATTERN = r'<a href="([^"]+)" class="sheet_icon wbold">' diff --git a/module/plugins/crypter/FilestubeCom.py b/module/plugins/crypter/FilestubeCom.py index 3caee9e62..6bd081894 100644 --- a/module/plugins/crypter/FilestubeCom.py +++ b/module/plugins/crypter/FilestubeCom.py @@ -11,8 +11,8 @@ class FilestubeCom(SimpleCrypter): __pattern__ = r'http://(?:www\.)?filestube\.(?:com|to)/\w+' __description__ = """Filestube.com decrypter plugin""" - __author_name__ = "stickell" - __author_mail__ = "l.stickell@yahoo.it" + __authors__ = [("stickell", "l.stickell@yahoo.it")] + LINK_PATTERN = r'<a class=\"file-link-main(?: noref)?\" [^>]* href=\"(http://[^\"]+)' TITLE_PATTERN = r'<h1\s*> (.+) download\s*</h1>' diff --git a/module/plugins/crypter/FiletramCom.py b/module/plugins/crypter/FiletramCom.py index 6125914ff..5717df47e 100644 --- a/module/plugins/crypter/FiletramCom.py +++ b/module/plugins/crypter/FiletramCom.py @@ -11,8 +11,9 @@ class FiletramCom(SimpleCrypter): __pattern__ = r'http://(?:www\.)?filetram.com/[^/]+/.+' __description__ = """Filetram.com decrypter plugin""" - __author_name__ = ("igel", "stickell") - __author_mail__ = ("igelkun@myopera.com", "l.stickell@yahoo.it") + __authors__ = [("igel", "igelkun@myopera.com"), + ("stickell", "l.stickell@yahoo.it")] + LINK_PATTERN = r'\s+(http://.+)' TITLE_PATTERN = r'<title>(.+?) - Free Download' diff --git a/module/plugins/crypter/FiredriveComFolder.py b/module/plugins/crypter/FiredriveComFolder.py index 4831101cc..c41c2f933 100644 --- a/module/plugins/crypter/FiredriveComFolder.py +++ b/module/plugins/crypter/FiredriveComFolder.py @@ -13,8 +13,8 @@ class FiredriveComFolder(SimpleCrypter): __pattern__ = r'https?://(?:www\.)?(firedrive|putlocker)\.com/share/.+' __description__ = """Firedrive.com folder decrypter plugin""" - __author_name__ = "Walter Purcaro" - __author_mail__ = "vuolter@gmail.com" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + LINK_PATTERN = r'<div class="pf_item pf_(file|folder).+?public=\'(.+?)\'' TITLE_PATTERN = r'>Shared Folder "(.+)" | Firedrive<' diff --git a/module/plugins/crypter/FourChanOrg.py b/module/plugins/crypter/FourChanOrg.py index c497fa799..8b2c74b44 100644 --- a/module/plugins/crypter/FourChanOrg.py +++ b/module/plugins/crypter/FourChanOrg.py @@ -15,8 +15,7 @@ class FourChanOrg(Crypter): __pattern__ = r'http://(?:www\.)?boards\.4chan.org/\w+/res/(\d+)' __description__ = """4chan.org folder decrypter plugin""" - __author_name__ = None - __author_mail__ = None + __authors__ = [] def decrypt(self, pyfile): diff --git a/module/plugins/crypter/FreakhareComFolder.py b/module/plugins/crypter/FreakhareComFolder.py index 5036a8842..34b64bc4a 100644 --- a/module/plugins/crypter/FreakhareComFolder.py +++ b/module/plugins/crypter/FreakhareComFolder.py @@ -13,8 +13,8 @@ class FreakhareComFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?freakshare\.com/folder/.+' __description__ = """Freakhare.com folder decrypter plugin""" - __author_name__ = "stickell" - __author_mail__ = "l.stickell@yahoo.it" + __authors__ = [("stickell", "l.stickell@yahoo.it")] + LINK_PATTERN = r'<a href="(http://freakshare.com/files/[^"]+)" target="_blank">' TITLE_PATTERN = r'Folder:</b> (.+)' diff --git a/module/plugins/crypter/FreetexthostCom.py b/module/plugins/crypter/FreetexthostCom.py index bd8a90ce5..c91ee6d10 100644 --- a/module/plugins/crypter/FreetexthostCom.py +++ b/module/plugins/crypter/FreetexthostCom.py @@ -13,8 +13,7 @@ class FreetexthostCom(SimpleCrypter): __pattern__ = r'http://(?:www\.)?freetexthost\.com/\w+' __description__ = """Freetexthost.com decrypter plugin""" - __author_name__ = "stickell" - __author_mail__ = "l.stickell@yahoo.it" + __authors__ = [("stickell", "l.stickell@yahoo.it")] def getLinks(self): diff --git a/module/plugins/crypter/FshareVnFolder.py b/module/plugins/crypter/FshareVnFolder.py index 5976ff6d5..1aa8bb3ea 100644 --- a/module/plugins/crypter/FshareVnFolder.py +++ b/module/plugins/crypter/FshareVnFolder.py @@ -11,7 +11,7 @@ class FshareVnFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?fshare.vn/folder/.*' __description__ = """Fshare.vn folder decrypter plugin""" - __author_name__ = "zoidberg" - __author_mail__ = "zoidberg@mujmail.cz" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + LINK_PATTERN = r'<li class="w_80pc"><a href="([^"]+)" target="_blank">' diff --git a/module/plugins/crypter/GooGl.py b/module/plugins/crypter/GooGl.py index b4f6c3ea7..8b0c2ac91 100644 --- a/module/plugins/crypter/GooGl.py +++ b/module/plugins/crypter/GooGl.py @@ -12,8 +12,8 @@ class GooGl(Crypter): __pattern__ = r'https?://(?:www\.)?goo\.gl/\w+' __description__ = """Goo.gl decrypter plugin""" - __author_name__ = "stickell" - __author_mail__ = "l.stickell@yahoo.it" + __authors__ = [("stickell", "l.stickell@yahoo.it")] + API_URL = "https://www.googleapis.com/urlshortener/v1/url" diff --git a/module/plugins/crypter/HoerbuchIn.py b/module/plugins/crypter/HoerbuchIn.py index a283ff823..6774cd72e 100644 --- a/module/plugins/crypter/HoerbuchIn.py +++ b/module/plugins/crypter/HoerbuchIn.py @@ -15,8 +15,9 @@ class HoerbuchIn(Crypter): __pattern__ = r'http://(?:www\.)?hoerbuch\.in/(wp/horbucher/\d+/.+/|tp/out.php\?.+|protection/folder_\d+\.html)' __description__ = """Hoerbuch.in decrypter plugin""" - __author_name__ = ("spoob", "mkaay") - __author_mail__ = ("spoob@pyload.org", "mkaay@mkaay.de") + __authors__ = [("spoob", "spoob@pyload.org"), + ("mkaay", "mkaay@mkaay.de")] + article = re.compile("http://(?:www\.)?hoerbuch\.in/wp/horbucher/\d+/.+/") protection = re.compile("http://(?:www\.)?hoerbuch\.in/protection/folder_\d+.html") diff --git a/module/plugins/crypter/HotfileFolderCom.py b/module/plugins/crypter/HotfileFolderCom.py index 16fa604c9..e97d2ca91 100644 --- a/module/plugins/crypter/HotfileFolderCom.py +++ b/module/plugins/crypter/HotfileFolderCom.py @@ -11,5 +11,4 @@ class HotfileFolderCom(DeadCrypter): __pattern__ = r'https?://(?:www\.)?hotfile\.com/list/\w+/\w+' __description__ = """Hotfile.com folder decrypter plugin""" - __author_name__ = "RaNaN" - __author_mail__ = "RaNaN@pyload.org" + __authors__ = [("RaNaN", "RaNaN@pyload.org")] diff --git a/module/plugins/crypter/ILoadTo.py b/module/plugins/crypter/ILoadTo.py index d7818570a..c1dbab836 100644 --- a/module/plugins/crypter/ILoadTo.py +++ b/module/plugins/crypter/ILoadTo.py @@ -11,5 +11,4 @@ class ILoadTo(DeadCrypter): __pattern__ = r'http://(?:www\.)?iload\.to/go/\d+-[\w\.-]+/' __description__ = """Iload.to decrypter plugin""" - __author_name__ = "hzpz" - __author_mail__ = None + __authors__ = [("hzpz", None)] diff --git a/module/plugins/crypter/ImgurComAlbum.py b/module/plugins/crypter/ImgurComAlbum.py index 72674a8fb..d4e6b13ab 100644 --- a/module/plugins/crypter/ImgurComAlbum.py +++ b/module/plugins/crypter/ImgurComAlbum.py @@ -12,8 +12,8 @@ class ImgurComAlbum(SimpleCrypter): __pattern__ = r'https?://(?:www\.|m\.)?imgur\.com/(a|gallery|)/?\w{5,7}' __description__ = """Imgur.com decrypter plugin""" - __author_name_ = "nath_schwarz" - __author_mail_ = "nathan.notwhite@gmail.com" + __authors__ = [("nath_schwarz", "nathan.notwhite@gmail.com")] + TITLE_PATTERN = r'(.+?) - Imgur' LINK_PATTERN = r'i\.imgur\.com/\w{7}s?\.(?:jpeg|jpg|png|gif|apng)' diff --git a/module/plugins/crypter/LetitbitNetFolder.py b/module/plugins/crypter/LetitbitNetFolder.py index 0297d2007..3ca24195d 100644 --- a/module/plugins/crypter/LetitbitNetFolder.py +++ b/module/plugins/crypter/LetitbitNetFolder.py @@ -12,8 +12,9 @@ class LetitbitNetFolder(Crypter): __pattern__ = r'http://(?:www\.)?letitbit.net/folder/\w+' __description__ = """Letitbit.net folder decrypter plugin""" - __author_name__ = ("DHMH", "z00nx") - __author_mail__ = ("webmaster@pcProfil.de", "z00nx0@gmail.com") + __authors__ = [("DHMH", "webmaster@pcProfil.de"), + ("z00nx", "z00nx0@gmail.com")] + FOLDER_PATTERN = r'<table>(.*)</table>' LINK_PATTERN = r'<a href="([^"]+)" target="_blank">' diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index 8b2b02ea6..9c0bbdeac 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -21,8 +21,7 @@ class LinkSaveIn(SimpleCrypter): __pattern__ = r'http://(?:www\.)?linksave.in/(?P<id>\w+)$' __description__ = """LinkSave.in decrypter plugin""" - __author_name__ = "fragonib" - __author_mail__ = "fragonib[AT]yahoo[DOT]es" + __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es")] COOKIES = [(".linksave.in", "Linksave_Language", "english")] diff --git a/module/plugins/crypter/LinkdecrypterCom.py b/module/plugins/crypter/LinkdecrypterCom.py index f9f29d5f5..cc688cd8e 100644 --- a/module/plugins/crypter/LinkdecrypterCom.py +++ b/module/plugins/crypter/LinkdecrypterCom.py @@ -12,8 +12,9 @@ class LinkdecrypterCom(Crypter): __pattern__ = None __description__ = """Linkdecrypter.com""" - __author_name__ = ("zoidberg", "flowlee") - __author_mail__ = ("zoidberg@mujmail.cz", "") + __authors__ = [("zoidberg", "zoidberg@mujmail.cz"), + ("flowlee", None)] + TEXTAREA_PATTERN = r'<textarea name="links" wrap="off" readonly="1" class="caja_des">(.+)</textarea>' PASSWORD_PATTERN = r'<input type="text" name="password"' diff --git a/module/plugins/crypter/LixIn.py b/module/plugins/crypter/LixIn.py index 7aedda686..af4f182b4 100644 --- a/module/plugins/crypter/LixIn.py +++ b/module/plugins/crypter/LixIn.py @@ -13,8 +13,8 @@ class LixIn(Crypter): __pattern__ = r'http://(?:www\.)?lix\.in/(?P<ID>.+)' __description__ = """Lix.in decrypter plugin""" - __author_name__ = "spoob" - __author_mail__ = "spoob@pyload.org" + __authors__ = [("spoob", "spoob@pyload.org")] + CAPTCHA_PATTERN = r'<img src="(?P<image>captcha_img.php\?.*?)"' SUBMIT_PATTERN = r"value='continue.*?'" diff --git a/module/plugins/crypter/LofCc.py b/module/plugins/crypter/LofCc.py index 8a5cd86ee..5fc04000f 100644 --- a/module/plugins/crypter/LofCc.py +++ b/module/plugins/crypter/LofCc.py @@ -11,5 +11,4 @@ class LofCc(DeadCrypter): __pattern__ = r'http://(?:www\.)?lof.cc/(.*)' __description__ = """Lof.cc decrypter plugin""" - __author_name__ = "mkaay" - __author_mail__ = "mkaay@mkaay.de" + __authors__ = [("mkaay", "mkaay@mkaay.de")] diff --git a/module/plugins/crypter/MBLinkInfo.py b/module/plugins/crypter/MBLinkInfo.py index 4fc066e57..edd846cf9 100644 --- a/module/plugins/crypter/MBLinkInfo.py +++ b/module/plugins/crypter/MBLinkInfo.py @@ -11,5 +11,5 @@ class MBLinkInfo(DeadCrypter): __pattern__ = r'http://(?:www\.)?mblink\.info/?\?id=(\d+)' __description__ = """MBLink.info decrypter plugin""" - __author_name__ = ("Gummibaer", "stickell") - __author_mail__ = ("Gummibaer@wiki-bierkiste.de", "l.stickell@yahoo.it") + __authors__ = [("Gummibaer", "Gummibaer@wiki-bierkiste.de"), + ("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/crypter/MediafireComFolder.py b/module/plugins/crypter/MediafireComFolder.py index 45078c4ba..2a4de5272 100644 --- a/module/plugins/crypter/MediafireComFolder.py +++ b/module/plugins/crypter/MediafireComFolder.py @@ -14,8 +14,8 @@ class MediafireComFolder(Crypter): __pattern__ = r'http://(?:www\.)?mediafire\.com/(folder/|\?sharekey=|\?\w{13}($|[/#]))' __description__ = """Mediafire.com folder decrypter plugin""" - __author_name__ = "zoidberg" - __author_mail__ = "zoidberg@mujmail.cz" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + FOLDER_KEY_PATTERN = r"var afI= '(\w+)';" FILE_URL_PATTERN = r'<meta property="og:url" content="http://www.mediafire.com/\?(\w+)"/>' diff --git a/module/plugins/crypter/Movie2kTo.py b/module/plugins/crypter/Movie2kTo.py index ba201621f..3a1701923 100644 --- a/module/plugins/crypter/Movie2kTo.py +++ b/module/plugins/crypter/Movie2kTo.py @@ -11,5 +11,4 @@ class Movie2kTo(DeadCrypter): __pattern__ = r'http://(?:www\.)?movie2k\.to/(.*)\.html' __description__ = """Movie2k.to decrypter plugin""" - __author_name__ = "4Christopher" - __author_mail__ = "4Christopher@gmx.de" + __authors__ = [("4Christopher", "4Christopher@gmx.de")] diff --git a/module/plugins/crypter/MultiUpOrg.py b/module/plugins/crypter/MultiUpOrg.py index cd0ec33ad..0cb3048aa 100644 --- a/module/plugins/crypter/MultiUpOrg.py +++ b/module/plugins/crypter/MultiUpOrg.py @@ -14,8 +14,8 @@ class MultiUpOrg(SimpleCrypter): __pattern__ = r'http://(?:www\.)?multiup\.org/(en|fr)/(?P<TYPE>project|download|miror)/\w+(/\w+)?' __description__ = """MultiUp.org crypter plugin""" - __author_name__ = "Walter Purcaro" - __author_mail__ = "vuolter@gmail.com" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + TITLE_PATTERN = r'<title>.*(?:Project|Projet|ownload|élécharger) (.+?) (?:\(|- )' diff --git a/module/plugins/crypter/MultiloadCz.py b/module/plugins/crypter/MultiloadCz.py index 7d43ec729..8f43e5796 100644 --- a/module/plugins/crypter/MultiloadCz.py +++ b/module/plugins/crypter/MultiloadCz.py @@ -14,8 +14,8 @@ class MultiloadCz(Crypter): ("ignoredHoster", "str", "Ignored hoster list (bar-separated) ", "")] __description__ = """Multiload.cz decrypter plugin""" - __author_name__ = "zoidberg" - __author_mail__ = "zoidberg@mujmail.cz" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + FOLDER_PATTERN = r'<form action="" method="get"><textarea[^>]*>([^>]*)</textarea></form>' LINK_PATTERN = r'<p class="manager-server"><strong>([^<]+)</strong></p><p class="manager-linky"><a href="([^"]+)">' diff --git a/module/plugins/crypter/MultiuploadCom.py b/module/plugins/crypter/MultiuploadCom.py index 398d33b5d..653c9a169 100644 --- a/module/plugins/crypter/MultiuploadCom.py +++ b/module/plugins/crypter/MultiuploadCom.py @@ -11,5 +11,4 @@ class MultiuploadCom(DeadCrypter): __pattern__ = r'http://(?:www\.)?multiupload\.(com|nl)/\w+' __description__ = """ MultiUpload.com decrypter plugin """ - __author_name__ = "zoidberg" - __author_mail__ = "zoidberg@mujmail.cz" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index 3937299d0..1a6757006 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -18,8 +18,9 @@ class NCryptIn(Crypter): __pattern__ = r'http://(?:www\.)?ncrypt.in/(?P<type>folder|link|frame)-([^/\?]+)' __description__ = """NCrypt.in decrypter plugin""" - __author_name__ = ("fragonib", "stickell") - __author_mail__ = ("fragonib[AT]yahoo[DOT]es", "l.stickell@yahoo.it") + __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es"), + ("stickell", "l.stickell@yahoo.it")] + JK_KEY = "jk" CRYPTED_KEY = "crypted" diff --git a/module/plugins/crypter/NetfolderIn.py b/module/plugins/crypter/NetfolderIn.py index 7baffb25e..1e60fa583 100644 --- a/module/plugins/crypter/NetfolderIn.py +++ b/module/plugins/crypter/NetfolderIn.py @@ -13,8 +13,9 @@ class NetfolderIn(SimpleCrypter): __pattern__ = r'http://(?:www\.)?netfolder.in/((?P<id1>\w+)/\w+|folder.php\?folder_id=(?P<id2>\w+))' __description__ = """NetFolder.in decrypter plugin""" - __author_name__ = ("RaNaN", "fragonib") - __author_mail__ = ("RaNaN@pyload.org", "fragonib[AT]yahoo[DOT]es") + __authors__ = [("RaNaN", "RaNaN@pyload.org"), + ("fragonib", "fragonib[AT]yahoo[DOT]es")] + TITLE_PATTERN = r'<div class="Text">Inhalt des Ordners <span.*>(.+)</span></div>' diff --git a/module/plugins/crypter/NosvideoCom.py b/module/plugins/crypter/NosvideoCom.py index ce8e2b372..fd065d571 100644 --- a/module/plugins/crypter/NosvideoCom.py +++ b/module/plugins/crypter/NosvideoCom.py @@ -11,8 +11,8 @@ class NosvideoCom(SimpleCrypter): __pattern__ = r'http://(?:www\.)?nosvideo\.com/\?v=\w+' __description__ = """Nosvideo.com decrypter plugin""" - __author_name__ = "igel" - __author_mail__ = "igelkun@myopera.com" + __authors__ = [("igel", "igelkun@myopera.com")] + LINK_PATTERN = r'href="(http://(?:w{3}\.)?nosupload.com/\?d=\w+)"' TITLE_PATTERN = r'<[tT]itle>Watch (.+?)<' diff --git a/module/plugins/crypter/OneKhDe.py b/module/plugins/crypter/OneKhDe.py index 4b22432f8..2e6daf25d 100644 --- a/module/plugins/crypter/OneKhDe.py +++ b/module/plugins/crypter/OneKhDe.py @@ -14,8 +14,7 @@ class OneKhDe(Crypter): __pattern__ = r'http://(?:www\.)?1kh.de/f/' __description__ = """1kh.de decrypter plugin""" - __author_name__ = "spoob" - __author_mail__ = "spoob@pyload.org" + __authors__ = [("spoob", "spoob@pyload.org")] def __init__(self, parent): diff --git a/module/plugins/crypter/OronComFolder.py b/module/plugins/crypter/OronComFolder.py index f0b2f943c..b651c0041 100755 --- a/module/plugins/crypter/OronComFolder.py +++ b/module/plugins/crypter/OronComFolder.py @@ -11,5 +11,4 @@ class OronComFolder(DeadCrypter): __pattern__ = r'http://(?:www\.)?oron.com/folder/\w+' __description__ = """Oron.com folder decrypter plugin""" - __author_name__ = "DHMH" - __author_mail__ = "webmaster@pcProfil.de" + __authors__ = [("DHMH", "webmaster@pcProfil.de")] diff --git a/module/plugins/crypter/PastebinCom.py b/module/plugins/crypter/PastebinCom.py index 9c114a56b..285110138 100644 --- a/module/plugins/crypter/PastebinCom.py +++ b/module/plugins/crypter/PastebinCom.py @@ -11,8 +11,8 @@ class PastebinCom(SimpleCrypter): __pattern__ = r'http://(?:www\.)?pastebin\.com/\w+' __description__ = """Pastebin.com decrypter plugin""" - __author_name__ = "stickell" - __author_mail__ = "l.stickell@yahoo.it" + __authors__ = [("stickell", "l.stickell@yahoo.it")] + LINK_PATTERN = r'<div class="de\d+">(https?://[^ <]+)(?:[^<]*)</div>' TITLE_PATTERN = r'<div class="paste_box_line1" title="([^"]+)">' diff --git a/module/plugins/crypter/QuickshareCzFolder.py b/module/plugins/crypter/QuickshareCzFolder.py index 9840b84df..a74772641 100644 --- a/module/plugins/crypter/QuickshareCzFolder.py +++ b/module/plugins/crypter/QuickshareCzFolder.py @@ -12,8 +12,8 @@ class QuickshareCzFolder(Crypter): __pattern__ = r'http://(?:www\.)?quickshare.cz/slozka-\d+.*' __description__ = """Quickshare.cz folder decrypter plugin""" - __author_name__ = "zoidberg" - __author_mail__ = "zoidberg@mujmail.cz" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + FOLDER_PATTERN = r'<textarea[^>]*>(.*?)</textarea>' LINK_PATTERN = r'(http://www.quickshare.cz/\S+)' diff --git a/module/plugins/crypter/RSLayerCom.py b/module/plugins/crypter/RSLayerCom.py index 7dda0beab..0013b7b6d 100644 --- a/module/plugins/crypter/RSLayerCom.py +++ b/module/plugins/crypter/RSLayerCom.py @@ -11,5 +11,4 @@ class RSLayerCom(DeadCrypter): __pattern__ = r'http://(?:www\.)?rs-layer.com/directory-' __description__ = """RS-Layer.com decrypter plugin""" - __author_name__ = "hzpz" - __author_mail__ = None + __authors__ = [("hzpz", None)] diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index 1c1afea25..4d0132ac4 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -17,8 +17,8 @@ class RelinkUs(Crypter): __pattern__ = r'http://(?:www\.)?relink.us/(f/|((view|go).php\?id=))(?P<id>.+)' __description__ = """Relink.us decrypter plugin""" - __author_name__ = "fragonib" - __author_mail__ = "fragonib[AT]yahoo[DOT]es" + __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es")] + # Constants PREFERRED_LINK_SOURCES = ["cnl2", "dlc", "web"] diff --git a/module/plugins/crypter/SafelinkingNet.py b/module/plugins/crypter/SafelinkingNet.py index d548bdf89..ca21fe907 100644 --- a/module/plugins/crypter/SafelinkingNet.py +++ b/module/plugins/crypter/SafelinkingNet.py @@ -19,8 +19,8 @@ class SafelinkingNet(Crypter): __pattern__ = r'https?://(?:www\.)?safelinking.net/([pd])/\w+' __description__ = """Safelinking.net decrypter plugin""" - __author_name__ = "quareevo" - __author_mail__ = "quareevo@arcor.de" + __authors__ = [("quareevo", "quareevo@arcor.de")] + SOLVEMEDIA_PATTERN = "solvemediaApiKey = '([\w\.\-_]+)';" diff --git a/module/plugins/crypter/SecuredIn.py b/module/plugins/crypter/SecuredIn.py index 0b558c688..f94fae700 100644 --- a/module/plugins/crypter/SecuredIn.py +++ b/module/plugins/crypter/SecuredIn.py @@ -11,5 +11,4 @@ class SecuredIn(DeadCrypter): __pattern__ = r'http://(?:www\.)?secured\.in/download-[\d]+-[\w]{8}\.html' __description__ = """Secured.in decrypter plugin""" - __author_name__ = "mkaay" - __author_mail__ = "mkaay@mkaay.de" + __authors__ = [("mkaay", "mkaay@mkaay.de")] diff --git a/module/plugins/crypter/ShareLinksBiz.py b/module/plugins/crypter/ShareLinksBiz.py index fa9739711..e8615d8bc 100644 --- a/module/plugins/crypter/ShareLinksBiz.py +++ b/module/plugins/crypter/ShareLinksBiz.py @@ -16,8 +16,7 @@ class ShareLinksBiz(Crypter): __pattern__ = r'http://(?:www\.)?(share-links|s2l)\.biz/(?P<ID>_?\w+)' __description__ = """Share-Links.biz decrypter plugin""" - __author_name__ = "fragonib" - __author_mail__ = "fragonib[AT]yahoo[DOT]es" + __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es")] def setup(self): diff --git a/module/plugins/crypter/ShareRapidComFolder.py b/module/plugins/crypter/ShareRapidComFolder.py index fd12ff96f..43814bccb 100644 --- a/module/plugins/crypter/ShareRapidComFolder.py +++ b/module/plugins/crypter/ShareRapidComFolder.py @@ -11,7 +11,7 @@ class ShareRapidComFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?((share(-?rapid\.(biz|com|cz|info|eu|net|org|pl|sk)|-(central|credit|free|net)\.cz|-ms\.net)|(s-?rapid|rapids)\.(cz|sk))|(e-stahuj|mediatack|premium-rapidshare|rapidshare-premium|qiuck)\.cz|kadzet\.com|stahuj-zdarma\.eu|strelci\.net|universal-share\.com)/(slozka/.+)' __description__ = """Share-Rapid.com folder decrypter plugin""" - __author_name__ = "zoidberg" - __author_mail__ = "zoidberg@mujmail.cz" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + LINK_PATTERN = r'<td class="soubor"[^>]*><a href="([^"]+)">' diff --git a/module/plugins/crypter/SpeedLoadOrgFolder.py b/module/plugins/crypter/SpeedLoadOrgFolder.py index 092d3efe4..79b79308d 100644 --- a/module/plugins/crypter/SpeedLoadOrgFolder.py +++ b/module/plugins/crypter/SpeedLoadOrgFolder.py @@ -11,5 +11,4 @@ class SpeedLoadOrgFolder(DeadCrypter): __pattern__ = r'http://(?:www\.)?speedload\.org/(\d+~f$|folder/\d+/)' __description__ = """Speedload decrypter plugin""" - __author_name__ = "stickell" - __author_mail__ = "l.stickell@yahoo.it" + __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/crypter/StealthTo.py b/module/plugins/crypter/StealthTo.py index 402724e89..a2f7b04af 100644 --- a/module/plugins/crypter/StealthTo.py +++ b/module/plugins/crypter/StealthTo.py @@ -11,5 +11,4 @@ class StealthTo(DeadCrypter): __pattern__ = r'http://(?:www\.)?stealth\.to/folder/.+' __description__ = """Stealth.to decrypter plugin""" - __author_name__ = "spoob" - __author_mail__ = "spoob@pyload.org" + __authors__ = [("spoob", "spoob@pyload.org")] diff --git a/module/plugins/crypter/TnyCz.py b/module/plugins/crypter/TnyCz.py index e0b92ae22..1e406072d 100644 --- a/module/plugins/crypter/TnyCz.py +++ b/module/plugins/crypter/TnyCz.py @@ -13,8 +13,8 @@ class TnyCz(SimpleCrypter): __pattern__ = r'http://(?:www\.)?tny\.cz/\w+' __description__ = """Tny.cz decrypter plugin""" - __author_name__ = "Walter Purcaro" - __author_mail__ = "vuolter@gmail.com" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + TITLE_PATTERN = r'<title>(.+) - .+</title>' diff --git a/module/plugins/crypter/TrailerzoneInfo.py b/module/plugins/crypter/TrailerzoneInfo.py index 42e45a819..4ed08a634 100644 --- a/module/plugins/crypter/TrailerzoneInfo.py +++ b/module/plugins/crypter/TrailerzoneInfo.py @@ -11,5 +11,4 @@ class TrailerzoneInfo(DeadCrypter): __pattern__ = r'http://(?:www\.)?trailerzone.info/.*?' __description__ = """TrailerZone.info decrypter plugin""" - __author_name__ = "godofdream" - __author_mail__ = "soilfiction@gmail.com" + __authors__ = [("godofdream", "soilfiction@gmail.com")] diff --git a/module/plugins/crypter/TurbobitNetFolder.py b/module/plugins/crypter/TurbobitNetFolder.py index ec0fd157d..d0b42ab2a 100644 --- a/module/plugins/crypter/TurbobitNetFolder.py +++ b/module/plugins/crypter/TurbobitNetFolder.py @@ -14,8 +14,9 @@ class TurbobitNetFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?turbobit\.net/download/folder/(?P<ID>\w+)' __description__ = """Turbobit.net folder decrypter plugin""" - __author_name__ = ("stickell", "Walter Purcaro") - __author_mail__ = ("l.stickell@yahoo.it", "vuolter@gmail.com") + __authors__ = [("stickell", "l.stickell@yahoo.it"), + ("Walter Purcaro", "vuolter@gmail.com")] + TITLE_PATTERN = r"src='/js/lib/grid/icon/folder.png'> <span>(.+?)</span>" diff --git a/module/plugins/crypter/TusfilesNetFolder.py b/module/plugins/crypter/TusfilesNetFolder.py index 7ce636d2d..a295189fd 100644 --- a/module/plugins/crypter/TusfilesNetFolder.py +++ b/module/plugins/crypter/TusfilesNetFolder.py @@ -15,8 +15,9 @@ class TusfilesNetFolder(SimpleCrypter): __pattern__ = r'https?://(?:www\.)?tusfiles\.net/go/(?P<ID>\w+)/?' __description__ = """Tusfiles.net folder decrypter plugin""" - __author_name__ = ("Walter Purcaro", "stickell") - __author_mail__ = ("vuolter@gmail.com", "l.stickell@yahoo.it") + __authors__ = [("Walter Purcaro", "vuolter@gmail.com"), + ("stickell", "l.stickell@yahoo.it")] + LINK_PATTERN = r'<TD align=left><a href="(.*?)">' TITLE_PATTERN = r'<Title>.*?\: (.+) folder</Title>' diff --git a/module/plugins/crypter/UlozToFolder.py b/module/plugins/crypter/UlozToFolder.py index 06d30099c..0977addcd 100644 --- a/module/plugins/crypter/UlozToFolder.py +++ b/module/plugins/crypter/UlozToFolder.py @@ -12,8 +12,8 @@ class UlozToFolder(Crypter): __pattern__ = r'http://(?:www\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj.cz|zachowajto.pl)/(m|soubory)/.*' __description__ = """Uloz.to folder decrypter plugin""" - __author_name__ = "zoidberg" - __author_mail__ = "zoidberg@mujmail.cz" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + FOLDER_PATTERN = r'<ul class="profile_files">(.*?)</ul>' LINK_PATTERN = r'<br /><a href="/([^"]+)">[^<]+</a>' diff --git a/module/plugins/crypter/UploadableChFolder.py b/module/plugins/crypter/UploadableChFolder.py index 867a699c2..0d672acf5 100644 --- a/module/plugins/crypter/UploadableChFolder.py +++ b/module/plugins/crypter/UploadableChFolder.py @@ -11,8 +11,8 @@ class UploadableChFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?uploadable\.ch/list/\w+' __description__ = """ Uploadable.ch folder decrypter plugin """ - __author_name__ = ("guidobelix", "Walter Purcaro") - __author_mail__ = ("guidobelix@hotmail.it", "vuolter@gmail.com") + __authors__ = [("guidobelix", "guidobelix@hotmail.it"), + ("Walter Purcaro", "vuolter@gmail.com")] LINK_PATTERN = r'"(.+?)" class="icon_zipfile">' diff --git a/module/plugins/crypter/UploadedToFolder.py b/module/plugins/crypter/UploadedToFolder.py index d33dc91a0..b58162dd3 100644 --- a/module/plugins/crypter/UploadedToFolder.py +++ b/module/plugins/crypter/UploadedToFolder.py @@ -13,8 +13,8 @@ class UploadedToFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?(uploaded|ul)\.(to|net)/(f|folder|list)/(?P<id>\w+)' __description__ = """UploadedTo decrypter plugin""" - __author_name__ = "stickell" - __author_mail__ = "l.stickell@yahoo.it" + __authors__ = [("stickell", "l.stickell@yahoo.it")] + PLAIN_PATTERN = r'<small class="date"><a href="(?P<plain>[\w/]+)" onclick=' TITLE_PATTERN = r'<title>(.+?)<' diff --git a/module/plugins/crypter/WiiReloadedOrg.py b/module/plugins/crypter/WiiReloadedOrg.py index cb02fbd2d..12863cf75 100644 --- a/module/plugins/crypter/WiiReloadedOrg.py +++ b/module/plugins/crypter/WiiReloadedOrg.py @@ -11,5 +11,4 @@ class WiiReloadedOrg(DeadCrypter): __pattern__ = r'http://(?:www\.)?wii-reloaded\.org/protect/get\.php\?i=.+' __description__ = """Wii-Reloaded.org decrypter plugin""" - __author_name__ = "hzpz" - __author_mail__ = None + __authors__ = [("hzpz", None)] diff --git a/module/plugins/crypter/XupPl.py b/module/plugins/crypter/XupPl.py index 5e5f511a8..e24c242e4 100644 --- a/module/plugins/crypter/XupPl.py +++ b/module/plugins/crypter/XupPl.py @@ -11,8 +11,7 @@ class XupPl(Crypter): __pattern__ = r'https?://(?:[^/]*\.)?xup\.pl/.*' __description__ = """Xup.pl decrypter plugin""" - __author_name__ = "z00nx" - __author_mail__ = "z00nx0@gmail.com" + __authors__ = [("z00nx", "z00nx0@gmail.com")] def decrypt(self, pyfile): diff --git a/module/plugins/crypter/YoutubeBatch.py b/module/plugins/crypter/YoutubeBatch.py index 1caca16bd..b33554673 100644 --- a/module/plugins/crypter/YoutubeBatch.py +++ b/module/plugins/crypter/YoutubeBatch.py @@ -22,8 +22,7 @@ class YoutubeBatch(Crypter): ("uploads", "bool", "Grab channel unplaylisted videos", True)] __description__ = """Youtube.com channel & playlist decrypter plugin""" - __author_name__ = "Walter Purcaro" - __author_mail__ = "vuolter@gmail.com" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] def api_response(self, ref, req): -- cgit v1.2.3 From ae7a7e66981456e5bbe2b54006d79b6f907be7a4 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Wed, 8 Oct 2014 20:18:13 +0200 Subject: Add __license__ key attribute to plugins --- module/plugins/crypter/BitshareComFolder.py | 1 + module/plugins/crypter/C1neonCom.py | 1 + module/plugins/crypter/ChipDe.py | 1 + module/plugins/crypter/CrockoComFolder.py | 1 + module/plugins/crypter/CryptItCom.py | 1 + module/plugins/crypter/CzshareComFolder.py | 1 + module/plugins/crypter/DDLMusicOrg.py | 1 + module/plugins/crypter/DailymotionBatch.py | 1 + module/plugins/crypter/DataHuFolder.py | 1 + module/plugins/crypter/DdlstorageComFolder.py | 1 + module/plugins/crypter/DepositfilesComFolder.py | 1 + module/plugins/crypter/Dereferer.py | 1 + module/plugins/crypter/DevhostStFolder.py | 1 + module/plugins/crypter/DlProtectCom.py | 1 + module/plugins/crypter/DontKnowMe.py | 1 + module/plugins/crypter/DuckCryptInfo.py | 1 + module/plugins/crypter/DuploadOrgFolder.py | 1 + module/plugins/crypter/EasybytezComFolder.py | 1 + module/plugins/crypter/EmbeduploadCom.py | 1 + module/plugins/crypter/FilebeerInfoFolder.py | 1 + module/plugins/crypter/FilecloudIoFolder.py | 1 + module/plugins/crypter/FilefactoryComFolder.py | 1 + module/plugins/crypter/FilerNetFolder.py | 1 + module/plugins/crypter/FileserveComFolder.py | 1 + module/plugins/crypter/FilestubeCom.py | 1 + module/plugins/crypter/FiletramCom.py | 1 + module/plugins/crypter/FiredriveComFolder.py | 1 + module/plugins/crypter/FourChanOrg.py | 1 + module/plugins/crypter/FreakhareComFolder.py | 1 + module/plugins/crypter/FreetexthostCom.py | 1 + module/plugins/crypter/FshareVnFolder.py | 1 + module/plugins/crypter/GooGl.py | 1 + module/plugins/crypter/HoerbuchIn.py | 1 + module/plugins/crypter/HotfileFolderCom.py | 1 + module/plugins/crypter/ILoadTo.py | 1 + module/plugins/crypter/ImgurComAlbum.py | 1 + module/plugins/crypter/LetitbitNetFolder.py | 1 + module/plugins/crypter/LinkSaveIn.py | 1 + module/plugins/crypter/LinkdecrypterCom.py | 1 + module/plugins/crypter/LixIn.py | 1 + module/plugins/crypter/LofCc.py | 1 + module/plugins/crypter/MBLinkInfo.py | 1 + module/plugins/crypter/MediafireComFolder.py | 1 + module/plugins/crypter/Movie2kTo.py | 1 + module/plugins/crypter/MultiUpOrg.py | 1 + module/plugins/crypter/MultiloadCz.py | 1 + module/plugins/crypter/MultiuploadCom.py | 1 + module/plugins/crypter/NCryptIn.py | 1 + module/plugins/crypter/NetfolderIn.py | 1 + module/plugins/crypter/NosvideoCom.py | 1 + module/plugins/crypter/OneKhDe.py | 1 + module/plugins/crypter/OronComFolder.py | 1 + module/plugins/crypter/PastebinCom.py | 1 + module/plugins/crypter/QuickshareCzFolder.py | 1 + module/plugins/crypter/RSLayerCom.py | 1 + module/plugins/crypter/RelinkUs.py | 1 + module/plugins/crypter/SafelinkingNet.py | 1 + module/plugins/crypter/SecuredIn.py | 1 + module/plugins/crypter/ShareLinksBiz.py | 1 + module/plugins/crypter/ShareRapidComFolder.py | 1 + module/plugins/crypter/SpeedLoadOrgFolder.py | 1 + module/plugins/crypter/StealthTo.py | 1 + module/plugins/crypter/TnyCz.py | 1 + module/plugins/crypter/TrailerzoneInfo.py | 1 + module/plugins/crypter/TurbobitNetFolder.py | 1 + module/plugins/crypter/TusfilesNetFolder.py | 1 + module/plugins/crypter/UlozToFolder.py | 1 + module/plugins/crypter/UploadableChFolder.py | 1 + module/plugins/crypter/UploadedToFolder.py | 1 + module/plugins/crypter/WiiReloadedOrg.py | 1 + module/plugins/crypter/XupPl.py | 1 + module/plugins/crypter/YoutubeBatch.py | 1 + 72 files changed, 72 insertions(+) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/BitshareComFolder.py b/module/plugins/crypter/BitshareComFolder.py index 59226b7bb..40458b3ff 100644 --- a/module/plugins/crypter/BitshareComFolder.py +++ b/module/plugins/crypter/BitshareComFolder.py @@ -11,6 +11,7 @@ class BitshareComFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?bitshare\.com/\?d=\w+' __description__ = """Bitshare.com folder decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/crypter/C1neonCom.py b/module/plugins/crypter/C1neonCom.py index 40692d0d1..a314f2ad1 100644 --- a/module/plugins/crypter/C1neonCom.py +++ b/module/plugins/crypter/C1neonCom.py @@ -11,4 +11,5 @@ class C1neonCom(DeadCrypter): __pattern__ = r'http://(?:www\.)?c1neon.com/.*?' __description__ = """C1neon.com decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("godofdream", "soilfiction@gmail.com")] diff --git a/module/plugins/crypter/ChipDe.py b/module/plugins/crypter/ChipDe.py index 9aac1efa4..7752ee3bb 100644 --- a/module/plugins/crypter/ChipDe.py +++ b/module/plugins/crypter/ChipDe.py @@ -12,6 +12,7 @@ class ChipDe(Crypter): __pattern__ = r'http://(?:www\.)?chip.de/video/.*\.html' __description__ = """Chip.de decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("4Christopher", "4Christopher@gmx.de")] diff --git a/module/plugins/crypter/CrockoComFolder.py b/module/plugins/crypter/CrockoComFolder.py index dae536dd0..e921fc1fa 100644 --- a/module/plugins/crypter/CrockoComFolder.py +++ b/module/plugins/crypter/CrockoComFolder.py @@ -11,6 +11,7 @@ class CrockoComFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?crocko.com/f/.*' __description__ = """Crocko.com folder decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/crypter/CryptItCom.py b/module/plugins/crypter/CryptItCom.py index a248a92d1..58f0d77b6 100644 --- a/module/plugins/crypter/CryptItCom.py +++ b/module/plugins/crypter/CryptItCom.py @@ -11,4 +11,5 @@ class CryptItCom(DeadCrypter): __pattern__ = r'http://(?:www\.)?crypt-it\.com/(s|e|d|c)/[\w]+' __description__ = """Crypt-it.com decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("jeix", "jeix@hasnomail.de")] diff --git a/module/plugins/crypter/CzshareComFolder.py b/module/plugins/crypter/CzshareComFolder.py index 3762cbf10..9a3881617 100644 --- a/module/plugins/crypter/CzshareComFolder.py +++ b/module/plugins/crypter/CzshareComFolder.py @@ -12,6 +12,7 @@ class CzshareComFolder(Crypter): __pattern__ = r'http://(?:www\.)?(czshare|sdilej)\.(com|cz)/folders/.*' __description__ = """Czshare.com folder decrypter plugin, now Sdilej.cz""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/crypter/DDLMusicOrg.py b/module/plugins/crypter/DDLMusicOrg.py index c0b137992..c224ee732 100644 --- a/module/plugins/crypter/DDLMusicOrg.py +++ b/module/plugins/crypter/DDLMusicOrg.py @@ -15,6 +15,7 @@ class DDLMusicOrg(Crypter): __pattern__ = r'http://(?:www\.)?ddl-music\.org/captcha/ddlm_cr\d\.php\?\d+\?\d+' __description__ = """Ddl-music.org decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("mkaay", "mkaay@mkaay.de")] diff --git a/module/plugins/crypter/DailymotionBatch.py b/module/plugins/crypter/DailymotionBatch.py index cc97910af..a0ed0e80f 100644 --- a/module/plugins/crypter/DailymotionBatch.py +++ b/module/plugins/crypter/DailymotionBatch.py @@ -17,6 +17,7 @@ class DailymotionBatch(Crypter): __pattern__ = r'https?://(?:www\.)?dailymotion\.com/((playlists/)?(?P<TYPE>playlist|user)/)?(?P<ID>[\w^_]+)(?(TYPE)|#)' __description__ = """Dailymotion.com channel & playlist decrypter""" + __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/crypter/DataHuFolder.py b/module/plugins/crypter/DataHuFolder.py index 405945f58..a80be34d2 100644 --- a/module/plugins/crypter/DataHuFolder.py +++ b/module/plugins/crypter/DataHuFolder.py @@ -13,6 +13,7 @@ class DataHuFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?data.hu/dir/\w+' __description__ = """Data.hu folder decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("crash", None), ("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/crypter/DdlstorageComFolder.py b/module/plugins/crypter/DdlstorageComFolder.py index 87719cb26..e3fd88084 100644 --- a/module/plugins/crypter/DdlstorageComFolder.py +++ b/module/plugins/crypter/DdlstorageComFolder.py @@ -11,6 +11,7 @@ class DdlstorageComFolder(DeadCrypter): __pattern__ = r'https?://(?:www\.)?ddlstorage\.com/folder/\w+' __description__ = """DDLStorage.com folder decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("godofdream", "soilfiction@gmail.com"), ("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/crypter/DepositfilesComFolder.py b/module/plugins/crypter/DepositfilesComFolder.py index 3c4a95a38..7e32457ac 100644 --- a/module/plugins/crypter/DepositfilesComFolder.py +++ b/module/plugins/crypter/DepositfilesComFolder.py @@ -11,6 +11,7 @@ class DepositfilesComFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?depositfiles.com/folders/\w+' __description__ = """Depositfiles.com folder decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/crypter/Dereferer.py b/module/plugins/crypter/Dereferer.py index 215fb52fa..b6e269000 100644 --- a/module/plugins/crypter/Dereferer.py +++ b/module/plugins/crypter/Dereferer.py @@ -15,6 +15,7 @@ class Dereferer(Crypter): __pattern__ = r'https?://([^/]+)/.*?(?P<url>(ht|f)tps?(://|%3A%2F%2F).*)' __description__ = """Crypter for dereferers""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/crypter/DevhostStFolder.py b/module/plugins/crypter/DevhostStFolder.py index b79d9f264..1839257e0 100644 --- a/module/plugins/crypter/DevhostStFolder.py +++ b/module/plugins/crypter/DevhostStFolder.py @@ -18,6 +18,7 @@ class DevhostStFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?d-h\.st/users/(?P<USER>\w+)(/\?fld_id=(?P<ID>\d+))?' __description__ = """d-h.st folder decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de"), ("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/crypter/DlProtectCom.py b/module/plugins/crypter/DlProtectCom.py index f748b5e62..e31c62185 100644 --- a/module/plugins/crypter/DlProtectCom.py +++ b/module/plugins/crypter/DlProtectCom.py @@ -16,6 +16,7 @@ class DlProtectCom(SimpleCrypter): __pattern__ = r'http://(?:www\.)?dl-protect\.com/((en|fr)/)?(?P<ID>\w+)' __description__ = """Dl-protect.com decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/crypter/DontKnowMe.py b/module/plugins/crypter/DontKnowMe.py index 4f2b70aaf..961f0c6e0 100644 --- a/module/plugins/crypter/DontKnowMe.py +++ b/module/plugins/crypter/DontKnowMe.py @@ -15,6 +15,7 @@ class DontKnowMe(Crypter): __pattern__ = r'http://(?:www\.)?dontknow.me/at/\?.+$' __description__ = """DontKnow.me decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("selaux", None)] diff --git a/module/plugins/crypter/DuckCryptInfo.py b/module/plugins/crypter/DuckCryptInfo.py index 8c5c344f6..5815b624c 100644 --- a/module/plugins/crypter/DuckCryptInfo.py +++ b/module/plugins/crypter/DuckCryptInfo.py @@ -15,6 +15,7 @@ class DuckCryptInfo(Crypter): __pattern__ = r'http://(?:www\.)?duckcrypt.info/(folder|wait|link)/(\w+)/?(\w*)' __description__ = """DuckCrypt.info decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("godofdream", "soilfiction@gmail.com")] diff --git a/module/plugins/crypter/DuploadOrgFolder.py b/module/plugins/crypter/DuploadOrgFolder.py index 406a7a850..d7d009b56 100644 --- a/module/plugins/crypter/DuploadOrgFolder.py +++ b/module/plugins/crypter/DuploadOrgFolder.py @@ -11,6 +11,7 @@ class DuploadOrgFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?dupload\.org/folder/\d+/' __description__ = """Dupload.org folder decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/crypter/EasybytezComFolder.py b/module/plugins/crypter/EasybytezComFolder.py index 565ee0745..0b73a10ae 100644 --- a/module/plugins/crypter/EasybytezComFolder.py +++ b/module/plugins/crypter/EasybytezComFolder.py @@ -11,6 +11,7 @@ class EasybytezComFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?easybytez\.com/users/(?P<ID>\d+/\d+)' __description__ = """Easybytez.com folder decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/crypter/EmbeduploadCom.py b/module/plugins/crypter/EmbeduploadCom.py index f23ae5101..8f1d60ee3 100644 --- a/module/plugins/crypter/EmbeduploadCom.py +++ b/module/plugins/crypter/EmbeduploadCom.py @@ -15,6 +15,7 @@ class EmbeduploadCom(Crypter): ("ignoredHoster", "str", "Ignored hoster list (bar-separated) ", "")] __description__ = """EmbedUpload.com decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/crypter/FilebeerInfoFolder.py b/module/plugins/crypter/FilebeerInfoFolder.py index 9c0599742..833616747 100644 --- a/module/plugins/crypter/FilebeerInfoFolder.py +++ b/module/plugins/crypter/FilebeerInfoFolder.py @@ -11,4 +11,5 @@ class FilebeerInfoFolder(DeadCrypter): __pattern__ = r'http://(?:www\.)?filebeer\.info/(\d+~f).*' __description__ = """Filebeer.info folder decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/crypter/FilecloudIoFolder.py b/module/plugins/crypter/FilecloudIoFolder.py index eccf293d7..d6a1929a3 100644 --- a/module/plugins/crypter/FilecloudIoFolder.py +++ b/module/plugins/crypter/FilecloudIoFolder.py @@ -11,6 +11,7 @@ class FilecloudIoFolder(SimpleCrypter): __pattern__ = r'https?://(?:www\.)?(filecloud\.io|ifile\.it)/_\w+' __description__ = """Filecloud.io folder decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/crypter/FilefactoryComFolder.py b/module/plugins/crypter/FilefactoryComFolder.py index a17451941..438ed533b 100644 --- a/module/plugins/crypter/FilefactoryComFolder.py +++ b/module/plugins/crypter/FilefactoryComFolder.py @@ -11,6 +11,7 @@ class FilefactoryComFolder(SimpleCrypter): __pattern__ = r'https?://(?:www\.)?filefactory\.com/(?:f|folder)/\w+' __description__ = """Filefactory.com folder decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/crypter/FilerNetFolder.py b/module/plugins/crypter/FilerNetFolder.py index b5f59677d..fc9623d40 100644 --- a/module/plugins/crypter/FilerNetFolder.py +++ b/module/plugins/crypter/FilerNetFolder.py @@ -11,6 +11,7 @@ class FilerNetFolder(SimpleCrypter): __pattern__ = r'https?://filer\.net/folder/\w{16}' __description__ = """Filer.net decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("nath_schwarz", "nathan.notwhite@gmail.com"), ("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/crypter/FileserveComFolder.py b/module/plugins/crypter/FileserveComFolder.py index 1fac3eeee..63de97fec 100644 --- a/module/plugins/crypter/FileserveComFolder.py +++ b/module/plugins/crypter/FileserveComFolder.py @@ -13,6 +13,7 @@ class FileserveComFolder(Crypter): __pattern__ = r'http://(?:www\.)?fileserve.com/list/\w+' __description__ = """FileServe.com folder decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("fionnc", "fionnc@gmail.com")] diff --git a/module/plugins/crypter/FilestubeCom.py b/module/plugins/crypter/FilestubeCom.py index 6bd081894..097655316 100644 --- a/module/plugins/crypter/FilestubeCom.py +++ b/module/plugins/crypter/FilestubeCom.py @@ -11,6 +11,7 @@ class FilestubeCom(SimpleCrypter): __pattern__ = r'http://(?:www\.)?filestube\.(?:com|to)/\w+' __description__ = """Filestube.com decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/crypter/FiletramCom.py b/module/plugins/crypter/FiletramCom.py index 5717df47e..e99419039 100644 --- a/module/plugins/crypter/FiletramCom.py +++ b/module/plugins/crypter/FiletramCom.py @@ -11,6 +11,7 @@ class FiletramCom(SimpleCrypter): __pattern__ = r'http://(?:www\.)?filetram.com/[^/]+/.+' __description__ = """Filetram.com decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("igel", "igelkun@myopera.com"), ("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/crypter/FiredriveComFolder.py b/module/plugins/crypter/FiredriveComFolder.py index c41c2f933..f297854f1 100644 --- a/module/plugins/crypter/FiredriveComFolder.py +++ b/module/plugins/crypter/FiredriveComFolder.py @@ -13,6 +13,7 @@ class FiredriveComFolder(SimpleCrypter): __pattern__ = r'https?://(?:www\.)?(firedrive|putlocker)\.com/share/.+' __description__ = """Firedrive.com folder decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/crypter/FourChanOrg.py b/module/plugins/crypter/FourChanOrg.py index 8b2c74b44..4a0aa13d9 100644 --- a/module/plugins/crypter/FourChanOrg.py +++ b/module/plugins/crypter/FourChanOrg.py @@ -15,6 +15,7 @@ class FourChanOrg(Crypter): __pattern__ = r'http://(?:www\.)?boards\.4chan.org/\w+/res/(\d+)' __description__ = """4chan.org folder decrypter plugin""" + __license__ = "GPLv3" __authors__ = [] diff --git a/module/plugins/crypter/FreakhareComFolder.py b/module/plugins/crypter/FreakhareComFolder.py index 34b64bc4a..19079f5f2 100644 --- a/module/plugins/crypter/FreakhareComFolder.py +++ b/module/plugins/crypter/FreakhareComFolder.py @@ -13,6 +13,7 @@ class FreakhareComFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?freakshare\.com/folder/.+' __description__ = """Freakhare.com folder decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/crypter/FreetexthostCom.py b/module/plugins/crypter/FreetexthostCom.py index c91ee6d10..35ee7791c 100644 --- a/module/plugins/crypter/FreetexthostCom.py +++ b/module/plugins/crypter/FreetexthostCom.py @@ -13,6 +13,7 @@ class FreetexthostCom(SimpleCrypter): __pattern__ = r'http://(?:www\.)?freetexthost\.com/\w+' __description__ = """Freetexthost.com decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/crypter/FshareVnFolder.py b/module/plugins/crypter/FshareVnFolder.py index 1aa8bb3ea..f7c59050c 100644 --- a/module/plugins/crypter/FshareVnFolder.py +++ b/module/plugins/crypter/FshareVnFolder.py @@ -11,6 +11,7 @@ class FshareVnFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?fshare.vn/folder/.*' __description__ = """Fshare.vn folder decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/crypter/GooGl.py b/module/plugins/crypter/GooGl.py index 8b0c2ac91..29c5a5f5e 100644 --- a/module/plugins/crypter/GooGl.py +++ b/module/plugins/crypter/GooGl.py @@ -12,6 +12,7 @@ class GooGl(Crypter): __pattern__ = r'https?://(?:www\.)?goo\.gl/\w+' __description__ = """Goo.gl decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/crypter/HoerbuchIn.py b/module/plugins/crypter/HoerbuchIn.py index 6774cd72e..9b7d9f384 100644 --- a/module/plugins/crypter/HoerbuchIn.py +++ b/module/plugins/crypter/HoerbuchIn.py @@ -15,6 +15,7 @@ class HoerbuchIn(Crypter): __pattern__ = r'http://(?:www\.)?hoerbuch\.in/(wp/horbucher/\d+/.+/|tp/out.php\?.+|protection/folder_\d+\.html)' __description__ = """Hoerbuch.in decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("spoob", "spoob@pyload.org"), ("mkaay", "mkaay@mkaay.de")] diff --git a/module/plugins/crypter/HotfileFolderCom.py b/module/plugins/crypter/HotfileFolderCom.py index e97d2ca91..d9e4e4c39 100644 --- a/module/plugins/crypter/HotfileFolderCom.py +++ b/module/plugins/crypter/HotfileFolderCom.py @@ -11,4 +11,5 @@ class HotfileFolderCom(DeadCrypter): __pattern__ = r'https?://(?:www\.)?hotfile\.com/list/\w+/\w+' __description__ = """Hotfile.com folder decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("RaNaN", "RaNaN@pyload.org")] diff --git a/module/plugins/crypter/ILoadTo.py b/module/plugins/crypter/ILoadTo.py index c1dbab836..638d15191 100644 --- a/module/plugins/crypter/ILoadTo.py +++ b/module/plugins/crypter/ILoadTo.py @@ -11,4 +11,5 @@ class ILoadTo(DeadCrypter): __pattern__ = r'http://(?:www\.)?iload\.to/go/\d+-[\w\.-]+/' __description__ = """Iload.to decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("hzpz", None)] diff --git a/module/plugins/crypter/ImgurComAlbum.py b/module/plugins/crypter/ImgurComAlbum.py index d4e6b13ab..3fd8b9b21 100644 --- a/module/plugins/crypter/ImgurComAlbum.py +++ b/module/plugins/crypter/ImgurComAlbum.py @@ -12,6 +12,7 @@ class ImgurComAlbum(SimpleCrypter): __pattern__ = r'https?://(?:www\.|m\.)?imgur\.com/(a|gallery|)/?\w{5,7}' __description__ = """Imgur.com decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("nath_schwarz", "nathan.notwhite@gmail.com")] diff --git a/module/plugins/crypter/LetitbitNetFolder.py b/module/plugins/crypter/LetitbitNetFolder.py index 3ca24195d..18e79ad8a 100644 --- a/module/plugins/crypter/LetitbitNetFolder.py +++ b/module/plugins/crypter/LetitbitNetFolder.py @@ -12,6 +12,7 @@ class LetitbitNetFolder(Crypter): __pattern__ = r'http://(?:www\.)?letitbit.net/folder/\w+' __description__ = """Letitbit.net folder decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("DHMH", "webmaster@pcProfil.de"), ("z00nx", "z00nx0@gmail.com")] diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index 9c0bbdeac..b4691d70b 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -21,6 +21,7 @@ class LinkSaveIn(SimpleCrypter): __pattern__ = r'http://(?:www\.)?linksave.in/(?P<id>\w+)$' __description__ = """LinkSave.in decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es")] diff --git a/module/plugins/crypter/LinkdecrypterCom.py b/module/plugins/crypter/LinkdecrypterCom.py index cc688cd8e..c72092a5f 100644 --- a/module/plugins/crypter/LinkdecrypterCom.py +++ b/module/plugins/crypter/LinkdecrypterCom.py @@ -12,6 +12,7 @@ class LinkdecrypterCom(Crypter): __pattern__ = None __description__ = """Linkdecrypter.com""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz"), ("flowlee", None)] diff --git a/module/plugins/crypter/LixIn.py b/module/plugins/crypter/LixIn.py index af4f182b4..df32eed55 100644 --- a/module/plugins/crypter/LixIn.py +++ b/module/plugins/crypter/LixIn.py @@ -13,6 +13,7 @@ class LixIn(Crypter): __pattern__ = r'http://(?:www\.)?lix\.in/(?P<ID>.+)' __description__ = """Lix.in decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("spoob", "spoob@pyload.org")] diff --git a/module/plugins/crypter/LofCc.py b/module/plugins/crypter/LofCc.py index 5fc04000f..b3eef6fe9 100644 --- a/module/plugins/crypter/LofCc.py +++ b/module/plugins/crypter/LofCc.py @@ -11,4 +11,5 @@ class LofCc(DeadCrypter): __pattern__ = r'http://(?:www\.)?lof.cc/(.*)' __description__ = """Lof.cc decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("mkaay", "mkaay@mkaay.de")] diff --git a/module/plugins/crypter/MBLinkInfo.py b/module/plugins/crypter/MBLinkInfo.py index edd846cf9..3d03e6e13 100644 --- a/module/plugins/crypter/MBLinkInfo.py +++ b/module/plugins/crypter/MBLinkInfo.py @@ -11,5 +11,6 @@ class MBLinkInfo(DeadCrypter): __pattern__ = r'http://(?:www\.)?mblink\.info/?\?id=(\d+)' __description__ = """MBLink.info decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("Gummibaer", "Gummibaer@wiki-bierkiste.de"), ("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/crypter/MediafireComFolder.py b/module/plugins/crypter/MediafireComFolder.py index 2a4de5272..568b4a985 100644 --- a/module/plugins/crypter/MediafireComFolder.py +++ b/module/plugins/crypter/MediafireComFolder.py @@ -14,6 +14,7 @@ class MediafireComFolder(Crypter): __pattern__ = r'http://(?:www\.)?mediafire\.com/(folder/|\?sharekey=|\?\w{13}($|[/#]))' __description__ = """Mediafire.com folder decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/crypter/Movie2kTo.py b/module/plugins/crypter/Movie2kTo.py index 3a1701923..019105428 100644 --- a/module/plugins/crypter/Movie2kTo.py +++ b/module/plugins/crypter/Movie2kTo.py @@ -11,4 +11,5 @@ class Movie2kTo(DeadCrypter): __pattern__ = r'http://(?:www\.)?movie2k\.to/(.*)\.html' __description__ = """Movie2k.to decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("4Christopher", "4Christopher@gmx.de")] diff --git a/module/plugins/crypter/MultiUpOrg.py b/module/plugins/crypter/MultiUpOrg.py index 0cb3048aa..bf0e49a4c 100644 --- a/module/plugins/crypter/MultiUpOrg.py +++ b/module/plugins/crypter/MultiUpOrg.py @@ -14,6 +14,7 @@ class MultiUpOrg(SimpleCrypter): __pattern__ = r'http://(?:www\.)?multiup\.org/(en|fr)/(?P<TYPE>project|download|miror)/\w+(/\w+)?' __description__ = """MultiUp.org crypter plugin""" + __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/crypter/MultiloadCz.py b/module/plugins/crypter/MultiloadCz.py index 8f43e5796..a24fba576 100644 --- a/module/plugins/crypter/MultiloadCz.py +++ b/module/plugins/crypter/MultiloadCz.py @@ -14,6 +14,7 @@ class MultiloadCz(Crypter): ("ignoredHoster", "str", "Ignored hoster list (bar-separated) ", "")] __description__ = """Multiload.cz decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/crypter/MultiuploadCom.py b/module/plugins/crypter/MultiuploadCom.py index 653c9a169..0701a50ff 100644 --- a/module/plugins/crypter/MultiuploadCom.py +++ b/module/plugins/crypter/MultiuploadCom.py @@ -11,4 +11,5 @@ class MultiuploadCom(DeadCrypter): __pattern__ = r'http://(?:www\.)?multiupload\.(com|nl)/\w+' __description__ = """ MultiUpload.com decrypter plugin """ + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index 1a6757006..22d496913 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -18,6 +18,7 @@ class NCryptIn(Crypter): __pattern__ = r'http://(?:www\.)?ncrypt.in/(?P<type>folder|link|frame)-([^/\?]+)' __description__ = """NCrypt.in decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es"), ("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/crypter/NetfolderIn.py b/module/plugins/crypter/NetfolderIn.py index 1e60fa583..72f3ff0b9 100644 --- a/module/plugins/crypter/NetfolderIn.py +++ b/module/plugins/crypter/NetfolderIn.py @@ -13,6 +13,7 @@ class NetfolderIn(SimpleCrypter): __pattern__ = r'http://(?:www\.)?netfolder.in/((?P<id1>\w+)/\w+|folder.php\?folder_id=(?P<id2>\w+))' __description__ = """NetFolder.in decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("RaNaN", "RaNaN@pyload.org"), ("fragonib", "fragonib[AT]yahoo[DOT]es")] diff --git a/module/plugins/crypter/NosvideoCom.py b/module/plugins/crypter/NosvideoCom.py index fd065d571..de37010e9 100644 --- a/module/plugins/crypter/NosvideoCom.py +++ b/module/plugins/crypter/NosvideoCom.py @@ -11,6 +11,7 @@ class NosvideoCom(SimpleCrypter): __pattern__ = r'http://(?:www\.)?nosvideo\.com/\?v=\w+' __description__ = """Nosvideo.com decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("igel", "igelkun@myopera.com")] diff --git a/module/plugins/crypter/OneKhDe.py b/module/plugins/crypter/OneKhDe.py index 2e6daf25d..e631b135b 100644 --- a/module/plugins/crypter/OneKhDe.py +++ b/module/plugins/crypter/OneKhDe.py @@ -14,6 +14,7 @@ class OneKhDe(Crypter): __pattern__ = r'http://(?:www\.)?1kh.de/f/' __description__ = """1kh.de decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("spoob", "spoob@pyload.org")] diff --git a/module/plugins/crypter/OronComFolder.py b/module/plugins/crypter/OronComFolder.py index b651c0041..99edb02c1 100755 --- a/module/plugins/crypter/OronComFolder.py +++ b/module/plugins/crypter/OronComFolder.py @@ -11,4 +11,5 @@ class OronComFolder(DeadCrypter): __pattern__ = r'http://(?:www\.)?oron.com/folder/\w+' __description__ = """Oron.com folder decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("DHMH", "webmaster@pcProfil.de")] diff --git a/module/plugins/crypter/PastebinCom.py b/module/plugins/crypter/PastebinCom.py index 285110138..375b84f50 100644 --- a/module/plugins/crypter/PastebinCom.py +++ b/module/plugins/crypter/PastebinCom.py @@ -11,6 +11,7 @@ class PastebinCom(SimpleCrypter): __pattern__ = r'http://(?:www\.)?pastebin\.com/\w+' __description__ = """Pastebin.com decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/crypter/QuickshareCzFolder.py b/module/plugins/crypter/QuickshareCzFolder.py index a74772641..9bf95f079 100644 --- a/module/plugins/crypter/QuickshareCzFolder.py +++ b/module/plugins/crypter/QuickshareCzFolder.py @@ -12,6 +12,7 @@ class QuickshareCzFolder(Crypter): __pattern__ = r'http://(?:www\.)?quickshare.cz/slozka-\d+.*' __description__ = """Quickshare.cz folder decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/crypter/RSLayerCom.py b/module/plugins/crypter/RSLayerCom.py index 0013b7b6d..28c82dd8c 100644 --- a/module/plugins/crypter/RSLayerCom.py +++ b/module/plugins/crypter/RSLayerCom.py @@ -11,4 +11,5 @@ class RSLayerCom(DeadCrypter): __pattern__ = r'http://(?:www\.)?rs-layer.com/directory-' __description__ = """RS-Layer.com decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("hzpz", None)] diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index 4d0132ac4..25cc9ada1 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -17,6 +17,7 @@ class RelinkUs(Crypter): __pattern__ = r'http://(?:www\.)?relink.us/(f/|((view|go).php\?id=))(?P<id>.+)' __description__ = """Relink.us decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es")] diff --git a/module/plugins/crypter/SafelinkingNet.py b/module/plugins/crypter/SafelinkingNet.py index ca21fe907..a496812d2 100644 --- a/module/plugins/crypter/SafelinkingNet.py +++ b/module/plugins/crypter/SafelinkingNet.py @@ -19,6 +19,7 @@ class SafelinkingNet(Crypter): __pattern__ = r'https?://(?:www\.)?safelinking.net/([pd])/\w+' __description__ = """Safelinking.net decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("quareevo", "quareevo@arcor.de")] diff --git a/module/plugins/crypter/SecuredIn.py b/module/plugins/crypter/SecuredIn.py index f94fae700..701c4843a 100644 --- a/module/plugins/crypter/SecuredIn.py +++ b/module/plugins/crypter/SecuredIn.py @@ -11,4 +11,5 @@ class SecuredIn(DeadCrypter): __pattern__ = r'http://(?:www\.)?secured\.in/download-[\d]+-[\w]{8}\.html' __description__ = """Secured.in decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("mkaay", "mkaay@mkaay.de")] diff --git a/module/plugins/crypter/ShareLinksBiz.py b/module/plugins/crypter/ShareLinksBiz.py index e8615d8bc..af2e5245f 100644 --- a/module/plugins/crypter/ShareLinksBiz.py +++ b/module/plugins/crypter/ShareLinksBiz.py @@ -16,6 +16,7 @@ class ShareLinksBiz(Crypter): __pattern__ = r'http://(?:www\.)?(share-links|s2l)\.biz/(?P<ID>_?\w+)' __description__ = """Share-Links.biz decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es")] diff --git a/module/plugins/crypter/ShareRapidComFolder.py b/module/plugins/crypter/ShareRapidComFolder.py index 43814bccb..605a63a1f 100644 --- a/module/plugins/crypter/ShareRapidComFolder.py +++ b/module/plugins/crypter/ShareRapidComFolder.py @@ -11,6 +11,7 @@ class ShareRapidComFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?((share(-?rapid\.(biz|com|cz|info|eu|net|org|pl|sk)|-(central|credit|free|net)\.cz|-ms\.net)|(s-?rapid|rapids)\.(cz|sk))|(e-stahuj|mediatack|premium-rapidshare|rapidshare-premium|qiuck)\.cz|kadzet\.com|stahuj-zdarma\.eu|strelci\.net|universal-share\.com)/(slozka/.+)' __description__ = """Share-Rapid.com folder decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/crypter/SpeedLoadOrgFolder.py b/module/plugins/crypter/SpeedLoadOrgFolder.py index 79b79308d..4b77b8f22 100644 --- a/module/plugins/crypter/SpeedLoadOrgFolder.py +++ b/module/plugins/crypter/SpeedLoadOrgFolder.py @@ -11,4 +11,5 @@ class SpeedLoadOrgFolder(DeadCrypter): __pattern__ = r'http://(?:www\.)?speedload\.org/(\d+~f$|folder/\d+/)' __description__ = """Speedload decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/crypter/StealthTo.py b/module/plugins/crypter/StealthTo.py index a2f7b04af..50a7d561f 100644 --- a/module/plugins/crypter/StealthTo.py +++ b/module/plugins/crypter/StealthTo.py @@ -11,4 +11,5 @@ class StealthTo(DeadCrypter): __pattern__ = r'http://(?:www\.)?stealth\.to/folder/.+' __description__ = """Stealth.to decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("spoob", "spoob@pyload.org")] diff --git a/module/plugins/crypter/TnyCz.py b/module/plugins/crypter/TnyCz.py index 1e406072d..b3e049a37 100644 --- a/module/plugins/crypter/TnyCz.py +++ b/module/plugins/crypter/TnyCz.py @@ -13,6 +13,7 @@ class TnyCz(SimpleCrypter): __pattern__ = r'http://(?:www\.)?tny\.cz/\w+' __description__ = """Tny.cz decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/crypter/TrailerzoneInfo.py b/module/plugins/crypter/TrailerzoneInfo.py index 4ed08a634..c96e3947d 100644 --- a/module/plugins/crypter/TrailerzoneInfo.py +++ b/module/plugins/crypter/TrailerzoneInfo.py @@ -11,4 +11,5 @@ class TrailerzoneInfo(DeadCrypter): __pattern__ = r'http://(?:www\.)?trailerzone.info/.*?' __description__ = """TrailerZone.info decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("godofdream", "soilfiction@gmail.com")] diff --git a/module/plugins/crypter/TurbobitNetFolder.py b/module/plugins/crypter/TurbobitNetFolder.py index d0b42ab2a..b0f341209 100644 --- a/module/plugins/crypter/TurbobitNetFolder.py +++ b/module/plugins/crypter/TurbobitNetFolder.py @@ -14,6 +14,7 @@ class TurbobitNetFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?turbobit\.net/download/folder/(?P<ID>\w+)' __description__ = """Turbobit.net folder decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it"), ("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/crypter/TusfilesNetFolder.py b/module/plugins/crypter/TusfilesNetFolder.py index a295189fd..a6e76adb8 100644 --- a/module/plugins/crypter/TusfilesNetFolder.py +++ b/module/plugins/crypter/TusfilesNetFolder.py @@ -15,6 +15,7 @@ class TusfilesNetFolder(SimpleCrypter): __pattern__ = r'https?://(?:www\.)?tusfiles\.net/go/(?P<ID>\w+)/?' __description__ = """Tusfiles.net folder decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "vuolter@gmail.com"), ("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/crypter/UlozToFolder.py b/module/plugins/crypter/UlozToFolder.py index 0977addcd..03d415a77 100644 --- a/module/plugins/crypter/UlozToFolder.py +++ b/module/plugins/crypter/UlozToFolder.py @@ -12,6 +12,7 @@ class UlozToFolder(Crypter): __pattern__ = r'http://(?:www\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj.cz|zachowajto.pl)/(m|soubory)/.*' __description__ = """Uloz.to folder decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/crypter/UploadableChFolder.py b/module/plugins/crypter/UploadableChFolder.py index 0d672acf5..9e1e3aba8 100644 --- a/module/plugins/crypter/UploadableChFolder.py +++ b/module/plugins/crypter/UploadableChFolder.py @@ -11,6 +11,7 @@ class UploadableChFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?uploadable\.ch/list/\w+' __description__ = """ Uploadable.ch folder decrypter plugin """ + __license__ = "GPLv3" __authors__ = [("guidobelix", "guidobelix@hotmail.it"), ("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/crypter/UploadedToFolder.py b/module/plugins/crypter/UploadedToFolder.py index b58162dd3..a2ceccc68 100644 --- a/module/plugins/crypter/UploadedToFolder.py +++ b/module/plugins/crypter/UploadedToFolder.py @@ -13,6 +13,7 @@ class UploadedToFolder(SimpleCrypter): __pattern__ = r'http://(?:www\.)?(uploaded|ul)\.(to|net)/(f|folder|list)/(?P<id>\w+)' __description__ = """UploadedTo decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/crypter/WiiReloadedOrg.py b/module/plugins/crypter/WiiReloadedOrg.py index 12863cf75..3b28faf4f 100644 --- a/module/plugins/crypter/WiiReloadedOrg.py +++ b/module/plugins/crypter/WiiReloadedOrg.py @@ -11,4 +11,5 @@ class WiiReloadedOrg(DeadCrypter): __pattern__ = r'http://(?:www\.)?wii-reloaded\.org/protect/get\.php\?i=.+' __description__ = """Wii-Reloaded.org decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("hzpz", None)] diff --git a/module/plugins/crypter/XupPl.py b/module/plugins/crypter/XupPl.py index e24c242e4..5a42a1d1e 100644 --- a/module/plugins/crypter/XupPl.py +++ b/module/plugins/crypter/XupPl.py @@ -11,6 +11,7 @@ class XupPl(Crypter): __pattern__ = r'https?://(?:[^/]*\.)?xup\.pl/.*' __description__ = """Xup.pl decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("z00nx", "z00nx0@gmail.com")] diff --git a/module/plugins/crypter/YoutubeBatch.py b/module/plugins/crypter/YoutubeBatch.py index b33554673..6ffb6b48e 100644 --- a/module/plugins/crypter/YoutubeBatch.py +++ b/module/plugins/crypter/YoutubeBatch.py @@ -22,6 +22,7 @@ class YoutubeBatch(Crypter): ("uploads", "bool", "Grab channel unplaylisted videos", True)] __description__ = """Youtube.com channel & playlist decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] -- cgit v1.2.3 From 6632ded30de12bc16644b26de2605ec6b3bdd42a Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Thu, 9 Oct 2014 13:12:12 +0200 Subject: ShareRapidCom -> MegaRapidCz --- module/plugins/crypter/MegaRapidCzFolder.py | 18 ++++++++++++++++++ module/plugins/crypter/ShareRapidComFolder.py | 18 ------------------ 2 files changed, 18 insertions(+), 18 deletions(-) create mode 100644 module/plugins/crypter/MegaRapidCzFolder.py delete mode 100644 module/plugins/crypter/ShareRapidComFolder.py (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/MegaRapidCzFolder.py b/module/plugins/crypter/MegaRapidCzFolder.py new file mode 100644 index 000000000..a9d6a2dc6 --- /dev/null +++ b/module/plugins/crypter/MegaRapidCzFolder.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- + +from module.plugins.internal.SimpleCrypter import SimpleCrypter + + +class MegaRapidCzFolder(SimpleCrypter): + __name__ = "MegaRapidCzFolder" + __type__ = "crypter" + __version__ = "0.02" + + __pattern__ = r'http://(?:www\.)?(share|mega)rapid\.cz/slozka/\d+/\w+' + + __description__ = """Share-Rapid.com folder decrypter plugin""" + __license__ = "GPLv3" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + + + LINK_PATTERN = r'<td class="soubor"[^>]*><a href="([^"]+)">' diff --git a/module/plugins/crypter/ShareRapidComFolder.py b/module/plugins/crypter/ShareRapidComFolder.py deleted file mode 100644 index 605a63a1f..000000000 --- a/module/plugins/crypter/ShareRapidComFolder.py +++ /dev/null @@ -1,18 +0,0 @@ -# -*- coding: utf-8 -*- - -from module.plugins.internal.SimpleCrypter import SimpleCrypter - - -class ShareRapidComFolder(SimpleCrypter): - __name__ = "ShareRapidComFolder" - __type__ = "crypter" - __version__ = "0.01" - - __pattern__ = r'http://(?:www\.)?((share(-?rapid\.(biz|com|cz|info|eu|net|org|pl|sk)|-(central|credit|free|net)\.cz|-ms\.net)|(s-?rapid|rapids)\.(cz|sk))|(e-stahuj|mediatack|premium-rapidshare|rapidshare-premium|qiuck)\.cz|kadzet\.com|stahuj-zdarma\.eu|strelci\.net|universal-share\.com)/(slozka/.+)' - - __description__ = """Share-Rapid.com folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] - - - LINK_PATTERN = r'<td class="soubor"[^>]*><a href="([^"]+)">' -- cgit v1.2.3 From 7a253238d4ba3486b90fba6547b955f6a3d31073 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Fri, 10 Oct 2014 14:42:32 +0200 Subject: [FiredriveComFolder] Mark dead --- module/plugins/crypter/FiredriveComFolder.py | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/FiredriveComFolder.py b/module/plugins/crypter/FiredriveComFolder.py index f297854f1..335c41ad3 100644 --- a/module/plugins/crypter/FiredriveComFolder.py +++ b/module/plugins/crypter/FiredriveComFolder.py @@ -1,29 +1,15 @@ # -*- coding: utf-8 -*- -import re +from module.plugins.internal.DeadCrypter import DeadCrypter -from module.plugins.internal.SimpleCrypter import SimpleCrypter - -class FiredriveComFolder(SimpleCrypter): +class FiredriveComFolder(DeadCrypter): __name__ = "FiredriveComFolder" __type__ = "crypter" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'https?://(?:www\.)?(firedrive|putlocker)\.com/share/.+' __description__ = """Firedrive.com folder decrypter plugin""" __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] - - - LINK_PATTERN = r'<div class="pf_item pf_(file|folder).+?public=\'(.+?)\'' - TITLE_PATTERN = r'>Shared Folder "(.+)" | Firedrive<' - OFFLINE_PATTERN = r'class="sad_face_image"|>No such page here.<' - TEMP_OFFLINE_PATTERN = r'>(File Temporarily Unavailable|Server Error. Try again later)' - - - def getLinks(self): - return map(lambda x: "http://www.firedrive.com/%s/%s" % - ("share" if x[0] == "folder" else "file", x[1]), - re.findall(self.LINK_PATTERN, self.html)) -- cgit v1.2.3 From 9f816bb6dc30b94979e7c03433698b32203b9d1d Mon Sep 17 00:00:00 2001 From: NETHeader <NETHead@gmx.net> Date: Sat, 11 Oct 2014 14:51:07 +0200 Subject: New crypter SexuriaCom --- module/plugins/crypter/SexuriaCom.py | 102 +++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 module/plugins/crypter/SexuriaCom.py (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/SexuriaCom.py b/module/plugins/crypter/SexuriaCom.py new file mode 100644 index 000000000..ad99b60ec --- /dev/null +++ b/module/plugins/crypter/SexuriaCom.py @@ -0,0 +1,102 @@ +# -*- coding: utf-8 -*- + +import re + +from module.plugins.Crypter import Crypter + + +class SexuriaCom(Crypter): + __name__ = "SexuriaCom" + __type__ = "crypter" + __version__ = "0.01" + + __pattern__ = r'http://(?:www\.)?sexuria\.com/(v1/)?(Pornos_Kostenlos_.+?_(\d+)\.html|dl_links_\d+_\d+\.html|id=\d+\&part=\d+\&link=\d+)' + + __description__ = """Sexuria.com Crypter Plugin""" + __license__ = "GPLv3" + __authors__ = [("NETHead", "NETHead.AT.gmx.DOT.net")] + + + PATTERN_SUPPORTED_MAIN = re.compile(r'http://(www\.)?sexuria\.com/(v1/)?Pornos_Kostenlos_.+?_(\d+)\.html', flags=re.I) + PATTERN_SUPPORTED_CRYPT = re.compile(r'http://(www\.)?sexuria\.com/(v1/)?dl_links_\d+_(?P<ID>\d+)\.html', flags=re.I) + PATTERN_SUPPORTED_REDIRECT = re.compile(r'http://(www\.)?sexuria\.com/out\.php\?id=(?P<ID>\d+)\&part=\d+\&link=\d+', flags=re.I) + PATTERN_TITLE = re.compile(r'<title> - (?P<TITLE>.*) Sexuria - Kostenlose Pornos - Rapidshare XXX Porn</title>', flags=re.I) + PATTERN_PASSWORD = re.compile(r'<strong>Passwort: </strong></div></td>.*?bgcolor="#EFEFEF">(?P<PWD>.*?)</td>', flags=re.I | re.S) + PATTERN_DL_LINK_PAGE = re.compile(r'"(dl_links_\d+_\d+\.html)"', flags=re.I) + PATTERN_REDIRECT_LINKS = re.compile(r'value="(http://sexuria\.com/out\.php\?id=\d+\&part=\d+\&link=\d+)" readonly', flags=re.I) + + + def setup(self): + self.html = None + + + def decrypt(self, pyfile): + # Init + self.pyfile = pyfile + self.package = pyfile.package() + + # Get package links + (package_name, package_links, folder_name, package_pwd) = self.decryptLinks(self.pyfile.url) + if package_pwd: + self.pyfile.package().password = package_pwd + self.packages.append((package_name, package_links, folder_name)) + + + def decryptLinks(self, url): + linklist = [] + name = self.package.name + folder = self.package.folder + password = None + + if re.match(self.PATTERN_SUPPORTED_MAIN, url): + # Processing main page + html = self.load(url) + links = re.findall(self.PATTERN_DL_LINK_PAGE, html) + for link in links: + linklist.append("http://sexuria.com/v1/" + link) + + elif re.match(self.PATTERN_SUPPORTED_REDIRECT, url): + # Processing direct redirect link (out.php), redirecting to main page + id = re.search(self.PATTERN_SUPPORTED_REDIRECT, url).group('ID') + if id: + linklist.append("http://sexuria.com/v1/Pornos_Kostenlos_liebe_%s.html" % id) + + elif re.match(self.PATTERN_SUPPORTED_CRYPT, url): + # Extract info from main file + id = re.search(self.PATTERN_SUPPORTED_CRYPT, url).group('ID') + html = self.load("http://sexuria.com/v1/Pornos_Kostenlos_info_%s.html" % id, decode=True) + + title = re.search(self.PATTERN_TITLE, html).group('TITLE').strip() + if title: + name = folder = title + self.logDebug("Package info found, name [%s] and folder [%s]" % (name, folder)) + + pwd = re.search(self.PATTERN_PASSWORD, html).group('PWD') + if pwd: + password = pwd.strip() + self.logDebug("Password info [%s] found" % password) + + # Process link (dl_link) + html = self.load(url) + links = re.findall(self.PATTERN_REDIRECT_LINKS, html) + if len(links) == 0: + self.LogError("Broken for link %s" % link) + else: + for link in links: + link = link.replace("http://sexuria.com/", "http://www.sexuria.com/") + finallink = self.load(link, just_header=True)['location'] + if not finallink or "sexuria.com/" in finallink: + self.LogError("Broken for link %s" % link) + else: + linklist.append(finallink) + + # Inform the user if no link could been extracted + if linklist == []: + self.fail("Could not extract any links (out of date?)") + + # Debug log + self.logDebug("%d supported links" % len(linklist)) + for i, link in enumerate(linklist): + self.logDebug("Supported link %d, %s" % (i + 1, link)) + + return name, linklist, folder, password -- cgit v1.2.3 From e600362d2450ef13567b255004861bead011e0ef Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 11 Oct 2014 15:03:26 +0200 Subject: [FileshareInUa] Mark dead --- module/plugins/crypter/SexuriaCom.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/SexuriaCom.py b/module/plugins/crypter/SexuriaCom.py index ad99b60ec..c7939e332 100644 --- a/module/plugins/crypter/SexuriaCom.py +++ b/module/plugins/crypter/SexuriaCom.py @@ -12,7 +12,7 @@ class SexuriaCom(Crypter): __pattern__ = r'http://(?:www\.)?sexuria\.com/(v1/)?(Pornos_Kostenlos_.+?_(\d+)\.html|dl_links_\d+_\d+\.html|id=\d+\&part=\d+\&link=\d+)' - __description__ = """Sexuria.com Crypter Plugin""" + __description__ = """Sexuria.com decrypter plugin""" __license__ = "GPLv3" __authors__ = [("NETHead", "NETHead.AT.gmx.DOT.net")] -- cgit v1.2.3 From f76e5c2336718dca9da8033ba22cd83c72c7b3b3 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 11 Oct 2014 15:14:28 +0200 Subject: Pattern update 1 --- module/plugins/crypter/ChipDe.py | 2 +- module/plugins/crypter/CryptItCom.py | 2 +- module/plugins/crypter/DDLMusicOrg.py | 2 +- module/plugins/crypter/ILoadTo.py | 2 +- module/plugins/crypter/NCryptIn.py | 2 +- module/plugins/crypter/SafelinkingNet.py | 2 +- module/plugins/crypter/SecuredIn.py | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/ChipDe.py b/module/plugins/crypter/ChipDe.py index 7752ee3bb..a4d6ad285 100644 --- a/module/plugins/crypter/ChipDe.py +++ b/module/plugins/crypter/ChipDe.py @@ -19,7 +19,7 @@ class ChipDe(Crypter): def decrypt(self, pyfile): self.html = self.load(pyfile.url) try: - f = re.search(r'"(http://video.chip.de/\d+?/.*)"', self.html) + f = re.search(r'"(http://video\.chip\.de/.+)"', self.html) except: self.fail('Failed to find the URL') else: diff --git a/module/plugins/crypter/CryptItCom.py b/module/plugins/crypter/CryptItCom.py index 58f0d77b6..372938119 100644 --- a/module/plugins/crypter/CryptItCom.py +++ b/module/plugins/crypter/CryptItCom.py @@ -8,7 +8,7 @@ class CryptItCom(DeadCrypter): __type__ = "crypter" __version__ = "0.11" - __pattern__ = r'http://(?:www\.)?crypt-it\.com/(s|e|d|c)/[\w]+' + __pattern__ = r'http://(?:www\.)?crypt-it\.com/(s|e|d|c)/\w+' __description__ = """Crypt-it.com decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/DDLMusicOrg.py b/module/plugins/crypter/DDLMusicOrg.py index c224ee732..a78794b6d 100644 --- a/module/plugins/crypter/DDLMusicOrg.py +++ b/module/plugins/crypter/DDLMusicOrg.py @@ -28,7 +28,7 @@ class DDLMusicOrg(Crypter): if re.search(r"Wer dies nicht rechnen kann", html) is not None: self.offline() - math = re.search(r"(\d+) ([\+-]) (\d+) =\s+<inp", self.html) + math = re.search(r"(\d+) ([+-]) (\d+) =\s+<inp", self.html) id = re.search(r"name=\"id\" value=\"(\d+)\"", self.html).group(1) linknr = re.search(r"name=\"linknr\" value=\"(\d+)\"", self.html).group(1) diff --git a/module/plugins/crypter/ILoadTo.py b/module/plugins/crypter/ILoadTo.py index 638d15191..184b71d04 100644 --- a/module/plugins/crypter/ILoadTo.py +++ b/module/plugins/crypter/ILoadTo.py @@ -8,7 +8,7 @@ class ILoadTo(DeadCrypter): __type__ = "crypter" __version__ = "0.11" - __pattern__ = r'http://(?:www\.)?iload\.to/go/\d+-[\w\.-]+/' + __pattern__ = r'http://(?:www\.)?iload\.to/go/\d+-[\w.-]+/' __description__ = """Iload.to decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index 22d496913..8b8d2ebd4 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -231,7 +231,7 @@ class NCryptIn(Crypter): self.logDebug("Handling Container links") package_links = [] - pattern = r"/container/(rsdf|dlc|ccf)/([a-z0-9]+)" + pattern = r"/container/(rsdf|dlc|ccf)/(\w+)" containersLinks = re.findall(pattern, self.html) self.logDebug("Decrypting %d Container links" % len(containersLinks)) for containerLink in containersLinks: diff --git a/module/plugins/crypter/SafelinkingNet.py b/module/plugins/crypter/SafelinkingNet.py index a496812d2..737e4fc10 100644 --- a/module/plugins/crypter/SafelinkingNet.py +++ b/module/plugins/crypter/SafelinkingNet.py @@ -23,7 +23,7 @@ class SafelinkingNet(Crypter): __authors__ = [("quareevo", "quareevo@arcor.de")] - SOLVEMEDIA_PATTERN = "solvemediaApiKey = '([\w\.\-_]+)';" + SOLVEMEDIA_PATTERN = "solvemediaApiKey = '([\w.-]+)';" def decrypt(self, pyfile): diff --git a/module/plugins/crypter/SecuredIn.py b/module/plugins/crypter/SecuredIn.py index 701c4843a..2ad7819d8 100644 --- a/module/plugins/crypter/SecuredIn.py +++ b/module/plugins/crypter/SecuredIn.py @@ -8,7 +8,7 @@ class SecuredIn(DeadCrypter): __type__ = "crypter" __version__ = "0.21" - __pattern__ = r'http://(?:www\.)?secured\.in/download-[\d]+-[\w]{8}\.html' + __pattern__ = r'http://(?:www\.)?secured\.in/download-[\d]+-\w{8}\.html' __description__ = """Secured.in decrypter plugin""" __license__ = "GPLv3" -- cgit v1.2.3 From c5d1a4fd8943877c6d2eb3843e0de725dba5191e Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 11 Oct 2014 15:09:53 +0200 Subject: Pattern update 2 --- module/plugins/crypter/BitshareComFolder.py | 2 +- module/plugins/crypter/C1neonCom.py | 2 +- module/plugins/crypter/ChipDe.py | 2 +- module/plugins/crypter/CrockoComFolder.py | 2 +- module/plugins/crypter/DataHuFolder.py | 2 +- module/plugins/crypter/DepositfilesComFolder.py | 2 +- module/plugins/crypter/DontKnowMe.py | 4 ++-- module/plugins/crypter/DuckCryptInfo.py | 2 +- module/plugins/crypter/EmbeduploadCom.py | 2 +- module/plugins/crypter/FilecloudIoFolder.py | 4 ++-- module/plugins/crypter/FileserveComFolder.py | 2 +- module/plugins/crypter/FiletramCom.py | 2 +- module/plugins/crypter/FourChanOrg.py | 2 +- module/plugins/crypter/FreakhareComFolder.py | 2 +- module/plugins/crypter/FshareVnFolder.py | 2 +- module/plugins/crypter/HoerbuchIn.py | 2 +- module/plugins/crypter/LetitbitNetFolder.py | 2 +- module/plugins/crypter/LinkSaveIn.py | 2 +- module/plugins/crypter/LixIn.py | 2 +- module/plugins/crypter/LofCc.py | 2 +- module/plugins/crypter/MediafireComFolder.py | 2 +- module/plugins/crypter/MultiloadCz.py | 2 +- module/plugins/crypter/NCryptIn.py | 2 +- module/plugins/crypter/NetfolderIn.py | 2 +- module/plugins/crypter/NosvideoCom.py | 2 +- module/plugins/crypter/OneKhDe.py | 2 +- module/plugins/crypter/OronComFolder.py | 2 +- module/plugins/crypter/QuickshareCzFolder.py | 4 ++-- module/plugins/crypter/RSLayerCom.py | 2 +- module/plugins/crypter/RelinkUs.py | 2 +- module/plugins/crypter/SafelinkingNet.py | 2 +- module/plugins/crypter/TrailerzoneInfo.py | 2 +- module/plugins/crypter/UlozToFolder.py | 2 +- 33 files changed, 36 insertions(+), 36 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/BitshareComFolder.py b/module/plugins/crypter/BitshareComFolder.py index 40458b3ff..b5c380356 100644 --- a/module/plugins/crypter/BitshareComFolder.py +++ b/module/plugins/crypter/BitshareComFolder.py @@ -15,5 +15,5 @@ class BitshareComFolder(SimpleCrypter): __authors__ = [("stickell", "l.stickell@yahoo.it")] - LINK_PATTERN = r'<a href="(http://bitshare.com/files/.+)">.+</a></td>' + LINK_PATTERN = r'<a href="(http://bitshare\.com/files/.+)">.+</a></td>' TITLE_PATTERN = r'View public folder "(.+)"</h1>' diff --git a/module/plugins/crypter/C1neonCom.py b/module/plugins/crypter/C1neonCom.py index a314f2ad1..f01bf890d 100644 --- a/module/plugins/crypter/C1neonCom.py +++ b/module/plugins/crypter/C1neonCom.py @@ -8,7 +8,7 @@ class C1neonCom(DeadCrypter): __type__ = "crypter" __version__ = "0.05" - __pattern__ = r'http://(?:www\.)?c1neon.com/.*?' + __pattern__ = r'http://(?:www\.)?c1neon\.com/.*?' __description__ = """C1neon.com decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/ChipDe.py b/module/plugins/crypter/ChipDe.py index a4d6ad285..317f73e4c 100644 --- a/module/plugins/crypter/ChipDe.py +++ b/module/plugins/crypter/ChipDe.py @@ -9,7 +9,7 @@ class ChipDe(Crypter): __type__ = "crypter" __version__ = "0.1" - __pattern__ = r'http://(?:www\.)?chip.de/video/.*\.html' + __pattern__ = r'http://(?:www\.)?chip\.de/video/.*\.html' __description__ = """Chip.de decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/CrockoComFolder.py b/module/plugins/crypter/CrockoComFolder.py index e921fc1fa..d101ccb84 100644 --- a/module/plugins/crypter/CrockoComFolder.py +++ b/module/plugins/crypter/CrockoComFolder.py @@ -8,7 +8,7 @@ class CrockoComFolder(SimpleCrypter): __type__ = "crypter" __version__ = "0.01" - __pattern__ = r'http://(?:www\.)?crocko.com/f/.*' + __pattern__ = r'http://(?:www\.)?crocko\.com/f/.*' __description__ = """Crocko.com folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/DataHuFolder.py b/module/plugins/crypter/DataHuFolder.py index a80be34d2..c4dd21d30 100644 --- a/module/plugins/crypter/DataHuFolder.py +++ b/module/plugins/crypter/DataHuFolder.py @@ -10,7 +10,7 @@ class DataHuFolder(SimpleCrypter): __type__ = "crypter" __version__ = "0.04" - __pattern__ = r'http://(?:www\.)?data.hu/dir/\w+' + __pattern__ = r'http://(?:www\.)?data\.hu/dir/\w+' __description__ = """Data.hu folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/DepositfilesComFolder.py b/module/plugins/crypter/DepositfilesComFolder.py index 7e32457ac..4a15fcef9 100644 --- a/module/plugins/crypter/DepositfilesComFolder.py +++ b/module/plugins/crypter/DepositfilesComFolder.py @@ -8,7 +8,7 @@ class DepositfilesComFolder(SimpleCrypter): __type__ = "crypter" __version__ = "0.01" - __pattern__ = r'http://(?:www\.)?depositfiles.com/folders/\w+' + __pattern__ = r'http://(?:www\.)?depositfiles\.com/folders/\w+' __description__ = """Depositfiles.com folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/DontKnowMe.py b/module/plugins/crypter/DontKnowMe.py index 961f0c6e0..962e56bfd 100644 --- a/module/plugins/crypter/DontKnowMe.py +++ b/module/plugins/crypter/DontKnowMe.py @@ -12,14 +12,14 @@ class DontKnowMe(Crypter): __type__ = "crypter" __version__ = "0.1" - __pattern__ = r'http://(?:www\.)?dontknow.me/at/\?.+$' + __pattern__ = r'http://(?:www\.)?dontknow\.me/at/\?.+$' __description__ = """DontKnow.me decrypter plugin""" __license__ = "GPLv3" __authors__ = [("selaux", None)] - LINK_PATTERN = r'http://dontknow.me/at/\?(.+)$' + LINK_PATTERN = r'http://dontknow\.me/at/\?(.+)$' def decrypt(self, pyfile): diff --git a/module/plugins/crypter/DuckCryptInfo.py b/module/plugins/crypter/DuckCryptInfo.py index 5815b624c..ff7b0a07a 100644 --- a/module/plugins/crypter/DuckCryptInfo.py +++ b/module/plugins/crypter/DuckCryptInfo.py @@ -12,7 +12,7 @@ class DuckCryptInfo(Crypter): __type__ = "crypter" __version__ = "0.02" - __pattern__ = r'http://(?:www\.)?duckcrypt.info/(folder|wait|link)/(\w+)/?(\w*)' + __pattern__ = r'http://(?:www\.)?duckcrypt\.info/(folder|wait|link)/(\w+)/?(\w*)' __description__ = """DuckCrypt.info decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/EmbeduploadCom.py b/module/plugins/crypter/EmbeduploadCom.py index 8f1d60ee3..71c4d5778 100644 --- a/module/plugins/crypter/EmbeduploadCom.py +++ b/module/plugins/crypter/EmbeduploadCom.py @@ -10,7 +10,7 @@ class EmbeduploadCom(Crypter): __type__ = "crypter" __version__ = "0.02" - __pattern__ = r'http://(?:www\.)?embedupload.com/\?d=.*' + __pattern__ = r'http://(?:www\.)?embedupload\.com/\?d=.*' __config__ = [("preferedHoster", "str", "Prefered hoster list (bar-separated) ", "embedupload"), ("ignoredHoster", "str", "Ignored hoster list (bar-separated) ", "")] diff --git a/module/plugins/crypter/FilecloudIoFolder.py b/module/plugins/crypter/FilecloudIoFolder.py index d6a1929a3..c7d9e6d8a 100644 --- a/module/plugins/crypter/FilecloudIoFolder.py +++ b/module/plugins/crypter/FilecloudIoFolder.py @@ -15,5 +15,5 @@ class FilecloudIoFolder(SimpleCrypter): __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] - LINK_PATTERN = r'href="(http://filecloud.io/\w+)" title' - TITLE_PATTERN = r'>(.+?) - filecloud.io<' + LINK_PATTERN = r'href="(http://filecloud\.io/\w+)" title' + TITLE_PATTERN = r'>(.+?) - filecloud\.io<' diff --git a/module/plugins/crypter/FileserveComFolder.py b/module/plugins/crypter/FileserveComFolder.py index 63de97fec..bdb07cbdc 100644 --- a/module/plugins/crypter/FileserveComFolder.py +++ b/module/plugins/crypter/FileserveComFolder.py @@ -10,7 +10,7 @@ class FileserveComFolder(Crypter): __type__ = "crypter" __version__ = "0.11" - __pattern__ = r'http://(?:www\.)?fileserve.com/list/\w+' + __pattern__ = r'http://(?:www\.)?fileserve\.com/list/\w+' __description__ = """FileServe.com folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/FiletramCom.py b/module/plugins/crypter/FiletramCom.py index e99419039..ad5307d83 100644 --- a/module/plugins/crypter/FiletramCom.py +++ b/module/plugins/crypter/FiletramCom.py @@ -8,7 +8,7 @@ class FiletramCom(SimpleCrypter): __type__ = "crypter" __version__ = "0.02" - __pattern__ = r'http://(?:www\.)?filetram.com/[^/]+/.+' + __pattern__ = r'http://(?:www\.)?filetram\.com/[^/]+/.+' __description__ = """Filetram.com decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/FourChanOrg.py b/module/plugins/crypter/FourChanOrg.py index 4a0aa13d9..a07760e2d 100644 --- a/module/plugins/crypter/FourChanOrg.py +++ b/module/plugins/crypter/FourChanOrg.py @@ -12,7 +12,7 @@ class FourChanOrg(Crypter): __type__ = "crypter" __version__ = "0.3" - __pattern__ = r'http://(?:www\.)?boards\.4chan.org/\w+/res/(\d+)' + __pattern__ = r'http://(?:www\.)?boards\.4chan\.org/\w+/res/(\d+)' __description__ = """4chan.org folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/FreakhareComFolder.py b/module/plugins/crypter/FreakhareComFolder.py index 19079f5f2..8d3870247 100644 --- a/module/plugins/crypter/FreakhareComFolder.py +++ b/module/plugins/crypter/FreakhareComFolder.py @@ -17,7 +17,7 @@ class FreakhareComFolder(SimpleCrypter): __authors__ = [("stickell", "l.stickell@yahoo.it")] - LINK_PATTERN = r'<a href="(http://freakshare.com/files/[^"]+)" target="_blank">' + LINK_PATTERN = r'<a href="(http://freakshare\.com/files/[^"]+)" target="_blank">' TITLE_PATTERN = r'Folder:</b> (.+)' PAGES_PATTERN = r'Pages: +(\d+)' diff --git a/module/plugins/crypter/FshareVnFolder.py b/module/plugins/crypter/FshareVnFolder.py index f7c59050c..46375a6ae 100644 --- a/module/plugins/crypter/FshareVnFolder.py +++ b/module/plugins/crypter/FshareVnFolder.py @@ -8,7 +8,7 @@ class FshareVnFolder(SimpleCrypter): __type__ = "crypter" __version__ = "0.01" - __pattern__ = r'http://(?:www\.)?fshare.vn/folder/.*' + __pattern__ = r'http://(?:www\.)?fshare\.vn/folder/.*' __description__ = """Fshare.vn folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/HoerbuchIn.py b/module/plugins/crypter/HoerbuchIn.py index 9b7d9f384..34e124d82 100644 --- a/module/plugins/crypter/HoerbuchIn.py +++ b/module/plugins/crypter/HoerbuchIn.py @@ -12,7 +12,7 @@ class HoerbuchIn(Crypter): __type__ = "crypter" __version__ = "0.6" - __pattern__ = r'http://(?:www\.)?hoerbuch\.in/(wp/horbucher/\d+/.+/|tp/out.php\?.+|protection/folder_\d+\.html)' + __pattern__ = r'http://(?:www\.)?hoerbuch\.in/(wp/horbucher/\d+/.+/|tp/out\.php\?.+|protection/folder_\d+\.html)' __description__ = """Hoerbuch.in decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/LetitbitNetFolder.py b/module/plugins/crypter/LetitbitNetFolder.py index 18e79ad8a..c7f6fc738 100644 --- a/module/plugins/crypter/LetitbitNetFolder.py +++ b/module/plugins/crypter/LetitbitNetFolder.py @@ -9,7 +9,7 @@ class LetitbitNetFolder(Crypter): __type__ = "crypter" __version__ = "0.1" - __pattern__ = r'http://(?:www\.)?letitbit.net/folder/\w+' + __pattern__ = r'http://(?:www\.)?letitbit\.net/folder/\w+' __description__ = """Letitbit.net folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index b4691d70b..af3679122 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -18,7 +18,7 @@ class LinkSaveIn(SimpleCrypter): __type__ = "crypter" __version__ = "2.02" - __pattern__ = r'http://(?:www\.)?linksave.in/(?P<id>\w+)$' + __pattern__ = r'http://(?:www\.)?linksave\.in/(?P<id>\w+)$' __description__ = """LinkSave.in decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/LixIn.py b/module/plugins/crypter/LixIn.py index df32eed55..28b72237b 100644 --- a/module/plugins/crypter/LixIn.py +++ b/module/plugins/crypter/LixIn.py @@ -17,7 +17,7 @@ class LixIn(Crypter): __authors__ = [("spoob", "spoob@pyload.org")] - CAPTCHA_PATTERN = r'<img src="(?P<image>captcha_img.php\?.*?)"' + CAPTCHA_PATTERN = r'<img src="(?P<image>captcha_img\.php\?.*?)"' SUBMIT_PATTERN = r"value='continue.*?'" LINK_PATTERN = r'name="ifram" src="(?P<link>.*?)"' diff --git a/module/plugins/crypter/LofCc.py b/module/plugins/crypter/LofCc.py index b3eef6fe9..720357a87 100644 --- a/module/plugins/crypter/LofCc.py +++ b/module/plugins/crypter/LofCc.py @@ -8,7 +8,7 @@ class LofCc(DeadCrypter): __type__ = "crypter" __version__ = "0.21" - __pattern__ = r'http://(?:www\.)?lof.cc/(.*)' + __pattern__ = r'http://(?:www\.)?lof\.cc/(.*)' __description__ = """Lof.cc decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/MediafireComFolder.py b/module/plugins/crypter/MediafireComFolder.py index 568b4a985..47ddf6bcb 100644 --- a/module/plugins/crypter/MediafireComFolder.py +++ b/module/plugins/crypter/MediafireComFolder.py @@ -19,7 +19,7 @@ class MediafireComFolder(Crypter): FOLDER_KEY_PATTERN = r"var afI= '(\w+)';" - FILE_URL_PATTERN = r'<meta property="og:url" content="http://www.mediafire.com/\?(\w+)"/>' + FILE_URL_PATTERN = r'<meta property="og:url" content="http://www\.mediafire\.com/\?(\w+)"/>' def decrypt(self, pyfile): diff --git a/module/plugins/crypter/MultiloadCz.py b/module/plugins/crypter/MultiloadCz.py index a24fba576..0c0291147 100644 --- a/module/plugins/crypter/MultiloadCz.py +++ b/module/plugins/crypter/MultiloadCz.py @@ -9,7 +9,7 @@ class MultiloadCz(Crypter): __type__ = "crypter" __version__ = "0.4" - __pattern__ = r'http://(?:[^/]*\.)?multiload.cz/(stahnout|slozka)/.*' + __pattern__ = r'http://(?:[^/]*\.)?multiload\.cz/(stahnout|slozka)/.*' __config__ = [("usedHoster", "str", "Prefered hoster list (bar-separated) ", ""), ("ignoredHoster", "str", "Ignored hoster list (bar-separated) ", "")] diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index 8b8d2ebd4..9eb242363 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -15,7 +15,7 @@ class NCryptIn(Crypter): __type__ = "crypter" __version__ = "1.32" - __pattern__ = r'http://(?:www\.)?ncrypt.in/(?P<type>folder|link|frame)-([^/\?]+)' + __pattern__ = r'http://(?:www\.)?ncrypt\.in/(?P<type>folder|link|frame)-([^/\?]+)' __description__ = """NCrypt.in decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/NetfolderIn.py b/module/plugins/crypter/NetfolderIn.py index 72f3ff0b9..027503bd2 100644 --- a/module/plugins/crypter/NetfolderIn.py +++ b/module/plugins/crypter/NetfolderIn.py @@ -10,7 +10,7 @@ class NetfolderIn(SimpleCrypter): __type__ = "crypter" __version__ = "0.7" - __pattern__ = r'http://(?:www\.)?netfolder.in/((?P<id1>\w+)/\w+|folder.php\?folder_id=(?P<id2>\w+))' + __pattern__ = r'http://(?:www\.)?netfolder\.in/((?P<id1>\w+)/\w+|folder\.php\?folder_id=(?P<id2>\w+))' __description__ = """NetFolder.in decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/NosvideoCom.py b/module/plugins/crypter/NosvideoCom.py index de37010e9..982c4538c 100644 --- a/module/plugins/crypter/NosvideoCom.py +++ b/module/plugins/crypter/NosvideoCom.py @@ -15,5 +15,5 @@ class NosvideoCom(SimpleCrypter): __authors__ = [("igel", "igelkun@myopera.com")] - LINK_PATTERN = r'href="(http://(?:w{3}\.)?nosupload.com/\?d=\w+)"' + LINK_PATTERN = r'href="(http://(?:w{3}\.)?nosupload\.com/\?d=\w+)"' TITLE_PATTERN = r'<[tT]itle>Watch (.+?)<' diff --git a/module/plugins/crypter/OneKhDe.py b/module/plugins/crypter/OneKhDe.py index e631b135b..3b072b3d7 100644 --- a/module/plugins/crypter/OneKhDe.py +++ b/module/plugins/crypter/OneKhDe.py @@ -11,7 +11,7 @@ class OneKhDe(Crypter): __type__ = "crypter" __version__ = "0.1" - __pattern__ = r'http://(?:www\.)?1kh.de/f/' + __pattern__ = r'http://(?:www\.)?1kh\.de/f/' __description__ = """1kh.de decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/OronComFolder.py b/module/plugins/crypter/OronComFolder.py index 99edb02c1..d6474f641 100755 --- a/module/plugins/crypter/OronComFolder.py +++ b/module/plugins/crypter/OronComFolder.py @@ -8,7 +8,7 @@ class OronComFolder(DeadCrypter): __type__ = "crypter" __version__ = "0.11" - __pattern__ = r'http://(?:www\.)?oron.com/folder/\w+' + __pattern__ = r'http://(?:www\.)?oron\.com/folder/\w+' __description__ = """Oron.com folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/QuickshareCzFolder.py b/module/plugins/crypter/QuickshareCzFolder.py index 9bf95f079..60c2d1a40 100644 --- a/module/plugins/crypter/QuickshareCzFolder.py +++ b/module/plugins/crypter/QuickshareCzFolder.py @@ -9,7 +9,7 @@ class QuickshareCzFolder(Crypter): __type__ = "crypter" __version__ = "0.1" - __pattern__ = r'http://(?:www\.)?quickshare.cz/slozka-\d+.*' + __pattern__ = r'http://(?:www\.)?quickshare\.cz/slozka-\d+.*' __description__ = """Quickshare.cz folder decrypter plugin""" __license__ = "GPLv3" @@ -17,7 +17,7 @@ class QuickshareCzFolder(Crypter): FOLDER_PATTERN = r'<textarea[^>]*>(.*?)</textarea>' - LINK_PATTERN = r'(http://www.quickshare.cz/\S+)' + LINK_PATTERN = r'(http://www\.quickshare\.cz/\S+)' def decrypt(self, pyfile): diff --git a/module/plugins/crypter/RSLayerCom.py b/module/plugins/crypter/RSLayerCom.py index 28c82dd8c..f86d6dfec 100644 --- a/module/plugins/crypter/RSLayerCom.py +++ b/module/plugins/crypter/RSLayerCom.py @@ -8,7 +8,7 @@ class RSLayerCom(DeadCrypter): __type__ = "crypter" __version__ = "0.21" - __pattern__ = r'http://(?:www\.)?rs-layer.com/directory-' + __pattern__ = r'http://(?:www\.)?rs-layer\.com/directory-' __description__ = """RS-Layer.com decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index 25cc9ada1..7b6dff328 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -14,7 +14,7 @@ class RelinkUs(Crypter): __type__ = "crypter" __version__ = "3.0" - __pattern__ = r'http://(?:www\.)?relink.us/(f/|((view|go).php\?id=))(?P<id>.+)' + __pattern__ = r'http://(?:www\.)?relink\.us/(f/|((view|go)\.php\?id=))(?P<id>.+)' __description__ = """Relink.us decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/SafelinkingNet.py b/module/plugins/crypter/SafelinkingNet.py index 737e4fc10..33b3d73ab 100644 --- a/module/plugins/crypter/SafelinkingNet.py +++ b/module/plugins/crypter/SafelinkingNet.py @@ -16,7 +16,7 @@ class SafelinkingNet(Crypter): __type__ = "crypter" __version__ = "0.1" - __pattern__ = r'https?://(?:www\.)?safelinking.net/([pd])/\w+' + __pattern__ = r'https?://(?:www\.)?safelinking\.net/([pd])/\w+' __description__ = """Safelinking.net decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/TrailerzoneInfo.py b/module/plugins/crypter/TrailerzoneInfo.py index c96e3947d..4b197c728 100644 --- a/module/plugins/crypter/TrailerzoneInfo.py +++ b/module/plugins/crypter/TrailerzoneInfo.py @@ -8,7 +8,7 @@ class TrailerzoneInfo(DeadCrypter): __type__ = "crypter" __version__ = "0.03" - __pattern__ = r'http://(?:www\.)?trailerzone.info/.*?' + __pattern__ = r'http://(?:www\.)?trailerzone\.info/.*?' __description__ = """TrailerZone.info decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/UlozToFolder.py b/module/plugins/crypter/UlozToFolder.py index 03d415a77..bc8571f7c 100644 --- a/module/plugins/crypter/UlozToFolder.py +++ b/module/plugins/crypter/UlozToFolder.py @@ -9,7 +9,7 @@ class UlozToFolder(Crypter): __type__ = "crypter" __version__ = "0.2" - __pattern__ = r'http://(?:www\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj.cz|zachowajto.pl)/(m|soubory)/.*' + __pattern__ = r'http://(?:www\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj\.cz|zachowajto\.pl)/(m|soubory)/.*' __description__ = """Uloz.to folder decrypter plugin""" __license__ = "GPLv3" -- cgit v1.2.3 From 8939f015a688a07ec7d0bd14b6a3704f6a2cb4a0 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 11 Oct 2014 15:12:40 +0200 Subject: Pattern update 3 --- module/plugins/crypter/DataHuFolder.py | 2 +- module/plugins/crypter/LinkSaveIn.py | 2 +- module/plugins/crypter/LixIn.py | 2 +- module/plugins/crypter/MediafireComFolder.py | 2 +- module/plugins/crypter/NCryptIn.py | 4 ++-- module/plugins/crypter/RelinkUs.py | 2 +- module/plugins/crypter/ShareLinksBiz.py | 4 ++-- module/plugins/crypter/TurbobitNetFolder.py | 2 +- 8 files changed, 10 insertions(+), 10 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/DataHuFolder.py b/module/plugins/crypter/DataHuFolder.py index c4dd21d30..86e816c04 100644 --- a/module/plugins/crypter/DataHuFolder.py +++ b/module/plugins/crypter/DataHuFolder.py @@ -18,7 +18,7 @@ class DataHuFolder(SimpleCrypter): ("stickell", "l.stickell@yahoo.it")] - LINK_PATTERN = r"<a href='(http://data\.hu/get/.+)' target='_blank'>\1</a>" + LINK_PATTERN = r'<a href=\'(http://data\.hu/get/.+)\' target=\'_blank\'>\1</a>' TITLE_PATTERN = ur'<title>(.+) Let\xf6lt\xe9se</title>' diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index af3679122..81768e457 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -178,7 +178,7 @@ class LinkSaveIn(SimpleCrypter): self.logDebug("Seach for %s Container links" % type_.upper()) if not type_.isalnum(): # check to prevent broken re-pattern (cnl2,rsdf,ccf,dlc,web are all alpha-numeric) self.fail('unknown container type "%s" (this is probably a bug)' % type_) - pattern = r"\('%s_link'\).href=unescape\('(.*?\.%s)'\)" % (type_, type_) + pattern = r'\(\'%s_link\'\).href=unescape\(\'(.*?\.%s)\'\)' % (type_, type_) containersLinks = re.findall(pattern, self.html) self.logDebug("Found %d %s Container links" % (len(containersLinks), type_.upper())) for containerLink in containersLinks: diff --git a/module/plugins/crypter/LixIn.py b/module/plugins/crypter/LixIn.py index 28b72237b..32423e228 100644 --- a/module/plugins/crypter/LixIn.py +++ b/module/plugins/crypter/LixIn.py @@ -18,7 +18,7 @@ class LixIn(Crypter): CAPTCHA_PATTERN = r'<img src="(?P<image>captcha_img\.php\?.*?)"' - SUBMIT_PATTERN = r"value='continue.*?'" + SUBMIT_PATTERN = r'value=\'continue.*?\'' LINK_PATTERN = r'name="ifram" src="(?P<link>.*?)"' diff --git a/module/plugins/crypter/MediafireComFolder.py b/module/plugins/crypter/MediafireComFolder.py index 47ddf6bcb..fce8be8d6 100644 --- a/module/plugins/crypter/MediafireComFolder.py +++ b/module/plugins/crypter/MediafireComFolder.py @@ -18,7 +18,7 @@ class MediafireComFolder(Crypter): __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] - FOLDER_KEY_PATTERN = r"var afI= '(\w+)';" + FOLDER_KEY_PATTERN = r'var afI= \'(\w+)' FILE_URL_PATTERN = r'<meta property="og:url" content="http://www\.mediafire\.com/\?(\w+)"/>' diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index 9eb242363..64ce973e8 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -231,7 +231,7 @@ class NCryptIn(Crypter): self.logDebug("Handling Container links") package_links = [] - pattern = r"/container/(rsdf|dlc|ccf)/(\w+)" + pattern = r'/container/(rsdf|dlc|ccf)/(\w+)' containersLinks = re.findall(pattern, self.html) self.logDebug("Decrypting %d Container links" % len(containersLinks)) for containerLink in containersLinks: @@ -243,7 +243,7 @@ class NCryptIn(Crypter): def handleWebLinks(self): self.logDebug("Handling Web links") - pattern = r"(http://ncrypt\.in/link-.*?=)" + pattern = r'(http://ncrypt\.in/link-.*?=)' links = re.findall(pattern, self.html) package_links = [] diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index 7b6dff328..d99b7fb1a 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -41,7 +41,7 @@ class RelinkUs(Crypter): CNL2_CRYPTED_KEY = "crypted" DLC_LINK_REGEX = r'<a href=".*?" class="dlc_button" target="_blank">' DLC_DOWNLOAD_URL = r'http://www\.relink\.us/download\.php' - WEB_FORWARD_REGEX = r"getFile\('(?P<link>.+)'\)" + WEB_FORWARD_REGEX = r'getFile\(\'(?P<link>.+)\'\)' WEB_FORWARD_URL = r'http://www\.relink\.us/frame\.php' WEB_LINK_REGEX = r'<iframe name="Container" height="100%" frameborder="no" width="100%" src="(?P<link>.+)"></iframe>' diff --git a/module/plugins/crypter/ShareLinksBiz.py b/module/plugins/crypter/ShareLinksBiz.py index af2e5245f..9d4cfbb43 100644 --- a/module/plugins/crypter/ShareLinksBiz.py +++ b/module/plugins/crypter/ShareLinksBiz.py @@ -178,7 +178,7 @@ class ShareLinksBiz(Crypter): self.logDebug("Handling Web links") #@TODO: Gather paginated web links - pattern = r"javascript:_get\('(.*?)', \d+, ''\)" + pattern = r'javascript:_get\(\'(.*?)\', \d+, \'\'\)' ids = re.findall(pattern, self.html) self.logDebug("Decrypting %d Web links" % len(ids)) for i, ID in enumerate(ids): @@ -204,7 +204,7 @@ class ShareLinksBiz(Crypter): package_links = [] self.logDebug("Handling Container links") - pattern = r"javascript:_get\('(.*?)', 0, '(rsdf|ccf|dlc)'\)" + pattern = r'javascript:_get\(\'(.*?)\', 0, \'(rsdf|ccf|dlc)\'\)' containersLinks = re.findall(pattern, self.html) self.logDebug("Decrypting %d Container links" % len(containersLinks)) for containerLink in containersLinks: diff --git a/module/plugins/crypter/TurbobitNetFolder.py b/module/plugins/crypter/TurbobitNetFolder.py index b0f341209..390520d88 100644 --- a/module/plugins/crypter/TurbobitNetFolder.py +++ b/module/plugins/crypter/TurbobitNetFolder.py @@ -19,7 +19,7 @@ class TurbobitNetFolder(SimpleCrypter): ("Walter Purcaro", "vuolter@gmail.com")] - TITLE_PATTERN = r"src='/js/lib/grid/icon/folder.png'> <span>(.+?)</span>" + TITLE_PATTERN = r'src=\'/js/lib/grid/icon/folder.png\'> <span>(.+?)</span>' def _getLinks(self, id, page=1): -- cgit v1.2.3 From 83a822f35e72885e33b3606bd92eecdf284b25c0 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sun, 12 Oct 2014 00:10:19 +0200 Subject: [YoutubeBatch] Fix API_KEY --- module/plugins/crypter/YoutubeBatch.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/YoutubeBatch.py b/module/plugins/crypter/YoutubeBatch.py index 6ffb6b48e..e5fd83c4f 100644 --- a/module/plugins/crypter/YoutubeBatch.py +++ b/module/plugins/crypter/YoutubeBatch.py @@ -8,13 +8,11 @@ from module.common.json_layer import json_loads from module.plugins.Crypter import Crypter from module.utils import save_join -API_URL = "AIzaSyCKnWLNlkX-L4oD1aEzqqhRw1zczeD6_k0" - class YoutubeBatch(Crypter): __name__ = "YoutubeBatch" __type__ = "crypter" - __version__ = "1.00" + __version__ = "1.01" __pattern__ = r'https?://(?:www\.|m\.)?youtube\.com/(?P<TYPE>user|playlist|view_play_list)(/|.*?[?&](?:list|p)=)(?P<ID>[\w-]+)' __config__ = [("likes", "bool", "Grab user (channel) liked videos", False), @@ -26,8 +24,11 @@ class YoutubeBatch(Crypter): __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + API_KEY = "AIzaSyCKnWLNlkX-L4oD1aEzqqhRw1zczeD6_k0" + + def api_response(self, ref, req): - req.update({"key": API_KEY}) + req.update({"key": self.API_KEY}) url = urljoin("https://www.googleapis.com/youtube/v3/", ref) page = self.load(url, get=req) return json_loads(page) -- cgit v1.2.3 From cb41bc9bddd0d9308063224ad5e94264aadb12fc Mon Sep 17 00:00:00 2001 From: guidobelix <guidobelix@hotmail.it> Date: Tue, 14 Oct 2014 13:06:38 +0200 Subject: New crypter JunocloudMeFolder --- module/plugins/crypter/JunocloudMeFolder.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 module/plugins/crypter/JunocloudMeFolder.py (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/JunocloudMeFolder.py b/module/plugins/crypter/JunocloudMeFolder.py new file mode 100644 index 000000000..9e5fa1cbf --- /dev/null +++ b/module/plugins/crypter/JunocloudMeFolder.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- + +from module.plugins.internal.SimpleCrypter import SimpleCrypter + + +class JunocloudMeFolder(SimpleCrypter): + __name__ = "JunocloudMeFolder" + __type__ = "crypter" + __version__ = "0.01" + + __pattern__ = r'http://(?:www\.)?junocloud\.me/folders/(?P<ID>\d+/\w+)' + + __description__ = """Junocloud.me folder decrypter plugin""" + __license__ = "GPLv3" + __authors__ = [("guidobelix", "guidobelix@hotmail.it")] + + + URL_REPLACEMENTS = [(__pattern__, r'http://www.junocloud.me/folders/\g<ID>?per_page=10000')] + + LINK_PATTERN = r'<a href="(.+?)" target="_blank">.+?</a>' -- cgit v1.2.3 From 6d45792d15df2c0b9c3481c4854cb7b09c134581 Mon Sep 17 00:00:00 2001 From: guidobelix <guidobelix@hotmail.it> Date: Wed, 15 Oct 2014 02:06:10 +0200 Subject: New crypter RapidfileshareNetFolder --- module/plugins/crypter/RapidfileshareNetFolder.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 module/plugins/crypter/RapidfileshareNetFolder.py (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/RapidfileshareNetFolder.py b/module/plugins/crypter/RapidfileshareNetFolder.py new file mode 100644 index 000000000..7f7f85cbd --- /dev/null +++ b/module/plugins/crypter/RapidfileshareNetFolder.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- + +from module.plugins.internal.SimpleCrypter import SimpleCrypter + + +class RapidfileshareNetFolder(SimpleCrypter): + __name__ = "RapidfileshareNetFolder" + __type__ = "crypter" + __version__ = "0.01" + + __pattern__ = r'http://(?:www\.)?rapidfileshare\.net/users/\w+/\d+/\w+' + + __description__ = """Rapidfileshare.net folder decrypter plugin""" + __license__ = "GPLv3" + __authors__ = [("guidobelix", "guidobelix@hotmail.it")] + + + LINK_PATTERN = r'<a href="(.+?)" target="_blank">.+?</a>' + TITLE_PATTERN = r'<Title>Files of \w+: ([^<]+) folder<' -- cgit v1.2.3 From 1ecae2cb2b2b367bee8b6174036e3dc7ad054a9c Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Fri, 17 Oct 2014 20:52:26 +0200 Subject: New decrypter XFileSharingProFolder --- module/plugins/crypter/XFileSharingProFolder.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 module/plugins/crypter/XFileSharingProFolder.py (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/XFileSharingProFolder.py b/module/plugins/crypter/XFileSharingProFolder.py new file mode 100644 index 000000000..f3003e2aa --- /dev/null +++ b/module/plugins/crypter/XFileSharingProFolder.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- + +import re + +from module.plugins.internal.XFSPCrypter import XFSPCrypter + + +class XFileSharingProFolder(XFSPCrypter): + __name__ = "XFileSharingProFolder" + __type__ = "crypter" + __version__ = "0.01" + + __pattern__ = r'^unmatchable$' + + __description__ = """XFileSharingPro dummy folder decrypter plugin for hook""" + __license__ = "GPLv3" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + + + def setup(self): + self.__pattern__ = self.core.pluginManager.crypterPlugins[self.__name__]['pattern'] + self.HOSTER_NAME = re.match(self.__pattern__, self.pyfile.url).group(1).lower() -- cgit v1.2.3 From 18836967d39d0b6e6f2aeea4e6aece605246a2bf Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Fri, 17 Oct 2014 20:55:00 +0200 Subject: Spare code cosmetics --- module/plugins/crypter/EasybytezComFolder.py | 2 +- module/plugins/crypter/TusfilesNetFolder.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/EasybytezComFolder.py b/module/plugins/crypter/EasybytezComFolder.py index 0b73a10ae..c80b6cd61 100644 --- a/module/plugins/crypter/EasybytezComFolder.py +++ b/module/plugins/crypter/EasybytezComFolder.py @@ -15,7 +15,7 @@ class EasybytezComFolder(SimpleCrypter): __authors__ = [("stickell", "l.stickell@yahoo.it")] - URL_REPLACEMENTS = [(__pattern__, r"http://www.easybytez.com/users/\g<ID>?per_page=10000")] + URL_REPLACEMENTS = [(__pattern__, r'http://www.easybytez.com/users/\g<ID>?per_page=10000')] LINK_PATTERN = r'<td><a href="(http://www\.easybytez\.com/\w+)" target="_blank">.+(?:</a>)?</td>' TITLE_PATTERN = r'<Title>Files of \d+: (.+) folder</Title>' diff --git a/module/plugins/crypter/TusfilesNetFolder.py b/module/plugins/crypter/TusfilesNetFolder.py index a6e76adb8..1d804c2a8 100644 --- a/module/plugins/crypter/TusfilesNetFolder.py +++ b/module/plugins/crypter/TusfilesNetFolder.py @@ -12,7 +12,7 @@ class TusfilesNetFolder(SimpleCrypter): __type__ = "crypter" __version__ = "0.03" - __pattern__ = r'https?://(?:www\.)?tusfiles\.net/go/(?P<ID>\w+)/?' + __pattern__ = r'https?://(?:www\.)?tusfiles\.net/go/(?P<ID>\w+)' __description__ = """Tusfiles.net folder decrypter plugin""" __license__ = "GPLv3" -- cgit v1.2.3 From be5a34a74c7126dd9606e646cd879369dac7404d Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 18 Oct 2014 13:50:09 +0200 Subject: Convert some crypters to use XFSPCrypter instead SimpleCrypter --- module/plugins/crypter/EasybytezComFolder.py | 11 ++++------- module/plugins/crypter/JunocloudMeFolder.py | 10 ++++------ module/plugins/crypter/RapidfileshareNetFolder.py | 9 ++++----- module/plugins/crypter/TusfilesNetFolder.py | 11 ++++++----- 4 files changed, 18 insertions(+), 23 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/EasybytezComFolder.py b/module/plugins/crypter/EasybytezComFolder.py index c80b6cd61..4ced45355 100644 --- a/module/plugins/crypter/EasybytezComFolder.py +++ b/module/plugins/crypter/EasybytezComFolder.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.XFSPCrypter import XFSPCrypter -class EasybytezComFolder(SimpleCrypter): +class EasybytezComFolder(XFSPCrypter): __name__ = "EasybytezComFolder" __type__ = "crypter" - __version__ = "0.08" + __version__ = "0.09" __pattern__ = r'http://(?:www\.)?easybytez\.com/users/(?P<ID>\d+/\d+)' @@ -15,9 +15,6 @@ class EasybytezComFolder(SimpleCrypter): __authors__ = [("stickell", "l.stickell@yahoo.it")] - URL_REPLACEMENTS = [(__pattern__, r'http://www.easybytez.com/users/\g<ID>?per_page=10000')] - - LINK_PATTERN = r'<td><a href="(http://www\.easybytez\.com/\w+)" target="_blank">.+(?:</a>)?</td>' - TITLE_PATTERN = r'<Title>Files of \d+: (.+) folder</Title>' + HOSTER_NAME = "easybytez.com" LOGIN_ACCOUNT = True diff --git a/module/plugins/crypter/JunocloudMeFolder.py b/module/plugins/crypter/JunocloudMeFolder.py index 9e5fa1cbf..32c68e191 100644 --- a/module/plugins/crypter/JunocloudMeFolder.py +++ b/module/plugins/crypter/JunocloudMeFolder.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.XFSPCrypter import XFSPCrypter -class JunocloudMeFolder(SimpleCrypter): +class JunocloudMeFolder(XFSPCrypter): __name__ = "JunocloudMeFolder" __type__ = "crypter" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?junocloud\.me/folders/(?P<ID>\d+/\w+)' @@ -15,6 +15,4 @@ class JunocloudMeFolder(SimpleCrypter): __authors__ = [("guidobelix", "guidobelix@hotmail.it")] - URL_REPLACEMENTS = [(__pattern__, r'http://www.junocloud.me/folders/\g<ID>?per_page=10000')] - - LINK_PATTERN = r'<a href="(.+?)" target="_blank">.+?</a>' + HOSTER_NAME = "junocloud.me" diff --git a/module/plugins/crypter/RapidfileshareNetFolder.py b/module/plugins/crypter/RapidfileshareNetFolder.py index 7f7f85cbd..cca52db20 100644 --- a/module/plugins/crypter/RapidfileshareNetFolder.py +++ b/module/plugins/crypter/RapidfileshareNetFolder.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.XFSPCrypter import XFSPCrypter -class RapidfileshareNetFolder(SimpleCrypter): +class RapidfileshareNetFolder(XFSPCrypter): __name__ = "RapidfileshareNetFolder" __type__ = "crypter" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?rapidfileshare\.net/users/\w+/\d+/\w+' @@ -15,5 +15,4 @@ class RapidfileshareNetFolder(SimpleCrypter): __authors__ = [("guidobelix", "guidobelix@hotmail.it")] - LINK_PATTERN = r'<a href="(.+?)" target="_blank">.+?</a>' - TITLE_PATTERN = r'<Title>Files of \w+: ([^<]+) folder<' + HOSTER_NAME = "rapidfileshare.net" diff --git a/module/plugins/crypter/TusfilesNetFolder.py b/module/plugins/crypter/TusfilesNetFolder.py index 1d804c2a8..fb0842b63 100644 --- a/module/plugins/crypter/TusfilesNetFolder.py +++ b/module/plugins/crypter/TusfilesNetFolder.py @@ -4,13 +4,13 @@ import math import re from urlparse import urljoin -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.XFSPCrypter import XFSPCrypter -class TusfilesNetFolder(SimpleCrypter): +class TusfilesNetFolder(XFSPCrypter): __name__ = "TusfilesNetFolder" __type__ = "crypter" - __version__ = "0.03" + __version__ = "0.04" __pattern__ = r'https?://(?:www\.)?tusfiles\.net/go/(?P<ID>\w+)' @@ -20,8 +20,8 @@ class TusfilesNetFolder(SimpleCrypter): ("stickell", "l.stickell@yahoo.it")] - LINK_PATTERN = r'<TD align=left><a href="(.*?)">' - TITLE_PATTERN = r'<Title>.*?\: (.+) folder</Title>' + HOSTER_NAME = "tusfiles.net" + PAGES_PATTERN = r'>\((\d+) \w+\)<' URL_REPLACEMENTS = [(__pattern__, r'https://www.tusfiles.net/go/\g<ID>/')] @@ -30,6 +30,7 @@ class TusfilesNetFolder(SimpleCrypter): def loadPage(self, page_n): return self.load(urljoin(self.pyfile.url, str(page_n)), decode=True) + def handleMultiPages(self): pages = re.search(self.PAGES_PATTERN, self.html) if pages: -- cgit v1.2.3 From b0da8977d2587e9c662878423404d72d7f812601 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 18 Oct 2014 15:20:41 +0200 Subject: [HotfileFolderCom] Rename to HotfileComFolder --- module/plugins/crypter/HotfileComFolder.py | 15 +++++++++++++++ module/plugins/crypter/HotfileFolderCom.py | 15 --------------- 2 files changed, 15 insertions(+), 15 deletions(-) create mode 100644 module/plugins/crypter/HotfileComFolder.py delete mode 100644 module/plugins/crypter/HotfileFolderCom.py (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/HotfileComFolder.py b/module/plugins/crypter/HotfileComFolder.py new file mode 100644 index 000000000..c2c999275 --- /dev/null +++ b/module/plugins/crypter/HotfileComFolder.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- + +from module.plugins.internal.DeadCrypter import DeadCrypter + + +class HotfileComFolder(DeadCrypter): + __name__ = "HotfileComFolder" + __type__ = "crypter" + __version__ = "0.3" + + __pattern__ = r'https?://(?:www\.)?hotfile\.com/list/\w+/\w+' + + __description__ = """Hotfile.com folder decrypter plugin""" + __license__ = "GPLv3" + __authors__ = [("RaNaN", "RaNaN@pyload.org")] diff --git a/module/plugins/crypter/HotfileFolderCom.py b/module/plugins/crypter/HotfileFolderCom.py deleted file mode 100644 index d9e4e4c39..000000000 --- a/module/plugins/crypter/HotfileFolderCom.py +++ /dev/null @@ -1,15 +0,0 @@ -# -*- coding: utf-8 -*- - -from module.plugins.internal.DeadCrypter import DeadCrypter - - -class HotfileFolderCom(DeadCrypter): - __name__ = "HotfileFolderCom" - __type__ = "crypter" - __version__ = "0.3" - - __pattern__ = r'https?://(?:www\.)?hotfile\.com/list/\w+/\w+' - - __description__ = """Hotfile.com folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("RaNaN", "RaNaN@pyload.org")] -- cgit v1.2.3 From a0c5df1aca6bfb58120044079a3fdde560612a1e Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 18 Oct 2014 15:25:43 +0200 Subject: [XFileSharingPro][XFileSharingProFolder] Account pairing routine --- module/plugins/crypter/XFileSharingProFolder.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/XFileSharingProFolder.py b/module/plugins/crypter/XFileSharingProFolder.py index f3003e2aa..ba8c7b8b7 100644 --- a/module/plugins/crypter/XFileSharingProFolder.py +++ b/module/plugins/crypter/XFileSharingProFolder.py @@ -8,7 +8,7 @@ from module.plugins.internal.XFSPCrypter import XFSPCrypter class XFileSharingProFolder(XFSPCrypter): __name__ = "XFileSharingProFolder" __type__ = "crypter" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'^unmatchable$' @@ -17,6 +17,14 @@ class XFileSharingProFolder(XFSPCrypter): __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] - def setup(self): + def init(self): self.__pattern__ = self.core.pluginManager.crypterPlugins[self.__name__]['pattern'] self.HOSTER_NAME = re.match(self.__pattern__, self.pyfile.url).group(1).lower() + + account_name = "".join([str.capitalize() for str in self.HOSTER_NAME.split('.')]) + self.account = self.core.accountManager.getAccountPlugin(account_name) + + if self.account and self.account.canUse(): + self.user, data = self.account.selectAccount() + self.req = self.account.getAccountRequest(self.user) + self.premium = self.account.isPremium(self.user) -- cgit v1.2.3 From 8edb5481e04da44a227e18c76fc4073297721f4f Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 18 Oct 2014 16:29:41 +0200 Subject: [XFileSharingPro] Fixes --- module/plugins/crypter/XFileSharingProFolder.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/XFileSharingProFolder.py b/module/plugins/crypter/XFileSharingProFolder.py index ba8c7b8b7..e6fb2a7a5 100644 --- a/module/plugins/crypter/XFileSharingProFolder.py +++ b/module/plugins/crypter/XFileSharingProFolder.py @@ -22,9 +22,13 @@ class XFileSharingProFolder(XFSPCrypter): self.HOSTER_NAME = re.match(self.__pattern__, self.pyfile.url).group(1).lower() account_name = "".join([str.capitalize() for str in self.HOSTER_NAME.split('.')]) - self.account = self.core.accountManager.getAccountPlugin(account_name) + account = self.core.accountManager.getAccountPlugin(account_name) - if self.account and self.account.canUse(): - self.user, data = self.account.selectAccount() - self.req = self.account.getAccountRequest(self.user) - self.premium = self.account.isPremium(self.user) + if account and account.canUse(): + self.user, data = account.selectAccount() + self.req = account.getAccountRequest(self.user) + self.premium = account.isPremium(self.user) + + self.account = account + else: + self.account.HOSTER_NAME = self.HOSTER_NAME -- cgit v1.2.3 From 089c1341de6ec7fa3a6cfc30fbf24cbef02cbfce Mon Sep 17 00:00:00 2001 From: AndroKev <neureither.kevin@gmail.com> Date: Sat, 18 Oct 2014 18:58:28 +0200 Subject: [RelinkUs] Fix regex errors and str conversion --- module/plugins/crypter/RelinkUs.py | 45 ++++++++++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 12 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index d99b7fb1a..dc97fca74 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -12,37 +12,42 @@ from module.plugins.Crypter import Crypter class RelinkUs(Crypter): __name__ = "RelinkUs" __type__ = "crypter" - __version__ = "3.0" + __version__ = "3.1" __pattern__ = r'http://(?:www\.)?relink\.us/(f/|((view|go)\.php\?id=))(?P<id>.+)' __description__ = """Relink.us decrypter plugin""" __license__ = "GPLv3" - __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es")] + __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es"), + ("AndroKev", "neureither.kevin@gmail.com")] - # Constants PREFERRED_LINK_SOURCES = ["cnl2", "dlc", "web"] OFFLINE_TOKEN = r'<title>Tattooside' - PASSWORD_TOKEN = r'container_password\.php' + + PASSWORD_TOKEN = r'container_password.php' PASSWORD_ERROR_ROKEN = r'You have entered an incorrect password' - PASSWORD_SUBMIT_URL = r'http://www\.relink\.us/container_password\.php' - CAPTCHA_TOKEN = r'container_captcha\.php' + PASSWORD_SUBMIT_URL = r'http://www.relink.us/container_password.php' + + CAPTCHA_TOKEN = r'container_captcha.php' CAPTCHA_ERROR_ROKEN = r'You have solved the captcha wrong' - CAPTCHA_IMG_URL = r'http://www\.relink\.us/core/captcha/circlecaptcha\.php' - CAPTCHA_SUBMIT_URL = r'http://www\.relink\.us/container_captcha\.php' - FILE_TITLE_REGEX = r'<th>Title</th><td><i>(.*)</i></td></tr>' + CAPTCHA_IMG_URL = r'http://www.relink.us/core/captcha/circlecaptcha.php' + CAPTCHA_SUBMIT_URL = r'http://www.relink.us/container_captcha.php' + + FILE_TITLE_REGEX = r'<th>Title</th><td>(.*)</td></tr>' FILE_NOTITLE = r'No title' CNL2_FORM_REGEX = r'<form id="cnl_form-(.*?)</form>' CNL2_FORMINPUT_REGEX = r'<input.*?name="%s".*?value="(.*?)"' CNL2_JK_KEY = "jk" CNL2_CRYPTED_KEY = "crypted" + DLC_LINK_REGEX = r'<a href=".*?" class="dlc_button" target="_blank">' - DLC_DOWNLOAD_URL = r'http://www\.relink\.us/download\.php' + DLC_DOWNLOAD_URL = r'http://www.relink.us/download.php' + WEB_FORWARD_REGEX = r'getFile\(\'(?P<link>.+)\'\)' - WEB_FORWARD_URL = r'http://www\.relink\.us/frame\.php' + WEB_FORWARD_URL = r'http://www.relink.us/frame.php' WEB_LINK_REGEX = r'<iframe name="Container" height="100%" frameborder="no" width="100%" src="(?P<link>.+)"></iframe>' @@ -53,6 +58,7 @@ class RelinkUs(Crypter): self.html = None self.captcha = False + def decrypt(self, pyfile): # Init self.initPackage(pyfile) @@ -91,46 +97,54 @@ class RelinkUs(Crypter): else: self.fail('Could not extract any links') + def initPackage(self, pyfile): self.fileid = re.match(self.__pattern__, pyfile.url).group('id') self.package = pyfile.package() self.password = self.getPassword() + def requestPackage(self): self.html = self.load(self.pyfile.url, decode=True) + def isOnline(self): if self.OFFLINE_TOKEN in self.html: self.logDebug("File not found") return False return True + def isPasswordProtected(self): if self.PASSWORD_TOKEN in self.html: self.logDebug("Links are password protected") return True + def isCaptchaProtected(self): if self.CAPTCHA_TOKEN in self.html: self.logDebug("Links are captcha protected") return True return False + def unlockPasswordProtection(self): self.logDebug("Submitting password [%s] for protected links" % self.password) passwd_url = self.PASSWORD_SUBMIT_URL + "?id=%s" % self.fileid passwd_data = {'id': self.fileid, 'password': self.password, 'pw': 'submit'} self.html = self.load(passwd_url, post=passwd_data, decode=True) + def unlockCaptchaProtection(self): self.logDebug("Request user positional captcha resolving") captcha_img_url = self.CAPTCHA_IMG_URL + "?id=%s" % self.fileid coords = self.decryptCaptcha(captcha_img_url, forceUser=True, imgtype="png", result_type='positional') - self.logDebug("Captcha resolved, coords [%s]" % coords) + self.logDebug("Captcha resolved, coords [%s]" % str(coords)) captcha_post_url = self.CAPTCHA_SUBMIT_URL + "?id=%s" % self.fileid captcha_post_data = {'button.x': coords[0], 'button.y': coords[1], 'captcha': 'submit'} self.html = self.load(captcha_post_url, post=captcha_post_data, decode=True) + def getPackageInfo(self): name = folder = None @@ -151,6 +165,7 @@ class RelinkUs(Crypter): # Return package info return name, folder + def handleErrors(self): if self.PASSWORD_ERROR_ROKEN in self.html: msg = "Incorrect password, please set right password on 'Edit package' form and retry" @@ -165,6 +180,7 @@ class RelinkUs(Crypter): else: self.correctCaptcha() + def handleLinkSource(self, source): if source == 'cnl2': return self.handleCNL2Links() @@ -175,6 +191,7 @@ class RelinkUs(Crypter): else: self.fail('Unknown source [%s] (this is probably a bug)' % source) + def handleCNL2Links(self): self.logDebug("Search for CNL2 links") package_links = [] @@ -189,6 +206,7 @@ class RelinkUs(Crypter): self.logDebug("Unable to decrypt CNL2 links") return package_links + def handleDLCLinks(self): self.logDebug("Search for DLC links") package_links = [] @@ -208,6 +226,7 @@ class RelinkUs(Crypter): self.logDebug("Unable to download DLC container") return package_links + def handleWEBLinks(self): self.logDebug("Search for WEB links") package_links = [] @@ -226,6 +245,7 @@ class RelinkUs(Crypter): self.wait() return package_links + def _getCipherParams(self, cnl2_form): # Get jk jk_re = self.CNL2_FORMINPUT_REGEX % self.CNL2_JK_KEY @@ -239,6 +259,7 @@ class RelinkUs(Crypter): self.logDebug("Detected %d crypted blocks" % len(vcrypted)) return vcrypted, vjk + def _getLinks(self, crypted, jk): # Get key jreturn = self.js.eval("%s f()" % jk) -- cgit v1.2.3 From 477120dfa8090f808ce17267896456c082714203 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 18 Oct 2014 19:09:49 +0200 Subject: Fixed logging issue with coords values --- module/plugins/crypter/NCryptIn.py | 21 +++++++++++++++++++-- module/plugins/crypter/ShareLinksBiz.py | 21 +++++++++++++++++++-- 2 files changed, 38 insertions(+), 4 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index 64ce973e8..22fd53384 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -13,7 +13,7 @@ from module.plugins.internal.CaptchaService import ReCaptcha class NCryptIn(Crypter): __name__ = "NCryptIn" __type__ = "crypter" - __version__ = "1.32" + __version__ = "1.33" __pattern__ = r'http://(?:www\.)?ncrypt\.in/(?P<type>folder|link|frame)-([^/\?]+)' @@ -36,6 +36,7 @@ class NCryptIn(Crypter): self.links_source_order = ["cnl2", "rsdf", "ccf", "dlc", "web"] self.protection_type = None + def decrypt(self, pyfile): # Init self.package = pyfile.package() @@ -77,13 +78,16 @@ class NCryptIn(Crypter): self.fail('Could not extract any links') self.packages = [(package_name, package_links, folder_name)] + def isSingleLink(self): link_type = re.match(self.__pattern__, self.pyfile.url).group('type') return link_type in ("link", "frame") + def requestFolderHome(self): return self.load(self.pyfile.url, decode=True) + def removeHtmlCrap(self, content): patterns = (r'(type="hidden".*?(name=".*?")?.*?value=".*?")', r'display:none;">(.*?)</(div|span)>', @@ -95,12 +99,14 @@ class NCryptIn(Crypter): content = re.sub(rexpr, "", content) return content + def isOnline(self): if "Your folder does not exist" in self.cleanedHtml: self.logDebug("File not m") return False return True + def isProtected(self): form = re.search(r'<form.*?name.*?protected.*?>(.*?)</form>', self.cleanedHtml, re.DOTALL) if form is not None: @@ -112,6 +118,7 @@ class NCryptIn(Crypter): return True return False + def getPackageInfo(self): m = re.search(self.NAME_PATTERN, self.html) if m: @@ -123,6 +130,7 @@ class NCryptIn(Crypter): self.logDebug("Package info not m, defaulting to pyfile name [%s] and folder [%s]" % (name, folder)) return name, folder + def unlockProtection(self): postData = {} @@ -158,7 +166,7 @@ class NCryptIn(Crypter): self.logDebug("CircleCaptcha protected") captcha_img_url = "http://ncrypt.in/classes/captcha/circlecaptcha.php" coords = self.decryptCaptcha(captcha_img_url, forceUser=True, imgtype="png", result_type='positional') - self.logDebug("Captcha resolved, coords [%s]" % coords) + self.logDebug("Captcha resolved, coords [%s]" % str(coords)) postData['circle.x'] = coords[0] postData['circle.y'] = coords[1] @@ -166,6 +174,7 @@ class NCryptIn(Crypter): postData['submit_protected'] = 'Continue to folder' return self.load(self.pyfile.url, post=postData, decode=True) + def handleErrors(self): if self.protection_type == "password": if "This password is invalid!" in self.cleanedHtml: @@ -180,6 +189,7 @@ class NCryptIn(Crypter): else: self.correctCaptcha() + def handleLinkSource(self, link_source_type): # Check for JS engine require_js_engine = link_source_type in ("cnl2", "rsdf", "ccf", "dlc") @@ -199,6 +209,7 @@ class NCryptIn(Crypter): else: self.fail('unknown source type "%s" (this is probably a bug)' % link_source_type) + def handleSingleLink(self): self.logDebug("Handling Single link") @@ -211,6 +222,7 @@ class NCryptIn(Crypter): return package_links + def handleCNL2(self): self.logDebug("Handling CNL2 links") @@ -226,6 +238,7 @@ class NCryptIn(Crypter): return package_links + def handleContainers(self): self.logDebug("Handling Container links") @@ -240,6 +253,7 @@ class NCryptIn(Crypter): return package_links + def handleWebLinks(self): self.logDebug("Handling Web links") @@ -256,6 +270,7 @@ class NCryptIn(Crypter): return package_links + def decryptLink(self, link): try: url = link.replace("link-", "frame-") @@ -264,6 +279,7 @@ class NCryptIn(Crypter): except Exception, detail: self.logDebug("Error decrypting link %s, %s" % (link, detail)) + def _getCipherParams(self): pattern = r'<input.*?name="%s".*?value="(.*?)"' @@ -280,6 +296,7 @@ class NCryptIn(Crypter): self.logDebug("Detected %d crypted blocks" % len(vcrypted)) return vcrypted, vjk + def _getLinks(self, crypted, jk): # Get key jreturn = self.js.eval("%s f()" % jk) diff --git a/module/plugins/crypter/ShareLinksBiz.py b/module/plugins/crypter/ShareLinksBiz.py index 9d4cfbb43..6e187ed6f 100644 --- a/module/plugins/crypter/ShareLinksBiz.py +++ b/module/plugins/crypter/ShareLinksBiz.py @@ -11,7 +11,7 @@ from module.plugins.Crypter import Crypter class ShareLinksBiz(Crypter): __name__ = "ShareLinksBiz" __type__ = "crypter" - __version__ = "1.13" + __version__ = "1.14" __pattern__ = r'http://(?:www\.)?(share-links|s2l)\.biz/(?P<ID>_?\w+)' @@ -27,6 +27,7 @@ class ShareLinksBiz(Crypter): self.html = None self.captcha = False + def decrypt(self, pyfile): # Init self.initFile(pyfile) @@ -61,6 +62,7 @@ class ShareLinksBiz(Crypter): # Pack self.packages = [(package_name, package_links, package_folder)] + def initFile(self, pyfile): url = pyfile.url if 's2l.biz' in url: @@ -69,29 +71,34 @@ class ShareLinksBiz(Crypter): self.fileId = re.match(self.__pattern__, url).group('ID') self.package = pyfile.package() + def isOnline(self): if "No usable content was found" in self.html: self.logDebug("File not found") return False return True + def isPasswordProtected(self): if re.search(r'''<form.*?id="passwordForm".*?>''', self.html): self.logDebug("Links are protected") return True return False + def isCaptchaProtected(self): if '<map id="captchamap"' in self.html: self.logDebug("Links are captcha protected") return True return False + def unblockServer(self): imgs = re.findall(r"(/template/images/.*?\.gif)", self.html) for img in imgs: self.load(self.baseUrl + img) + def unlockPasswordProtection(self): password = self.getPassword() self.logDebug("Submitting password [%s] for protected links" % password) @@ -99,6 +106,7 @@ class ShareLinksBiz(Crypter): url = self.baseUrl + '/' + self.fileId self.html = self.load(url, post=post, decode=True) + def unlockCaptchaProtection(self): # Get captcha map captchaMap = self._getCaptchaMap() @@ -109,7 +117,7 @@ class ShareLinksBiz(Crypter): captchaUrl = self.baseUrl + '/captcha.gif?d=%s&PHPSESSID=%s' % (m.group(1), m.group(2)) self.logDebug("Waiting user for correct position") coords = self.decryptCaptcha(captchaUrl, forceUser=True, imgtype="gif", result_type='positional') - self.logDebug("Captcha resolved, coords [%s]" % coords) + self.logDebug("Captcha resolved, coords [%s]" % str(coords)) # Resolve captcha href = self._resolveCoords(coords, captchaMap) @@ -122,6 +130,7 @@ class ShareLinksBiz(Crypter): url = self.baseUrl + href self.html = self.load(url, decode=True) + def _getCaptchaMap(self): mapp = {} for m in re.finditer(r'<area shape="rect" coords="(.*?)" href="(.*?)"', self.html): @@ -130,6 +139,7 @@ class ShareLinksBiz(Crypter): mapp[rect] = href return mapp + def _resolveCoords(self, coords, captchaMap): x, y = coords for rect, href in captchaMap.items(): @@ -137,6 +147,7 @@ class ShareLinksBiz(Crypter): if (x >= x1 and x <= x2) and (y >= y1 and y <= y2): return href + def handleErrors(self): if "The inserted password was wrong" in self.html: self.logDebug("Incorrect password, please set right password on 'Edit package' form and retry") @@ -152,6 +163,7 @@ class ShareLinksBiz(Crypter): else: self.correctCaptcha() + def getPackageInfo(self): name = folder = None @@ -173,6 +185,7 @@ class ShareLinksBiz(Crypter): # Return package info return name, folder + def handleWebLinks(self): package_links = [] self.logDebug("Handling Web links") @@ -200,6 +213,7 @@ class ShareLinksBiz(Crypter): self.logDebug("Error decrypting Web link [%s], %s" % (ID, detail)) return package_links + def handleContainers(self): package_links = [] self.logDebug("Handling Container links") @@ -212,6 +226,7 @@ class ShareLinksBiz(Crypter): package_links.append(link) return package_links + def handleCNL2(self): package_links = [] self.logDebug("Handling CNL2 links") @@ -224,6 +239,7 @@ class ShareLinksBiz(Crypter): self.fail("Unable to decrypt CNL2 links") return package_links + def _getCipherParams(self): # Request CNL2 code = re.search(r'ClicknLoad.swf\?code=(.*?)"', self.html).group(1) @@ -244,6 +260,7 @@ class ShareLinksBiz(Crypter): # Log and return return crypted, jk + def _getLinks(self, crypted, jk): # Get key jreturn = self.js.eval("%s f()" % jk) -- cgit v1.2.3 From 1f48f481740863c7697064bde286a78e977e4a1b Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sun, 19 Oct 2014 15:12:06 +0200 Subject: Update other plugins to support self.error --- module/plugins/crypter/DuckCryptInfo.py | 4 ++-- module/plugins/crypter/SexuriaCom.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/DuckCryptInfo.py b/module/plugins/crypter/DuckCryptInfo.py index ff7b0a07a..29eeb4453 100644 --- a/module/plugins/crypter/DuckCryptInfo.py +++ b/module/plugins/crypter/DuckCryptInfo.py @@ -42,7 +42,7 @@ class DuckCryptInfo(Crypter): cryptlinks = soup.findAll("div", attrs={"class": "folderbox"}) self.logDebug("Redirectet to " + str(cryptlinks)) if not cryptlinks: - self.fail('no links m - (Plugin out of date?)') + self.error("no links m") for clink in cryptlinks: if clink.find("a"): self.handleLink(clink.find("a")['href']) @@ -52,4 +52,4 @@ class DuckCryptInfo(Crypter): soup = BeautifulSoup(src) self.urls = [soup.find("iframe")['src']] if not self.urls: - self.logDebug("No link found - (Plugin out of date?)") + self.logInfo("No link found") diff --git a/module/plugins/crypter/SexuriaCom.py b/module/plugins/crypter/SexuriaCom.py index c7939e332..55b6adef4 100644 --- a/module/plugins/crypter/SexuriaCom.py +++ b/module/plugins/crypter/SexuriaCom.py @@ -92,7 +92,7 @@ class SexuriaCom(Crypter): # Inform the user if no link could been extracted if linklist == []: - self.fail("Could not extract any links (out of date?)") + self.error("Could not extract any links") # Debug log self.logDebug("%d supported links" % len(linklist)) -- cgit v1.2.3 From 99fcb5c59bcb95311e0eb2213bcf23943d57769c Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Mon, 20 Oct 2014 02:10:06 +0200 Subject: [SafelinkingNet] Better way to retrieve password --- module/plugins/crypter/SafelinkingNet.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/SafelinkingNet.py b/module/plugins/crypter/SafelinkingNet.py index 33b3d73ab..9ef4529cb 100644 --- a/module/plugins/crypter/SafelinkingNet.py +++ b/module/plugins/crypter/SafelinkingNet.py @@ -38,14 +38,12 @@ class SafelinkingNet(Crypter): self.fail("Couldn't find forwarded Link") else: - password = "" postData = {"post-protect": "1"} self.html = self.load(url) if "link-password" in self.html: - password = pyfile.package().password - postData['link-password'] = password + postData['link-password'] = self.getPassword() if "altcaptcha" in self.html: for _ in xrange(5): -- cgit v1.2.3 From dabee359dd8c3870e0302e99457e6dd1bb93d736 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Tue, 21 Oct 2014 16:01:05 +0200 Subject: Remove needless self.html --- module/plugins/crypter/LinkSaveIn.py | 1 - module/plugins/crypter/NCryptIn.py | 1 - module/plugins/crypter/OneKhDe.py | 1 - module/plugins/crypter/RelinkUs.py | 1 - module/plugins/crypter/SexuriaCom.py | 4 ---- module/plugins/crypter/ShareLinksBiz.py | 1 - 6 files changed, 9 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index 81768e457..3e37f3610 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -33,7 +33,6 @@ class LinkSaveIn(SimpleCrypter): def setup(self): - self.html = None self.fileid = None self.captcha = False self.package = None diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index 22fd53384..28a0735a5 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -31,7 +31,6 @@ class NCryptIn(Crypter): def setup(self): self.package = None - self.html = None self.cleanedHtml = None self.links_source_order = ["cnl2", "rsdf", "ccf", "dlc", "web"] self.protection_type = None diff --git a/module/plugins/crypter/OneKhDe.py b/module/plugins/crypter/OneKhDe.py index 3b072b3d7..7a2aefe83 100644 --- a/module/plugins/crypter/OneKhDe.py +++ b/module/plugins/crypter/OneKhDe.py @@ -21,7 +21,6 @@ class OneKhDe(Crypter): def __init__(self, parent): Crypter.__init__(self, parent) self.parent = parent - self.html = None def file_exists(self): """ returns True or False diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index dc97fca74..09b83b82b 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -55,7 +55,6 @@ class RelinkUs(Crypter): self.fileid = None self.package = None self.password = None - self.html = None self.captcha = False diff --git a/module/plugins/crypter/SexuriaCom.py b/module/plugins/crypter/SexuriaCom.py index 55b6adef4..68a404f46 100644 --- a/module/plugins/crypter/SexuriaCom.py +++ b/module/plugins/crypter/SexuriaCom.py @@ -26,10 +26,6 @@ class SexuriaCom(Crypter): PATTERN_REDIRECT_LINKS = re.compile(r'value="(http://sexuria\.com/out\.php\?id=\d+\&part=\d+\&link=\d+)" readonly', flags=re.I) - def setup(self): - self.html = None - - def decrypt(self, pyfile): # Init self.pyfile = pyfile diff --git a/module/plugins/crypter/ShareLinksBiz.py b/module/plugins/crypter/ShareLinksBiz.py index 6e187ed6f..126a7e5dc 100644 --- a/module/plugins/crypter/ShareLinksBiz.py +++ b/module/plugins/crypter/ShareLinksBiz.py @@ -24,7 +24,6 @@ class ShareLinksBiz(Crypter): self.baseUrl = None self.fileId = None self.package = None - self.html = None self.captcha = False -- cgit v1.2.3 From 0eb6e7ec4a1144dcca824d8add049787d3da1762 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Wed, 22 Oct 2014 19:44:59 +0200 Subject: Two space before function declaration --- module/plugins/crypter/DDLMusicOrg.py | 1 + module/plugins/crypter/DailymotionBatch.py | 6 ++++++ module/plugins/crypter/DuckCryptInfo.py | 2 ++ module/plugins/crypter/EmbeduploadCom.py | 1 + module/plugins/crypter/HoerbuchIn.py | 1 + module/plugins/crypter/LinkdecrypterCom.py | 5 ++--- module/plugins/crypter/NCryptIn.py | 6 ------ module/plugins/crypter/NetfolderIn.py | 3 +++ module/plugins/crypter/OneKhDe.py | 2 ++ module/plugins/crypter/TurbobitNetFolder.py | 1 + module/plugins/crypter/YoutubeBatch.py | 7 +++++++ 11 files changed, 26 insertions(+), 9 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/DDLMusicOrg.py b/module/plugins/crypter/DDLMusicOrg.py index a78794b6d..bd5560ed1 100644 --- a/module/plugins/crypter/DDLMusicOrg.py +++ b/module/plugins/crypter/DDLMusicOrg.py @@ -22,6 +22,7 @@ class DDLMusicOrg(Crypter): def setup(self): self.multiDL = False + def decrypt(self, pyfile): html = self.load(pyfile.url, cookies=True) diff --git a/module/plugins/crypter/DailymotionBatch.py b/module/plugins/crypter/DailymotionBatch.py index a0ed0e80f..5d2f53b38 100644 --- a/module/plugins/crypter/DailymotionBatch.py +++ b/module/plugins/crypter/DailymotionBatch.py @@ -26,6 +26,7 @@ class DailymotionBatch(Crypter): page = self.load(url, get=req) return json_loads(page) + def getPlaylistInfo(self, id): ref = "playlist/" + id req = {"fields": "name,owner.screenname"} @@ -38,6 +39,7 @@ class DailymotionBatch(Crypter): owner = playlist['owner.screenname'] return name, owner + def _getPlaylists(self, user_id, page=1): ref = "user/%s/playlists" % user_id req = {"fields": "id", "page": page, "limit": 100} @@ -53,9 +55,11 @@ class DailymotionBatch(Crypter): for item in self._getPlaylists(user_id, page + 1): yield item + def getPlaylists(self, user_id): return [(id,) + self.getPlaylistInfo(id) for id in self._getPlaylists(user_id)] + def _getVideos(self, id, page=1): ref = "playlist/%s/videos" % id req = {"fields": "url", "page": page, "limit": 100} @@ -71,9 +75,11 @@ class DailymotionBatch(Crypter): for item in self._getVideos(id, page + 1): yield item + def getVideos(self, playlist_id): return list(self._getVideos(playlist_id))[::-1] + def decrypt(self, pyfile): m = re.match(self.__pattern__, pyfile.url) m_id = m.group("ID") diff --git a/module/plugins/crypter/DuckCryptInfo.py b/module/plugins/crypter/DuckCryptInfo.py index 29eeb4453..737ed59ec 100644 --- a/module/plugins/crypter/DuckCryptInfo.py +++ b/module/plugins/crypter/DuckCryptInfo.py @@ -33,6 +33,7 @@ class DuckCryptInfo(Crypter): else: self.handleFolder(m) + def handleFolder(self, m): src = self.load("http://duckcrypt.info/ajax/auth.php?hash=" + str(m.group(2))) m = re.match(self.__pattern__, src) @@ -47,6 +48,7 @@ class DuckCryptInfo(Crypter): if clink.find("a"): self.handleLink(clink.find("a")['href']) + def handleLink(self, url): src = self.load(url) soup = BeautifulSoup(src) diff --git a/module/plugins/crypter/EmbeduploadCom.py b/module/plugins/crypter/EmbeduploadCom.py index 71c4d5778..8e4f5da07 100644 --- a/module/plugins/crypter/EmbeduploadCom.py +++ b/module/plugins/crypter/EmbeduploadCom.py @@ -44,6 +44,7 @@ class EmbeduploadCom(Crypter): if not self.urls: self.fail('Could not extract any links') + def getLocation(self, tmp_links): new_links = [] for link in tmp_links: diff --git a/module/plugins/crypter/HoerbuchIn.py b/module/plugins/crypter/HoerbuchIn.py index 34e124d82..773e0bf8b 100644 --- a/module/plugins/crypter/HoerbuchIn.py +++ b/module/plugins/crypter/HoerbuchIn.py @@ -40,6 +40,7 @@ class HoerbuchIn(Crypter): else: self.urls = self.decryptFolder(pyfile.url) + def decryptFolder(self, url): m = self.protection.search(url) if m is None: diff --git a/module/plugins/crypter/LinkdecrypterCom.py b/module/plugins/crypter/LinkdecrypterCom.py index c72092a5f..0358d1308 100644 --- a/module/plugins/crypter/LinkdecrypterCom.py +++ b/module/plugins/crypter/LinkdecrypterCom.py @@ -24,7 +24,6 @@ class LinkdecrypterCom(Crypter): def decrypt(self, pyfile): - self.passwords = self.getPassword().splitlines() # API not working anymore @@ -32,8 +31,8 @@ class LinkdecrypterCom(Crypter): if not self.urls: self.fail('Could not extract any links') - def decryptAPI(self): + def decryptAPI(self): get_dict = {"t": "link", "url": self.pyfile.url, "lcache": "1"} self.html = self.load('http://linkdecrypter.com/api', get=get_dict) if self.html.startswith('http://'): @@ -51,8 +50,8 @@ class LinkdecrypterCom(Crypter): return None - def decryptHTML(self): + def decryptHTML(self): retries = 5 post_dict = {"link_cache": "on", "pro_links": self.pyfile.url, "modo_links": "text"} diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index 28a0735a5..ef696dbd8 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -131,7 +131,6 @@ class NCryptIn(Crypter): def unlockProtection(self): - postData = {} form = re.search(r'<form name="protected"(.*?)</form>', self.cleanedHtml, re.DOTALL).group(1) @@ -210,7 +209,6 @@ class NCryptIn(Crypter): def handleSingleLink(self): - self.logDebug("Handling Single link") package_links = [] @@ -223,7 +221,6 @@ class NCryptIn(Crypter): def handleCNL2(self): - self.logDebug("Handling CNL2 links") package_links = [] @@ -239,7 +236,6 @@ class NCryptIn(Crypter): def handleContainers(self): - self.logDebug("Handling Container links") package_links = [] @@ -254,7 +250,6 @@ class NCryptIn(Crypter): def handleWebLinks(self): - self.logDebug("Handling Web links") pattern = r'(http://ncrypt\.in/link-.*?=)' links = re.findall(pattern, self.html) @@ -280,7 +275,6 @@ class NCryptIn(Crypter): def _getCipherParams(self): - pattern = r'<input.*?name="%s".*?value="(.*?)"' # Get jk diff --git a/module/plugins/crypter/NetfolderIn.py b/module/plugins/crypter/NetfolderIn.py index 027503bd2..03c62ba14 100644 --- a/module/plugins/crypter/NetfolderIn.py +++ b/module/plugins/crypter/NetfolderIn.py @@ -40,12 +40,14 @@ class NetfolderIn(SimpleCrypter): # Set package self.packages = [(package_name, package_links, folder_name)] + def isPasswordProtected(self): if '<input type="password" name="password"' in self.html: self.logDebug("Links are password protected") return True return False + def submitPassword(self): # Gather data try: @@ -69,6 +71,7 @@ class NetfolderIn(SimpleCrypter): return html + def getLinks(self): links = re.search(r'name="list" value="(.*?)"', self.html).group(1).split(",") self.logDebug("Package has %d links" % len(links)) diff --git a/module/plugins/crypter/OneKhDe.py b/module/plugins/crypter/OneKhDe.py index 7a2aefe83..188a0a0ef 100644 --- a/module/plugins/crypter/OneKhDe.py +++ b/module/plugins/crypter/OneKhDe.py @@ -22,11 +22,13 @@ class OneKhDe(Crypter): Crypter.__init__(self, parent) self.parent = parent + def file_exists(self): """ returns True or False """ return True + def proceed(self, url, location): url = self.parent.url self.html = self.load(url) diff --git a/module/plugins/crypter/TurbobitNetFolder.py b/module/plugins/crypter/TurbobitNetFolder.py index 390520d88..1158c5cc1 100644 --- a/module/plugins/crypter/TurbobitNetFolder.py +++ b/module/plugins/crypter/TurbobitNetFolder.py @@ -35,6 +35,7 @@ class TurbobitNetFolder(SimpleCrypter): else: return + def getLinks(self): id = re.match(self.__pattern__, self.pyfile.url).group("ID") fixurl = lambda id: "http://turbobit.net/%s.html" % id diff --git a/module/plugins/crypter/YoutubeBatch.py b/module/plugins/crypter/YoutubeBatch.py index e5fd83c4f..e70003ab1 100644 --- a/module/plugins/crypter/YoutubeBatch.py +++ b/module/plugins/crypter/YoutubeBatch.py @@ -33,6 +33,7 @@ class YoutubeBatch(Crypter): page = self.load(url, get=req) return json_loads(page) + def getChannel(self, user): channels = self.api_response("channels", {"part": "id,snippet,contentDetails", "forUsername": user, "maxResults": "50"}) if channels['items']: @@ -42,6 +43,7 @@ class YoutubeBatch(Crypter): "relatedPlaylists": channel['contentDetails']['relatedPlaylists'], "user": user} # One lone channel for user? + def getPlaylist(self, p_id): playlists = self.api_response("playlists", {"part": "snippet", "id": p_id}) if playlists['items']: @@ -51,6 +53,7 @@ class YoutubeBatch(Crypter): "channelId": playlist['snippet']['channelId'], "channelTitle": playlist['snippet']['channelTitle']} + def _getPlaylists(self, id, token=None): req = {"part": "id", "maxResults": "50", "channelId": id} if token: @@ -65,9 +68,11 @@ class YoutubeBatch(Crypter): for item in self._getPlaylists(id, playlists['nextPageToken']): yield item + def getPlaylists(self, ch_id): return map(self.getPlaylist, self._getPlaylists(ch_id)) + def _getVideosId(self, id, token=None): req = {"part": "contentDetails", "maxResults": "50", "playlistId": id} if token: @@ -82,9 +87,11 @@ class YoutubeBatch(Crypter): for item in self._getVideosId(id, playlist['nextPageToken']): yield item + def getVideosId(self, p_id): return list(self._getVideosId(p_id)) + def decrypt(self, pyfile): m = re.match(self.__pattern__, pyfile.url) m_id = m.group("ID") -- cgit v1.2.3 From 8cde8385b0224f8fa26758f6c2b6b782e5fb3663 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Thu, 23 Oct 2014 22:34:36 +0200 Subject: Call error instead fail in some plugins --- module/plugins/crypter/LinkSaveIn.py | 4 ++-- module/plugins/crypter/NCryptIn.py | 2 +- module/plugins/crypter/RelinkUs.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index 3e37f3610..e601e8173 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -140,7 +140,7 @@ class LinkSaveIn(SimpleCrypter): elif type_ == "web": return self.handleWebLinks() else: - self.fail('unknown source type "%s" (this is probably a bug)' % type_) + self.error('unknown source type "%s" (this is probably a bug)' % type_) def handleWebLinks(self): @@ -176,7 +176,7 @@ class LinkSaveIn(SimpleCrypter): type_ = type_.lower() self.logDebug("Seach for %s Container links" % type_.upper()) if not type_.isalnum(): # check to prevent broken re-pattern (cnl2,rsdf,ccf,dlc,web are all alpha-numeric) - self.fail('unknown container type "%s" (this is probably a bug)' % type_) + self.error('unknown container type "%s" (this is probably a bug)' % type_) pattern = r'\(\'%s_link\'\).href=unescape\(\'(.*?\.%s)\'\)' % (type_, type_) containersLinks = re.findall(pattern, self.html) self.logDebug("Found %d %s Container links" % (len(containersLinks), type_.upper())) diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index ef696dbd8..54b6eeba2 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -205,7 +205,7 @@ class NCryptIn(Crypter): elif link_source_type == "web": return self.handleWebLinks() else: - self.fail('unknown source type "%s" (this is probably a bug)' % link_source_type) + self.error('unknown source type "%s" (this is probably a bug)' % link_source_type) def handleSingleLink(self): diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index 09b83b82b..b4ee31568 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -188,7 +188,7 @@ class RelinkUs(Crypter): elif source == 'web': return self.handleWEBLinks() else: - self.fail('Unknown source [%s] (this is probably a bug)' % source) + self.error('Unknown source [%s] (this is probably a bug)' % source) def handleCNL2Links(self): -- cgit v1.2.3 From 4da90891eb2544ac15a7d512aba8cb357f68ee5f Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 25 Oct 2014 01:11:29 +0200 Subject: Spare code cosmetics --- module/plugins/crypter/CzshareComFolder.py | 2 +- module/plugins/crypter/DuckCryptInfo.py | 2 +- module/plugins/crypter/FileserveComFolder.py | 2 +- module/plugins/crypter/FreetexthostCom.py | 2 +- module/plugins/crypter/LetitbitNetFolder.py | 2 +- module/plugins/crypter/LinkSaveIn.py | 5 ++--- module/plugins/crypter/LinkdecrypterCom.py | 2 +- module/plugins/crypter/LixIn.py | 6 +++--- module/plugins/crypter/NCryptIn.py | 9 ++++----- module/plugins/crypter/QuickshareCzFolder.py | 2 +- module/plugins/crypter/RelinkUs.py | 7 +++---- module/plugins/crypter/SafelinkingNet.py | 2 +- module/plugins/crypter/ShareLinksBiz.py | 6 ++---- module/plugins/crypter/UlozToFolder.py | 2 +- 14 files changed, 23 insertions(+), 28 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/CzshareComFolder.py b/module/plugins/crypter/CzshareComFolder.py index 9a3881617..2b4d736b7 100644 --- a/module/plugins/crypter/CzshareComFolder.py +++ b/module/plugins/crypter/CzshareComFolder.py @@ -23,7 +23,7 @@ class CzshareComFolder(Crypter): def decrypt(self, pyfile): html = self.load(pyfile.url) - m = re.search(self.FOLDER_PATTERN, html, re.DOTALL) + m = re.search(self.FOLDER_PATTERN, html, re.S) if m is None: self.fail("Parse error (FOLDER)") diff --git a/module/plugins/crypter/DuckCryptInfo.py b/module/plugins/crypter/DuckCryptInfo.py index 737ed59ec..54a2bd8b9 100644 --- a/module/plugins/crypter/DuckCryptInfo.py +++ b/module/plugins/crypter/DuckCryptInfo.py @@ -43,7 +43,7 @@ class DuckCryptInfo(Crypter): cryptlinks = soup.findAll("div", attrs={"class": "folderbox"}) self.logDebug("Redirectet to " + str(cryptlinks)) if not cryptlinks: - self.error("no links m") + self.error("No link found") for clink in cryptlinks: if clink.find("a"): self.handleLink(clink.find("a")['href']) diff --git a/module/plugins/crypter/FileserveComFolder.py b/module/plugins/crypter/FileserveComFolder.py index bdb07cbdc..fd4c28918 100644 --- a/module/plugins/crypter/FileserveComFolder.py +++ b/module/plugins/crypter/FileserveComFolder.py @@ -26,7 +26,7 @@ class FileserveComFolder(Crypter): new_links = [] - folder = re.search(self.FOLDER_PATTERN, html, re.DOTALL) + folder = re.search(self.FOLDER_PATTERN, html, re.S) if folder is None: self.fail("Parse error (FOLDER)") diff --git a/module/plugins/crypter/FreetexthostCom.py b/module/plugins/crypter/FreetexthostCom.py index 35ee7791c..402a04c22 100644 --- a/module/plugins/crypter/FreetexthostCom.py +++ b/module/plugins/crypter/FreetexthostCom.py @@ -18,7 +18,7 @@ class FreetexthostCom(SimpleCrypter): def getLinks(self): - m = re.search(r'<div id="contentsinner">\s*(.+)<div class="viewcount">', self.html, re.DOTALL) + m = re.search(r'<div id="contentsinner">\s*(.+)<div class="viewcount">', self.html, re.S) if m is None: self.fail('Unable to extract links | Plugin may be out-of-date') links = m.group(1) diff --git a/module/plugins/crypter/LetitbitNetFolder.py b/module/plugins/crypter/LetitbitNetFolder.py index c7f6fc738..7f1f8f3d0 100644 --- a/module/plugins/crypter/LetitbitNetFolder.py +++ b/module/plugins/crypter/LetitbitNetFolder.py @@ -24,7 +24,7 @@ class LetitbitNetFolder(Crypter): def decrypt(self, pyfile): html = self.load(pyfile.url) - folder = re.search(self.FOLDER_PATTERN, html, re.DOTALL) + folder = re.search(self.FOLDER_PATTERN, html, re.S) if folder is None: self.fail("Parse error (FOLDER)") diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index e601e8173..b22d87f38 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -125,7 +125,6 @@ class LinkSaveIn(SimpleCrypter): if self.captcha: if "Wrong code. Please retry" in self.html: - self.logDebug("Invalid captcha, retrying") self.invalidCaptcha() self.retry() else: @@ -140,7 +139,7 @@ class LinkSaveIn(SimpleCrypter): elif type_ == "web": return self.handleWebLinks() else: - self.error('unknown source type "%s" (this is probably a bug)' % type_) + self.error('Unknown source type "%s" (this is probably a bug)' % type_) def handleWebLinks(self): @@ -176,7 +175,7 @@ class LinkSaveIn(SimpleCrypter): type_ = type_.lower() self.logDebug("Seach for %s Container links" % type_.upper()) if not type_.isalnum(): # check to prevent broken re-pattern (cnl2,rsdf,ccf,dlc,web are all alpha-numeric) - self.error('unknown container type "%s" (this is probably a bug)' % type_) + self.error('Unknown container type "%s" (this is probably a bug)' % type_) pattern = r'\(\'%s_link\'\).href=unescape\(\'(.*?\.%s)\'\)' % (type_, type_) containersLinks = re.findall(pattern, self.html) self.logDebug("Found %d %s Container links" % (len(containersLinks), type_.upper())) diff --git a/module/plugins/crypter/LinkdecrypterCom.py b/module/plugins/crypter/LinkdecrypterCom.py index 0358d1308..98efd3d84 100644 --- a/module/plugins/crypter/LinkdecrypterCom.py +++ b/module/plugins/crypter/LinkdecrypterCom.py @@ -58,7 +58,7 @@ class LinkdecrypterCom(Crypter): self.html = self.load('http://linkdecrypter.com/', post=post_dict, cookies=True, decode=True) while self.passwords or retries: - m = re.search(self.TEXTAREA_PATTERN, self.html, flags=re.DOTALL) + m = re.search(self.TEXTAREA_PATTERN, self.html, flags=re.S) if m: return [x for x in m.group(1).splitlines() if '[LINK-ERROR]' not in x] diff --git a/module/plugins/crypter/LixIn.py b/module/plugins/crypter/LixIn.py index 32423e228..744066d19 100644 --- a/module/plugins/crypter/LixIn.py +++ b/module/plugins/crypter/LixIn.py @@ -27,7 +27,7 @@ class LixIn(Crypter): m = re.match(self.__pattern__, url) if m is None: - self.fail("couldn't identify file id") + self.error("Unable to identify file ID") id = m.group("ID") self.logDebug("File id is %s" % id) @@ -36,7 +36,7 @@ class LixIn(Crypter): m = re.search(self.SUBMIT_PATTERN, self.html) if m is None: - self.fail("link doesn't seem valid") + self.error("Link doesn't seem valid") m = re.search(self.CAPTCHA_PATTERN, self.html) if m: @@ -54,7 +54,7 @@ class LixIn(Crypter): m = re.search(self.LINK_PATTERN, self.html) if m is None: - self.fail("can't find destination url") + self.error("Unable to find destination url") else: self.urls = [m.group("link")] self.logDebug("Found link %s, adding to package" % self.urls[0]) diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index 54b6eeba2..6c31a19f1 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -94,7 +94,7 @@ class NCryptIn(Crypter): r'<table class="global">(.*?)</table>', r'<iframe\s+style="display:none(.*?)</iframe>') for pattern in patterns: - rexpr = re.compile(pattern, re.DOTALL) + rexpr = re.compile(pattern, re.S) content = re.sub(rexpr, "", content) return content @@ -107,7 +107,7 @@ class NCryptIn(Crypter): def isProtected(self): - form = re.search(r'<form.*?name.*?protected.*?>(.*?)</form>', self.cleanedHtml, re.DOTALL) + form = re.search(r'<form.*?name.*?protected.*?>(.*?)</form>', self.cleanedHtml, re.S) if form is not None: content = form.group(1) for keyword in ("password", "captcha"): @@ -133,7 +133,7 @@ class NCryptIn(Crypter): def unlockProtection(self): postData = {} - form = re.search(r'<form name="protected"(.*?)</form>', self.cleanedHtml, re.DOTALL).group(1) + form = re.search(r'<form name="protected"(.*?)</form>', self.cleanedHtml, re.S).group(1) # Submit package password if "password" in form: @@ -181,7 +181,6 @@ class NCryptIn(Crypter): if self.protection_type == "captcha": if "The securitycheck was wrong!" in self.cleanedHtml: - self.logDebug("Invalid captcha, retrying") self.invalidCaptcha() self.retry() else: @@ -205,7 +204,7 @@ class NCryptIn(Crypter): elif link_source_type == "web": return self.handleWebLinks() else: - self.error('unknown source type "%s" (this is probably a bug)' % link_source_type) + self.error('Unknown source type "%s" (this is probably a bug)' % link_source_type) def handleSingleLink(self): diff --git a/module/plugins/crypter/QuickshareCzFolder.py b/module/plugins/crypter/QuickshareCzFolder.py index 60c2d1a40..c368353f7 100644 --- a/module/plugins/crypter/QuickshareCzFolder.py +++ b/module/plugins/crypter/QuickshareCzFolder.py @@ -23,7 +23,7 @@ class QuickshareCzFolder(Crypter): def decrypt(self, pyfile): html = self.load(pyfile.url) - m = re.search(self.FOLDER_PATTERN, html, re.DOTALL) + m = re.search(self.FOLDER_PATTERN, html, re.S) if m is None: self.fail("Parse error (FOLDER)") self.urls.extend(re.findall(self.LINK_PATTERN, m.group(1))) diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index b4ee31568..5c9d9e5ca 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -173,7 +173,6 @@ class RelinkUs(Crypter): if self.captcha: if self.CAPTCHA_ERROR_ROKEN in self.html: - self.logDebug("Invalid captcha, retrying") self.invalidCaptcha() self.retry() else: @@ -194,7 +193,7 @@ class RelinkUs(Crypter): def handleCNL2Links(self): self.logDebug("Search for CNL2 links") package_links = [] - m = re.search(self.CNL2_FORM_REGEX, self.html, re.DOTALL) + m = re.search(self.CNL2_FORM_REGEX, self.html, re.S) if m is not None: cnl2_form = m.group(1) try: @@ -248,11 +247,11 @@ class RelinkUs(Crypter): def _getCipherParams(self, cnl2_form): # Get jk jk_re = self.CNL2_FORMINPUT_REGEX % self.CNL2_JK_KEY - vjk = re.findall(jk_re, cnl2_form, re.IGNORECASE) + vjk = re.findall(jk_re, cnl2_form, re.I) # Get crypted crypted_re = self.CNL2_FORMINPUT_REGEX % RelinkUs.CNL2_CRYPTED_KEY - vcrypted = re.findall(crypted_re, cnl2_form, re.IGNORECASE) + vcrypted = re.findall(crypted_re, cnl2_form, re.I) # Log and return self.logDebug("Detected %d crypted blocks" % len(vcrypted)) diff --git a/module/plugins/crypter/SafelinkingNet.py b/module/plugins/crypter/SafelinkingNet.py index 9ef4529cb..fcc48ca22 100644 --- a/module/plugins/crypter/SafelinkingNet.py +++ b/module/plugins/crypter/SafelinkingNet.py @@ -31,7 +31,7 @@ class SafelinkingNet(Crypter): if re.match(self.__pattern__, url).group(1) == "d": self.req.http.c.setopt(FOLLOWLOCATION, 0) self.load(url) - m = re.search("^Location: (.+)$", self.req.http.header, re.MULTILINE) + m = re.search("^Location: (.+)$", self.req.http.header, re.M) if m: self.urls = [m.group(1)] else: diff --git a/module/plugins/crypter/ShareLinksBiz.py b/module/plugins/crypter/ShareLinksBiz.py index 126a7e5dc..bc79c5f70 100644 --- a/module/plugins/crypter/ShareLinksBiz.py +++ b/module/plugins/crypter/ShareLinksBiz.py @@ -121,7 +121,6 @@ class ShareLinksBiz(Crypter): # Resolve captcha href = self._resolveCoords(coords, captchaMap) if href is None: - self.logDebug("Invalid captcha resolving, retrying") self.invalidCaptcha() self.setWait(5, False) self.wait() @@ -154,7 +153,6 @@ class ShareLinksBiz(Crypter): if self.captcha: if "Your choice was wrong" in self.html: - self.logDebug("Invalid captcha, retrying") self.invalidCaptcha() self.setWait(5) self.wait() @@ -168,7 +166,7 @@ class ShareLinksBiz(Crypter): # Extract from web package header title_re = r'<h2><img.*?/>(.*)</h2>' - m = re.search(title_re, self.html, re.DOTALL) + m = re.search(title_re, self.html, re.S) if m is not None: title = m.group(1).strip() if 'unnamed' not in title: @@ -202,7 +200,7 @@ class ShareLinksBiz(Crypter): fwLink = self.baseUrl + "/get/frm/" + code response = self.load(fwLink) jscode = re.search(r'<script language="javascript">\s*eval\((.*)\)\s*</script>', response, - re.DOTALL).group(1) + re.S).group(1) jscode = self.js.eval("f = %s" % jscode) jslauncher = "window=''; parent={frames:{Main:{location:{href:''}}},location:''}; %s; parent.frames.Main.location.href" dlLink = self.js.eval(jslauncher % jscode) diff --git a/module/plugins/crypter/UlozToFolder.py b/module/plugins/crypter/UlozToFolder.py index bc8571f7c..241f382ad 100644 --- a/module/plugins/crypter/UlozToFolder.py +++ b/module/plugins/crypter/UlozToFolder.py @@ -27,7 +27,7 @@ class UlozToFolder(Crypter): new_links = [] for i in xrange(1, 100): self.logInfo("Fetching links from page %i" % i) - m = re.search(self.FOLDER_PATTERN, html, re.DOTALL) + m = re.search(self.FOLDER_PATTERN, html, re.S) if m is None: self.fail("Parse error (FOLDER)") -- cgit v1.2.3 From e3f5280529921100f48bb8a79853bf480c7611e4 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 25 Oct 2014 02:53:05 +0200 Subject: Replace single quotes with doubles in self.error and self.fail msg --- module/plugins/crypter/ChipDe.py | 2 +- module/plugins/crypter/CzshareComFolder.py | 2 +- module/plugins/crypter/DataHuFolder.py | 2 +- module/plugins/crypter/DuckCryptInfo.py | 2 +- module/plugins/crypter/EmbeduploadCom.py | 2 +- module/plugins/crypter/FileserveComFolder.py | 2 +- module/plugins/crypter/FreetexthostCom.py | 2 +- module/plugins/crypter/GooGl.py | 2 +- module/plugins/crypter/LetitbitNetFolder.py | 2 +- module/plugins/crypter/LinkSaveIn.py | 2 +- module/plugins/crypter/LinkdecrypterCom.py | 2 +- module/plugins/crypter/MediafireComFolder.py | 2 +- module/plugins/crypter/MultiloadCz.py | 2 +- module/plugins/crypter/NCryptIn.py | 2 +- module/plugins/crypter/QuickshareCzFolder.py | 2 +- module/plugins/crypter/RelinkUs.py | 4 ++-- module/plugins/crypter/UlozToFolder.py | 2 +- module/plugins/crypter/UploadedToFolder.py | 2 +- module/plugins/crypter/XupPl.py | 2 +- 19 files changed, 20 insertions(+), 20 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/ChipDe.py b/module/plugins/crypter/ChipDe.py index 317f73e4c..4ef476895 100644 --- a/module/plugins/crypter/ChipDe.py +++ b/module/plugins/crypter/ChipDe.py @@ -21,7 +21,7 @@ class ChipDe(Crypter): try: f = re.search(r'"(http://video\.chip\.de/.+)"', self.html) except: - self.fail('Failed to find the URL') + self.fail("Failed to find the URL") else: self.urls = [f.group(1)] self.logDebug("The file URL is %s" % self.urls[0]) diff --git a/module/plugins/crypter/CzshareComFolder.py b/module/plugins/crypter/CzshareComFolder.py index 2b4d736b7..8cca84e42 100644 --- a/module/plugins/crypter/CzshareComFolder.py +++ b/module/plugins/crypter/CzshareComFolder.py @@ -29,4 +29,4 @@ class CzshareComFolder(Crypter): self.urls.extend(re.findall(self.LINK_PATTERN, m.group(1))) if not self.urls: - self.fail('Could not extract any links') + self.fail("Could not extract any links") diff --git a/module/plugins/crypter/DataHuFolder.py b/module/plugins/crypter/DataHuFolder.py index 86e816c04..303b5835c 100644 --- a/module/plugins/crypter/DataHuFolder.py +++ b/module/plugins/crypter/DataHuFolder.py @@ -42,4 +42,4 @@ class DataHuFolder(SimpleCrypter): if package_links: self.packages = [(package_name, package_links, folder_name)] else: - self.fail('Could not extract any links') + self.fail("Could not extract any links") diff --git a/module/plugins/crypter/DuckCryptInfo.py b/module/plugins/crypter/DuckCryptInfo.py index 54a2bd8b9..41c245c00 100644 --- a/module/plugins/crypter/DuckCryptInfo.py +++ b/module/plugins/crypter/DuckCryptInfo.py @@ -27,7 +27,7 @@ class DuckCryptInfo(Crypter): m = re.match(self.__pattern__, url) if m is None: - self.fail('Weird error in link') + self.fail("Weird error in link") if str(m.group(1)) == "link": self.handleLink(url) else: diff --git a/module/plugins/crypter/EmbeduploadCom.py b/module/plugins/crypter/EmbeduploadCom.py index 8e4f5da07..54c8d2df0 100644 --- a/module/plugins/crypter/EmbeduploadCom.py +++ b/module/plugins/crypter/EmbeduploadCom.py @@ -42,7 +42,7 @@ class EmbeduploadCom(Crypter): self.urls = self.getLocation(tmp_links) if not self.urls: - self.fail('Could not extract any links') + self.fail("Could not extract any links") def getLocation(self, tmp_links): diff --git a/module/plugins/crypter/FileserveComFolder.py b/module/plugins/crypter/FileserveComFolder.py index fd4c28918..42d0f3829 100644 --- a/module/plugins/crypter/FileserveComFolder.py +++ b/module/plugins/crypter/FileserveComFolder.py @@ -35,4 +35,4 @@ class FileserveComFolder(Crypter): if new_links: self.urls = [map(lambda s: "http://fileserve.com%s" % s, new_links)] else: - self.fail('Could not extract any links') + self.fail("Could not extract any links") diff --git a/module/plugins/crypter/FreetexthostCom.py b/module/plugins/crypter/FreetexthostCom.py index 402a04c22..73a5c98dc 100644 --- a/module/plugins/crypter/FreetexthostCom.py +++ b/module/plugins/crypter/FreetexthostCom.py @@ -20,6 +20,6 @@ class FreetexthostCom(SimpleCrypter): def getLinks(self): m = re.search(r'<div id="contentsinner">\s*(.+)<div class="viewcount">', self.html, re.S) if m is None: - self.fail('Unable to extract links | Plugin may be out-of-date') + self.fail("Unable to extract links | Plugin may be out-of-date") links = m.group(1) return links.strip().split("<br />\r\n") diff --git a/module/plugins/crypter/GooGl.py b/module/plugins/crypter/GooGl.py index 29c5a5f5e..4f551aa42 100644 --- a/module/plugins/crypter/GooGl.py +++ b/module/plugins/crypter/GooGl.py @@ -27,4 +27,4 @@ class GooGl(Crypter): if 'longUrl' in rep: self.urls = [rep['longUrl']] else: - self.fail('Unable to expand shortened link') + self.fail("Unable to expand shortened link") diff --git a/module/plugins/crypter/LetitbitNetFolder.py b/module/plugins/crypter/LetitbitNetFolder.py index 7f1f8f3d0..af10f248c 100644 --- a/module/plugins/crypter/LetitbitNetFolder.py +++ b/module/plugins/crypter/LetitbitNetFolder.py @@ -31,4 +31,4 @@ class LetitbitNetFolder(Crypter): self.urls.extend(re.findall(self.LINK_PATTERN, folder.group(0))) if not self.urls: - self.fail('Could not extract any links') + self.fail("Could not extract any links") diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index b22d87f38..96d737382 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -74,7 +74,7 @@ class LinkSaveIn(SimpleCrypter): if package_links: self.packages = [(package_name, package_links, folder_name)] else: - self.fail('Could not extract any links') + self.fail("Could not extract any links") def isOnline(self): diff --git a/module/plugins/crypter/LinkdecrypterCom.py b/module/plugins/crypter/LinkdecrypterCom.py index 98efd3d84..8731d1d0f 100644 --- a/module/plugins/crypter/LinkdecrypterCom.py +++ b/module/plugins/crypter/LinkdecrypterCom.py @@ -29,7 +29,7 @@ class LinkdecrypterCom(Crypter): # API not working anymore self.urls = self.decryptHTML() if not self.urls: - self.fail('Could not extract any links') + self.fail("Could not extract any links") def decryptAPI(self): diff --git a/module/plugins/crypter/MediafireComFolder.py b/module/plugins/crypter/MediafireComFolder.py index fce8be8d6..607c630e4 100644 --- a/module/plugins/crypter/MediafireComFolder.py +++ b/module/plugins/crypter/MediafireComFolder.py @@ -54,4 +54,4 @@ class MediafireComFolder(Crypter): self.urls.append(url) if not self.urls: - self.fail('Could not extract any links') + self.fail("Could not extract any links") diff --git a/module/plugins/crypter/MultiloadCz.py b/module/plugins/crypter/MultiloadCz.py index 0c0291147..54e9343e5 100644 --- a/module/plugins/crypter/MultiloadCz.py +++ b/module/plugins/crypter/MultiloadCz.py @@ -40,4 +40,4 @@ class MultiloadCz(Crypter): self.urls.extend([x[1] for x in m if x[0] not in ignored_set]) if not self.urls: - self.fail('Could not extract any links') + self.fail("Could not extract any links") diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index 6c31a19f1..a9f04f45f 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -74,7 +74,7 @@ class NCryptIn(Crypter): # Pack and return links if not package_links: - self.fail('Could not extract any links') + self.fail("Could not extract any links") self.packages = [(package_name, package_links, folder_name)] diff --git a/module/plugins/crypter/QuickshareCzFolder.py b/module/plugins/crypter/QuickshareCzFolder.py index c368353f7..cb6bd4696 100644 --- a/module/plugins/crypter/QuickshareCzFolder.py +++ b/module/plugins/crypter/QuickshareCzFolder.py @@ -29,4 +29,4 @@ class QuickshareCzFolder(Crypter): self.urls.extend(re.findall(self.LINK_PATTERN, m.group(1))) if not self.urls: - self.fail('Could not extract any links') + self.fail("Could not extract any links") diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index 5c9d9e5ca..184e1a38e 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -94,7 +94,7 @@ class RelinkUs(Crypter): if package_links: self.packages = [(package_name, package_links, folder_name)] else: - self.fail('Could not extract any links') + self.fail("Could not extract any links") def initPackage(self, pyfile): @@ -187,7 +187,7 @@ class RelinkUs(Crypter): elif source == 'web': return self.handleWEBLinks() else: - self.error('Unknown source [%s] (this is probably a bug)' % source) + self.error('Unknown source type "%s" (this is probably a bug)' % source) def handleCNL2Links(self): diff --git a/module/plugins/crypter/UlozToFolder.py b/module/plugins/crypter/UlozToFolder.py index 241f382ad..8b763dd82 100644 --- a/module/plugins/crypter/UlozToFolder.py +++ b/module/plugins/crypter/UlozToFolder.py @@ -43,4 +43,4 @@ class UlozToFolder(Crypter): if new_links: self.urls = [map(lambda s: "http://ulozto.net/%s" % s, new_links)] else: - self.fail('Could not extract any links') + self.fail("Could not extract any links") diff --git a/module/plugins/crypter/UploadedToFolder.py b/module/plugins/crypter/UploadedToFolder.py index a2ceccc68..94afe98ea 100644 --- a/module/plugins/crypter/UploadedToFolder.py +++ b/module/plugins/crypter/UploadedToFolder.py @@ -30,7 +30,7 @@ class UploadedToFolder(SimpleCrypter): if m: plain_link = 'http://uploaded.net/' + m.group('plain') else: - self.fail('Parse error - Unable to find plain url list') + self.fail("Parse error - Unable to find plain url list") self.html = self.load(plain_link) package_links = self.html.split('\n')[:-1] diff --git a/module/plugins/crypter/XupPl.py b/module/plugins/crypter/XupPl.py index 5a42a1d1e..1cb1b0b10 100644 --- a/module/plugins/crypter/XupPl.py +++ b/module/plugins/crypter/XupPl.py @@ -20,4 +20,4 @@ class XupPl(Crypter): if 'location' in header: self.urls = [header['location']] else: - self.fail('Unable to find link') + self.fail("Unable to find link") -- cgit v1.2.3 From 1c4bf83881d2a22da3773666a580d51f6b57bfd1 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 25 Oct 2014 03:07:21 +0200 Subject: Avoid gettext conflict due variable `_` --- module/plugins/crypter/LixIn.py | 2 +- module/plugins/crypter/SafelinkingNet.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/LixIn.py b/module/plugins/crypter/LixIn.py index 744066d19..0c20f6499 100644 --- a/module/plugins/crypter/LixIn.py +++ b/module/plugins/crypter/LixIn.py @@ -40,7 +40,7 @@ class LixIn(Crypter): m = re.search(self.CAPTCHA_PATTERN, self.html) if m: - for _ in xrange(5): + for _i in xrange(5): m = re.search(self.CAPTCHA_PATTERN, self.html) if m: self.logDebug("Trying captcha") diff --git a/module/plugins/crypter/SafelinkingNet.py b/module/plugins/crypter/SafelinkingNet.py index fcc48ca22..d9b511cf5 100644 --- a/module/plugins/crypter/SafelinkingNet.py +++ b/module/plugins/crypter/SafelinkingNet.py @@ -46,7 +46,7 @@ class SafelinkingNet(Crypter): postData['link-password'] = self.getPassword() if "altcaptcha" in self.html: - for _ in xrange(5): + for _i in xrange(5): m = re.search(self.SOLVEMEDIA_PATTERN, self.html) if m: captchaKey = m.group(1) -- cgit v1.2.3 From 9f2ebe486a3e155fb6a60e07cccb77ab6a772eb2 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sun, 26 Oct 2014 02:31:54 +0200 Subject: Extend translation support in plugins + a lot of code cosmetics and typo fixes --- module/plugins/crypter/ChipDe.py | 2 +- module/plugins/crypter/CzshareComFolder.py | 4 ++-- module/plugins/crypter/DailymotionBatch.py | 2 +- module/plugins/crypter/DataHuFolder.py | 6 +++--- module/plugins/crypter/DlProtectCom.py | 2 +- module/plugins/crypter/DuckCryptInfo.py | 6 +++--- module/plugins/crypter/EmbeduploadCom.py | 2 +- module/plugins/crypter/FileserveComFolder.py | 4 ++-- module/plugins/crypter/FreetexthostCom.py | 2 +- module/plugins/crypter/GooGl.py | 2 +- module/plugins/crypter/HoerbuchIn.py | 2 +- module/plugins/crypter/LetitbitNetFolder.py | 4 ++-- module/plugins/crypter/LinkSaveIn.py | 6 +++--- module/plugins/crypter/LinkdecrypterCom.py | 10 +++++----- module/plugins/crypter/LixIn.py | 6 +++--- module/plugins/crypter/MediafireComFolder.py | 2 +- module/plugins/crypter/MultiloadCz.py | 2 +- module/plugins/crypter/NCryptIn.py | 6 +++--- module/plugins/crypter/NetfolderIn.py | 2 +- module/plugins/crypter/QuickshareCzFolder.py | 4 ++-- module/plugins/crypter/RelinkUs.py | 4 ++-- module/plugins/crypter/SafelinkingNet.py | 6 +++--- module/plugins/crypter/SexuriaCom.py | 2 +- module/plugins/crypter/ShareLinksBiz.py | 4 ++-- module/plugins/crypter/UlozToFolder.py | 8 ++++---- module/plugins/crypter/UploadedToFolder.py | 2 +- module/plugins/crypter/XupPl.py | 2 +- module/plugins/crypter/YoutubeBatch.py | 2 +- 28 files changed, 53 insertions(+), 53 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/ChipDe.py b/module/plugins/crypter/ChipDe.py index 4ef476895..26805b5b8 100644 --- a/module/plugins/crypter/ChipDe.py +++ b/module/plugins/crypter/ChipDe.py @@ -21,7 +21,7 @@ class ChipDe(Crypter): try: f = re.search(r'"(http://video\.chip\.de/.+)"', self.html) except: - self.fail("Failed to find the URL") + self.fail(_("Failed to find the URL")) else: self.urls = [f.group(1)] self.logDebug("The file URL is %s" % self.urls[0]) diff --git a/module/plugins/crypter/CzshareComFolder.py b/module/plugins/crypter/CzshareComFolder.py index 8cca84e42..002d9a9c3 100644 --- a/module/plugins/crypter/CzshareComFolder.py +++ b/module/plugins/crypter/CzshareComFolder.py @@ -25,8 +25,8 @@ class CzshareComFolder(Crypter): m = re.search(self.FOLDER_PATTERN, html, re.S) if m is None: - self.fail("Parse error (FOLDER)") + self.error(_("FOLDER_PATTERN not found")) self.urls.extend(re.findall(self.LINK_PATTERN, m.group(1))) if not self.urls: - self.fail("Could not extract any links") + self.fail(_("Could not extract any links")) diff --git a/module/plugins/crypter/DailymotionBatch.py b/module/plugins/crypter/DailymotionBatch.py index 5d2f53b38..3b9b82a0c 100644 --- a/module/plugins/crypter/DailymotionBatch.py +++ b/module/plugins/crypter/DailymotionBatch.py @@ -95,7 +95,7 @@ class DailymotionBatch(Crypter): self.logDebug("%s playlist\s found on channel \"%s\"" % (len(playlists), m_id)) if not playlists: - self.fail("No playlist available") + self.fail(_("No playlist available")) for p_id, p_name, p_owner in playlists: p_videos = self.getVideos(p_id) diff --git a/module/plugins/crypter/DataHuFolder.py b/module/plugins/crypter/DataHuFolder.py index 303b5835c..8cea48062 100644 --- a/module/plugins/crypter/DataHuFolder.py +++ b/module/plugins/crypter/DataHuFolder.py @@ -28,11 +28,11 @@ class DataHuFolder(SimpleCrypter): if u'K\xe9rlek add meg a jelsz\xf3t' in self.html: # Password protected password = self.getPassword() if password is '': - self.fail("No password specified, please set right password on Add package form and retry") + self.fail(_("No password specified, please set right password on Add package form and retry")) self.logDebug("The folder is password protected', 'Using password: " + password) self.html = self.load(pyfile.url, post={'mappa_pass': password}, decode=True) if u'Hib\xe1s jelsz\xf3' in self.html: # Wrong password - self.fail("Incorrect password, please set right password on Add package form and retry") + self.fail(_("Incorrect password, please set right password on Add package form and retry")) package_name, folder_name = self.getPackageNameAndFolder() @@ -42,4 +42,4 @@ class DataHuFolder(SimpleCrypter): if package_links: self.packages = [(package_name, package_links, folder_name)] else: - self.fail("Could not extract any links") + self.fail(_("Could not extract any links")) diff --git a/module/plugins/crypter/DlProtectCom.py b/module/plugins/crypter/DlProtectCom.py index e31c62185..4b5f8fc95 100644 --- a/module/plugins/crypter/DlProtectCom.py +++ b/module/plugins/crypter/DlProtectCom.py @@ -57,7 +57,7 @@ class DlProtectCom(SimpleCrypter): for errmsg in (">The password is incorrect", ">The security code is incorrect"): if errmsg in self.html: - self.fail(errmsg[1:]) + self.fail(_(errmsg[1:])) pattern = r'<a href="([^/].+?)" target="_blank">' return re.findall(pattern, self.html) diff --git a/module/plugins/crypter/DuckCryptInfo.py b/module/plugins/crypter/DuckCryptInfo.py index 41c245c00..126a1f544 100644 --- a/module/plugins/crypter/DuckCryptInfo.py +++ b/module/plugins/crypter/DuckCryptInfo.py @@ -27,7 +27,7 @@ class DuckCryptInfo(Crypter): m = re.match(self.__pattern__, url) if m is None: - self.fail("Weird error in link") + self.fail(_("Weird error in link")) if str(m.group(1)) == "link": self.handleLink(url) else: @@ -43,7 +43,7 @@ class DuckCryptInfo(Crypter): cryptlinks = soup.findAll("div", attrs={"class": "folderbox"}) self.logDebug("Redirectet to " + str(cryptlinks)) if not cryptlinks: - self.error("No link found") + self.error(_("No link found")) for clink in cryptlinks: if clink.find("a"): self.handleLink(clink.find("a")['href']) @@ -54,4 +54,4 @@ class DuckCryptInfo(Crypter): soup = BeautifulSoup(src) self.urls = [soup.find("iframe")['src']] if not self.urls: - self.logInfo("No link found") + self.logInfo(_("No link found")) diff --git a/module/plugins/crypter/EmbeduploadCom.py b/module/plugins/crypter/EmbeduploadCom.py index 54c8d2df0..6af3194df 100644 --- a/module/plugins/crypter/EmbeduploadCom.py +++ b/module/plugins/crypter/EmbeduploadCom.py @@ -42,7 +42,7 @@ class EmbeduploadCom(Crypter): self.urls = self.getLocation(tmp_links) if not self.urls: - self.fail("Could not extract any links") + self.fail(_("Could not extract any links")) def getLocation(self, tmp_links): diff --git a/module/plugins/crypter/FileserveComFolder.py b/module/plugins/crypter/FileserveComFolder.py index 42d0f3829..826350f6c 100644 --- a/module/plugins/crypter/FileserveComFolder.py +++ b/module/plugins/crypter/FileserveComFolder.py @@ -28,11 +28,11 @@ class FileserveComFolder(Crypter): folder = re.search(self.FOLDER_PATTERN, html, re.S) if folder is None: - self.fail("Parse error (FOLDER)") + self.error(_("FOLDER_PATTERN not found")) new_links.extend(re.findall(self.LINK_PATTERN, folder.group(1))) if new_links: self.urls = [map(lambda s: "http://fileserve.com%s" % s, new_links)] else: - self.fail("Could not extract any links") + self.fail(_("Could not extract any links")) diff --git a/module/plugins/crypter/FreetexthostCom.py b/module/plugins/crypter/FreetexthostCom.py index 73a5c98dc..3fe51b913 100644 --- a/module/plugins/crypter/FreetexthostCom.py +++ b/module/plugins/crypter/FreetexthostCom.py @@ -20,6 +20,6 @@ class FreetexthostCom(SimpleCrypter): def getLinks(self): m = re.search(r'<div id="contentsinner">\s*(.+)<div class="viewcount">', self.html, re.S) if m is None: - self.fail("Unable to extract links | Plugin may be out-of-date") + self.error(_("Unable to extract links")) links = m.group(1) return links.strip().split("<br />\r\n") diff --git a/module/plugins/crypter/GooGl.py b/module/plugins/crypter/GooGl.py index 4f551aa42..c831fb2de 100644 --- a/module/plugins/crypter/GooGl.py +++ b/module/plugins/crypter/GooGl.py @@ -27,4 +27,4 @@ class GooGl(Crypter): if 'longUrl' in rep: self.urls = [rep['longUrl']] else: - self.fail("Unable to expand shortened link") + self.fail(_("Unable to expand shortened link")) diff --git a/module/plugins/crypter/HoerbuchIn.py b/module/plugins/crypter/HoerbuchIn.py index 773e0bf8b..d35b2d8bc 100644 --- a/module/plugins/crypter/HoerbuchIn.py +++ b/module/plugins/crypter/HoerbuchIn.py @@ -44,7 +44,7 @@ class HoerbuchIn(Crypter): def decryptFolder(self, url): m = self.protection.search(url) if m is None: - self.fail("Bad URL") + self.fail(_("Bad URL")) url = m.group(0) self.pyfile.url = url diff --git a/module/plugins/crypter/LetitbitNetFolder.py b/module/plugins/crypter/LetitbitNetFolder.py index af10f248c..3a31903ae 100644 --- a/module/plugins/crypter/LetitbitNetFolder.py +++ b/module/plugins/crypter/LetitbitNetFolder.py @@ -26,9 +26,9 @@ class LetitbitNetFolder(Crypter): folder = re.search(self.FOLDER_PATTERN, html, re.S) if folder is None: - self.fail("Parse error (FOLDER)") + self.error(_("FOLDER_PATTERN not found")) self.urls.extend(re.findall(self.LINK_PATTERN, folder.group(0))) if not self.urls: - self.fail("Could not extract any links") + self.fail(_("Could not extract any links")) diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index 96d737382..aa340f873 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -74,7 +74,7 @@ class LinkSaveIn(SimpleCrypter): if package_links: self.packages = [(package_name, package_links, folder_name)] else: - self.fail("Could not extract any links") + self.fail(_("Could not extract any links")) def isOnline(self): @@ -121,7 +121,7 @@ class LinkSaveIn(SimpleCrypter): def handleErrors(self): if "The visitorpassword you have entered is wrong" in self.html: self.logDebug("Incorrect password, please set right password on 'Edit package' form and retry") - self.fail("Incorrect password, please set right password on 'Edit package' form and retry") + self.fail(_("Incorrect password, please set right password on 'Edit package' form and retry")) if self.captcha: if "Wrong code. Please retry" in self.html: @@ -196,7 +196,7 @@ class LinkSaveIn(SimpleCrypter): for (crypted, jk) in zip(vcrypted, vjk): package_links.extend(self._getLinks(crypted, jk)) except: - self.fail("Unable to decrypt CNL2 links") + self.fail(_("Unable to decrypt CNL2 links")) return package_links diff --git a/module/plugins/crypter/LinkdecrypterCom.py b/module/plugins/crypter/LinkdecrypterCom.py index 8731d1d0f..0848338ec 100644 --- a/module/plugins/crypter/LinkdecrypterCom.py +++ b/module/plugins/crypter/LinkdecrypterCom.py @@ -29,7 +29,7 @@ class LinkdecrypterCom(Crypter): # API not working anymore self.urls = self.decryptHTML() if not self.urls: - self.fail("Could not extract any links") + self.fail(_("Could not extract any links")) def decryptAPI(self): @@ -46,7 +46,7 @@ class LinkdecrypterCom(Crypter): self.logError("API", self.html) if self.html == 'INTERRUPTION(PASSWORD)': - self.fail("No or incorrect password") + self.fail(_("No or incorrect password")) return None @@ -69,7 +69,7 @@ class LinkdecrypterCom(Crypter): m = re.search(r"<p><i><b>([^<]+)</b></i></p>", self.html) msg = m.group(1) if m else "" - self.logInfo("Captcha protected link", result_type, msg) + self.logInfo(_("Captcha protected link"), result_type, msg) captcha = self.decryptCaptcha(captcha_url, result_type=result_type) if result_type == "positional": @@ -80,10 +80,10 @@ class LinkdecrypterCom(Crypter): elif self.PASSWORD_PATTERN in self.html: if self.passwords: password = self.passwords.pop(0) - self.logInfo("Password protected link, trying " + password) + self.logInfo(_("Password protected link, trying ") + password) self.html = self.load('http://linkdecrypter.com/', post={'password': password}, decode=True) else: - self.fail("No or incorrect password") + self.fail(_("No or incorrect password")) else: retries -= 1 diff --git a/module/plugins/crypter/LixIn.py b/module/plugins/crypter/LixIn.py index 0c20f6499..4a9dc7769 100644 --- a/module/plugins/crypter/LixIn.py +++ b/module/plugins/crypter/LixIn.py @@ -27,7 +27,7 @@ class LixIn(Crypter): m = re.match(self.__pattern__, url) if m is None: - self.error("Unable to identify file ID") + self.error(_("Unable to identify file ID")) id = m.group("ID") self.logDebug("File id is %s" % id) @@ -36,7 +36,7 @@ class LixIn(Crypter): m = re.search(self.SUBMIT_PATTERN, self.html) if m is None: - self.error("Link doesn't seem valid") + self.error(_("Link doesn't seem valid")) m = re.search(self.CAPTCHA_PATTERN, self.html) if m: @@ -54,7 +54,7 @@ class LixIn(Crypter): m = re.search(self.LINK_PATTERN, self.html) if m is None: - self.error("Unable to find destination url") + self.error(_("Unable to find destination url")) else: self.urls = [m.group("link")] self.logDebug("Found link %s, adding to package" % self.urls[0]) diff --git a/module/plugins/crypter/MediafireComFolder.py b/module/plugins/crypter/MediafireComFolder.py index 607c630e4..ae8f3fd44 100644 --- a/module/plugins/crypter/MediafireComFolder.py +++ b/module/plugins/crypter/MediafireComFolder.py @@ -54,4 +54,4 @@ class MediafireComFolder(Crypter): self.urls.append(url) if not self.urls: - self.fail("Could not extract any links") + self.fail(_("Could not extract any links")) diff --git a/module/plugins/crypter/MultiloadCz.py b/module/plugins/crypter/MultiloadCz.py index 54e9343e5..e894c8c5d 100644 --- a/module/plugins/crypter/MultiloadCz.py +++ b/module/plugins/crypter/MultiloadCz.py @@ -40,4 +40,4 @@ class MultiloadCz(Crypter): self.urls.extend([x[1] for x in m if x[0] not in ignored_set]) if not self.urls: - self.fail("Could not extract any links") + self.fail(_("Could not extract any links")) diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index a9f04f45f..801afc50b 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -74,7 +74,7 @@ class NCryptIn(Crypter): # Pack and return links if not package_links: - self.fail("Could not extract any links") + self.fail(_("Could not extract any links")) self.packages = [(package_name, package_links, folder_name)] @@ -177,7 +177,7 @@ class NCryptIn(Crypter): if self.protection_type == "password": if "This password is invalid!" in self.cleanedHtml: self.logDebug("Incorrect password, please set right password on 'Edit package' form and retry") - self.fail("Incorrect password, please set right password on 'Edit package' form and retry") + self.fail(_("Incorrect password, please set right password on 'Edit package' form and retry")) if self.protection_type == "captcha": if "The securitycheck was wrong!" in self.cleanedHtml: @@ -229,7 +229,7 @@ class NCryptIn(Crypter): for (crypted, jk) in zip(vcrypted, vjk): package_links.extend(self._getLinks(crypted, jk)) except: - self.fail("Unable to decrypt CNL2 links") + self.fail(_("Unable to decrypt CNL2 links")) return package_links diff --git a/module/plugins/crypter/NetfolderIn.py b/module/plugins/crypter/NetfolderIn.py index 03c62ba14..01774362c 100644 --- a/module/plugins/crypter/NetfolderIn.py +++ b/module/plugins/crypter/NetfolderIn.py @@ -29,7 +29,7 @@ class NetfolderIn(SimpleCrypter): if self.isPasswordProtected(): self.html = self.submitPassword() if not self.html: - self.fail("Incorrect password, please set right password on Add package form and retry") + self.fail(_("Incorrect password, please set right password on Add package form and retry")) # Get package name and folder (package_name, folder_name) = self.getPackageNameAndFolder() diff --git a/module/plugins/crypter/QuickshareCzFolder.py b/module/plugins/crypter/QuickshareCzFolder.py index cb6bd4696..7b2d336b3 100644 --- a/module/plugins/crypter/QuickshareCzFolder.py +++ b/module/plugins/crypter/QuickshareCzFolder.py @@ -25,8 +25,8 @@ class QuickshareCzFolder(Crypter): m = re.search(self.FOLDER_PATTERN, html, re.S) if m is None: - self.fail("Parse error (FOLDER)") + self.error(_("FOLDER_PATTERN not found")) self.urls.extend(re.findall(self.LINK_PATTERN, m.group(1))) if not self.urls: - self.fail("Could not extract any links") + self.fail(_("Could not extract any links")) diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index 184e1a38e..a71c736b5 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -94,7 +94,7 @@ class RelinkUs(Crypter): if package_links: self.packages = [(package_name, package_links, folder_name)] else: - self.fail("Could not extract any links") + self.fail(_("Could not extract any links")) def initPackage(self, pyfile): @@ -169,7 +169,7 @@ class RelinkUs(Crypter): if self.PASSWORD_ERROR_ROKEN in self.html: msg = "Incorrect password, please set right password on 'Edit package' form and retry" self.logDebug(msg) - self.fail(msg) + self.fail(_(msg)) if self.captcha: if self.CAPTCHA_ERROR_ROKEN in self.html: diff --git a/module/plugins/crypter/SafelinkingNet.py b/module/plugins/crypter/SafelinkingNet.py index d9b511cf5..fbeaa406c 100644 --- a/module/plugins/crypter/SafelinkingNet.py +++ b/module/plugins/crypter/SafelinkingNet.py @@ -35,7 +35,7 @@ class SafelinkingNet(Crypter): if m: self.urls = [m.group(1)] else: - self.fail("Couldn't find forwarded Link") + self.fail(_("Couldn't find forwarded Link")) else: postData = {"post-protect": "1"} @@ -53,7 +53,7 @@ class SafelinkingNet(Crypter): captcha = SolveMedia(self) captchaProvider = "Solvemedia" else: - self.fail("Error parsing captcha") + self.fail(_("Error parsing captcha")) challenge, response = captcha.challenge(captchaKey) postData['adcopy_challenge'] = challenge @@ -61,7 +61,7 @@ class SafelinkingNet(Crypter): self.html = self.load(url, post=postData) if "The password you entered was incorrect" in self.html: - self.fail("Incorrect Password") + self.fail(_("Incorrect Password")) if not "The CAPTCHA code you entered was wrong" in self.html: break diff --git a/module/plugins/crypter/SexuriaCom.py b/module/plugins/crypter/SexuriaCom.py index 68a404f46..6b9b2c5f6 100644 --- a/module/plugins/crypter/SexuriaCom.py +++ b/module/plugins/crypter/SexuriaCom.py @@ -88,7 +88,7 @@ class SexuriaCom(Crypter): # Inform the user if no link could been extracted if linklist == []: - self.error("Could not extract any links") + self.error(_("Could not extract any links")) # Debug log self.logDebug("%d supported links" % len(linklist)) diff --git a/module/plugins/crypter/ShareLinksBiz.py b/module/plugins/crypter/ShareLinksBiz.py index bc79c5f70..8e89c98f9 100644 --- a/module/plugins/crypter/ShareLinksBiz.py +++ b/module/plugins/crypter/ShareLinksBiz.py @@ -149,7 +149,7 @@ class ShareLinksBiz(Crypter): def handleErrors(self): if "The inserted password was wrong" in self.html: self.logDebug("Incorrect password, please set right password on 'Edit package' form and retry") - self.fail("Incorrect password, please set right password on 'Edit package' form and retry") + self.fail(_("Incorrect password, please set right password on 'Edit package' form and retry")) if self.captcha: if "Your choice was wrong" in self.html: @@ -233,7 +233,7 @@ class ShareLinksBiz(Crypter): (crypted, jk) = self._getCipherParams() package_links.extend(self._getLinks(crypted, jk)) except: - self.fail("Unable to decrypt CNL2 links") + self.fail(_("Unable to decrypt CNL2 links")) return package_links diff --git a/module/plugins/crypter/UlozToFolder.py b/module/plugins/crypter/UlozToFolder.py index 8b763dd82..acb360ee4 100644 --- a/module/plugins/crypter/UlozToFolder.py +++ b/module/plugins/crypter/UlozToFolder.py @@ -26,10 +26,10 @@ class UlozToFolder(Crypter): new_links = [] for i in xrange(1, 100): - self.logInfo("Fetching links from page %i" % i) + self.logInfo(_("Fetching links from page %i") % i) m = re.search(self.FOLDER_PATTERN, html, re.S) if m is None: - self.fail("Parse error (FOLDER)") + self.error(_("FOLDER_PATTERN not found")) new_links.extend(re.findall(self.LINK_PATTERN, m.group(1))) m = re.search(self.NEXT_PAGE_PATTERN, html) @@ -38,9 +38,9 @@ class UlozToFolder(Crypter): else: break else: - self.logInfo("Limit of 99 pages reached, aborting") + self.logInfo(_("Limit of 99 pages reached, aborting")) if new_links: self.urls = [map(lambda s: "http://ulozto.net/%s" % s, new_links)] else: - self.fail("Could not extract any links") + self.fail(_("Could not extract any links")) diff --git a/module/plugins/crypter/UploadedToFolder.py b/module/plugins/crypter/UploadedToFolder.py index 94afe98ea..8f50f80aa 100644 --- a/module/plugins/crypter/UploadedToFolder.py +++ b/module/plugins/crypter/UploadedToFolder.py @@ -30,7 +30,7 @@ class UploadedToFolder(SimpleCrypter): if m: plain_link = 'http://uploaded.net/' + m.group('plain') else: - self.fail("Parse error - Unable to find plain url list") + self.error(_("Unable to find plain url list")) self.html = self.load(plain_link) package_links = self.html.split('\n')[:-1] diff --git a/module/plugins/crypter/XupPl.py b/module/plugins/crypter/XupPl.py index 1cb1b0b10..3323d0ff4 100644 --- a/module/plugins/crypter/XupPl.py +++ b/module/plugins/crypter/XupPl.py @@ -20,4 +20,4 @@ class XupPl(Crypter): if 'location' in header: self.urls = [header['location']] else: - self.fail("Unable to find link") + self.fail(_("Unable to find link")) diff --git a/module/plugins/crypter/YoutubeBatch.py b/module/plugins/crypter/YoutubeBatch.py index e70003ab1..c5bcdd72d 100644 --- a/module/plugins/crypter/YoutubeBatch.py +++ b/module/plugins/crypter/YoutubeBatch.py @@ -123,7 +123,7 @@ class YoutubeBatch(Crypter): playlists = [self.getPlaylist(m_id)] if not playlists: - self.fail("No playlist available") + self.fail(_("No playlist available")) addedvideos = [] urlize = lambda x: "https://www.youtube.com/watch?v=" + x -- cgit v1.2.3 From 146fe1e309c33ab149bfaf58ad86c0dd4fb9b156 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Mon, 27 Oct 2014 01:18:45 +0100 Subject: Spare code cosmetics --- module/plugins/crypter/EmbeduploadCom.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/EmbeduploadCom.py b/module/plugins/crypter/EmbeduploadCom.py index 6af3194df..b968bb86d 100644 --- a/module/plugins/crypter/EmbeduploadCom.py +++ b/module/plugins/crypter/EmbeduploadCom.py @@ -30,14 +30,18 @@ class EmbeduploadCom(Crypter): if m: prefered_set = set(self.getConfig("preferedHoster").split('|')) prefered_set = map(lambda s: s.lower().split('.')[0], prefered_set) - print "PF", prefered_set + + self.logDebug("PF: %s" % prefered_set) + tmp_links.extend([x[1] for x in m if x[0] in prefered_set]) self.urls = self.getLocation(tmp_links) if not self.urls: ignored_set = set(self.getConfig("ignoredHoster").split('|')) ignored_set = map(lambda s: s.lower().split('.')[0], ignored_set) - print "IG", ignored_set + + self.logDebug("IG: %s" % ignored_set) + tmp_links.extend([x[1] for x in m if x[0] not in ignored_set]) self.urls = self.getLocation(tmp_links) -- cgit v1.2.3 From aa0751bcfd995e308bcd586a6965c75e68b1274b Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Mon, 27 Oct 2014 23:05:13 +0100 Subject: Code cosmetics --- module/plugins/crypter/CzshareComFolder.py | 2 -- module/plugins/crypter/DataHuFolder.py | 2 -- module/plugins/crypter/EmbeduploadCom.py | 3 --- module/plugins/crypter/FileserveComFolder.py | 2 -- module/plugins/crypter/LetitbitNetFolder.py | 3 --- module/plugins/crypter/LinkSaveIn.py | 2 -- module/plugins/crypter/LinkdecrypterCom.py | 2 -- module/plugins/crypter/MediafireComFolder.py | 3 --- module/plugins/crypter/MultiloadCz.py | 3 --- module/plugins/crypter/NCryptIn.py | 5 ++--- module/plugins/crypter/QuickshareCzFolder.py | 3 --- module/plugins/crypter/RelinkUs.py | 2 -- module/plugins/crypter/SexuriaCom.py | 4 ---- module/plugins/crypter/UlozToFolder.py | 2 -- 14 files changed, 2 insertions(+), 36 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/CzshareComFolder.py b/module/plugins/crypter/CzshareComFolder.py index 002d9a9c3..f88693eb0 100644 --- a/module/plugins/crypter/CzshareComFolder.py +++ b/module/plugins/crypter/CzshareComFolder.py @@ -28,5 +28,3 @@ class CzshareComFolder(Crypter): self.error(_("FOLDER_PATTERN not found")) self.urls.extend(re.findall(self.LINK_PATTERN, m.group(1))) - if not self.urls: - self.fail(_("Could not extract any links")) diff --git a/module/plugins/crypter/DataHuFolder.py b/module/plugins/crypter/DataHuFolder.py index 8cea48062..525e201ce 100644 --- a/module/plugins/crypter/DataHuFolder.py +++ b/module/plugins/crypter/DataHuFolder.py @@ -41,5 +41,3 @@ class DataHuFolder(SimpleCrypter): if package_links: self.packages = [(package_name, package_links, folder_name)] - else: - self.fail(_("Could not extract any links")) diff --git a/module/plugins/crypter/EmbeduploadCom.py b/module/plugins/crypter/EmbeduploadCom.py index b968bb86d..ea29891b9 100644 --- a/module/plugins/crypter/EmbeduploadCom.py +++ b/module/plugins/crypter/EmbeduploadCom.py @@ -45,9 +45,6 @@ class EmbeduploadCom(Crypter): tmp_links.extend([x[1] for x in m if x[0] not in ignored_set]) self.urls = self.getLocation(tmp_links) - if not self.urls: - self.fail(_("Could not extract any links")) - def getLocation(self, tmp_links): new_links = [] diff --git a/module/plugins/crypter/FileserveComFolder.py b/module/plugins/crypter/FileserveComFolder.py index 826350f6c..d30ccb6c1 100644 --- a/module/plugins/crypter/FileserveComFolder.py +++ b/module/plugins/crypter/FileserveComFolder.py @@ -34,5 +34,3 @@ class FileserveComFolder(Crypter): if new_links: self.urls = [map(lambda s: "http://fileserve.com%s" % s, new_links)] - else: - self.fail(_("Could not extract any links")) diff --git a/module/plugins/crypter/LetitbitNetFolder.py b/module/plugins/crypter/LetitbitNetFolder.py index 3a31903ae..ba40ded99 100644 --- a/module/plugins/crypter/LetitbitNetFolder.py +++ b/module/plugins/crypter/LetitbitNetFolder.py @@ -29,6 +29,3 @@ class LetitbitNetFolder(Crypter): self.error(_("FOLDER_PATTERN not found")) self.urls.extend(re.findall(self.LINK_PATTERN, folder.group(0))) - - if not self.urls: - self.fail(_("Could not extract any links")) diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index aa340f873..644245e25 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -73,8 +73,6 @@ class LinkSaveIn(SimpleCrypter): # Pack if package_links: self.packages = [(package_name, package_links, folder_name)] - else: - self.fail(_("Could not extract any links")) def isOnline(self): diff --git a/module/plugins/crypter/LinkdecrypterCom.py b/module/plugins/crypter/LinkdecrypterCom.py index 0848338ec..7cedf4d91 100644 --- a/module/plugins/crypter/LinkdecrypterCom.py +++ b/module/plugins/crypter/LinkdecrypterCom.py @@ -28,8 +28,6 @@ class LinkdecrypterCom(Crypter): # API not working anymore self.urls = self.decryptHTML() - if not self.urls: - self.fail(_("Could not extract any links")) def decryptAPI(self): diff --git a/module/plugins/crypter/MediafireComFolder.py b/module/plugins/crypter/MediafireComFolder.py index ae8f3fd44..69bfe4092 100644 --- a/module/plugins/crypter/MediafireComFolder.py +++ b/module/plugins/crypter/MediafireComFolder.py @@ -52,6 +52,3 @@ class MediafireComFolder(Crypter): self.offline() else: self.urls.append(url) - - if not self.urls: - self.fail(_("Could not extract any links")) diff --git a/module/plugins/crypter/MultiloadCz.py b/module/plugins/crypter/MultiloadCz.py index e894c8c5d..5ee17225b 100644 --- a/module/plugins/crypter/MultiloadCz.py +++ b/module/plugins/crypter/MultiloadCz.py @@ -38,6 +38,3 @@ class MultiloadCz(Crypter): if not self.urls: ignored_set = set(self.getConfig("ignoredHoster").split('|')) self.urls.extend([x[1] for x in m if x[0] not in ignored_set]) - - if not self.urls: - self.fail(_("Could not extract any links")) diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index 801afc50b..7d82cba7a 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -73,9 +73,8 @@ class NCryptIn(Crypter): package_links = set(package_links) # Pack and return links - if not package_links: - self.fail(_("Could not extract any links")) - self.packages = [(package_name, package_links, folder_name)] + if package_links: + self.packages = [(package_name, package_links, folder_name)] def isSingleLink(self): diff --git a/module/plugins/crypter/QuickshareCzFolder.py b/module/plugins/crypter/QuickshareCzFolder.py index 7b2d336b3..d9048655e 100644 --- a/module/plugins/crypter/QuickshareCzFolder.py +++ b/module/plugins/crypter/QuickshareCzFolder.py @@ -27,6 +27,3 @@ class QuickshareCzFolder(Crypter): if m is None: self.error(_("FOLDER_PATTERN not found")) self.urls.extend(re.findall(self.LINK_PATTERN, m.group(1))) - - if not self.urls: - self.fail(_("Could not extract any links")) diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index a71c736b5..135268dcc 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -93,8 +93,6 @@ class RelinkUs(Crypter): # Pack if package_links: self.packages = [(package_name, package_links, folder_name)] - else: - self.fail(_("Could not extract any links")) def initPackage(self, pyfile): diff --git a/module/plugins/crypter/SexuriaCom.py b/module/plugins/crypter/SexuriaCom.py index 6b9b2c5f6..20559e9d7 100644 --- a/module/plugins/crypter/SexuriaCom.py +++ b/module/plugins/crypter/SexuriaCom.py @@ -86,10 +86,6 @@ class SexuriaCom(Crypter): else: linklist.append(finallink) - # Inform the user if no link could been extracted - if linklist == []: - self.error(_("Could not extract any links")) - # Debug log self.logDebug("%d supported links" % len(linklist)) for i, link in enumerate(linklist): diff --git a/module/plugins/crypter/UlozToFolder.py b/module/plugins/crypter/UlozToFolder.py index acb360ee4..feaec2e8d 100644 --- a/module/plugins/crypter/UlozToFolder.py +++ b/module/plugins/crypter/UlozToFolder.py @@ -42,5 +42,3 @@ class UlozToFolder(Crypter): if new_links: self.urls = [map(lambda s: "http://ulozto.net/%s" % s, new_links)] - else: - self.fail(_("Could not extract any links")) -- cgit v1.2.3 From 885f8ed782e64d9e73367905e642a84d0a8999f1 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Tue, 28 Oct 2014 04:01:38 +0100 Subject: Update __config__ --- module/plugins/crypter/BitshareComFolder.py | 2 ++ module/plugins/crypter/C1neonCom.py | 1 + module/plugins/crypter/ChipDe.py | 2 ++ module/plugins/crypter/CrockoComFolder.py | 2 ++ module/plugins/crypter/CryptItCom.py | 1 + module/plugins/crypter/CzshareComFolder.py | 2 ++ module/plugins/crypter/DDLMusicOrg.py | 2 ++ module/plugins/crypter/DailymotionBatch.py | 2 ++ module/plugins/crypter/DataHuFolder.py | 2 ++ module/plugins/crypter/DdlstorageComFolder.py | 1 + module/plugins/crypter/DepositfilesComFolder.py | 2 ++ module/plugins/crypter/Dereferer.py | 2 ++ module/plugins/crypter/DevhostStFolder.py | 2 ++ module/plugins/crypter/DlProtectCom.py | 2 ++ module/plugins/crypter/DontKnowMe.py | 2 ++ module/plugins/crypter/DuckCryptInfo.py | 2 ++ module/plugins/crypter/DuploadOrgFolder.py | 2 ++ module/plugins/crypter/EasybytezComFolder.py | 2 ++ module/plugins/crypter/EmbeduploadCom.py | 6 ++++-- module/plugins/crypter/FilebeerInfoFolder.py | 1 + module/plugins/crypter/FilecloudIoFolder.py | 2 ++ module/plugins/crypter/FilefactoryComFolder.py | 2 ++ module/plugins/crypter/FilerNetFolder.py | 2 ++ module/plugins/crypter/FileserveComFolder.py | 2 ++ module/plugins/crypter/FilestubeCom.py | 2 ++ module/plugins/crypter/FiletramCom.py | 2 ++ module/plugins/crypter/FiredriveComFolder.py | 1 + module/plugins/crypter/FourChanOrg.py | 2 ++ module/plugins/crypter/FreakhareComFolder.py | 2 ++ module/plugins/crypter/FreetexthostCom.py | 2 ++ module/plugins/crypter/FshareVnFolder.py | 2 ++ module/plugins/crypter/GooGl.py | 2 ++ module/plugins/crypter/HoerbuchIn.py | 2 ++ module/plugins/crypter/HotfileComFolder.py | 1 + module/plugins/crypter/ILoadTo.py | 1 + module/plugins/crypter/ImgurComAlbum.py | 2 ++ module/plugins/crypter/JunocloudMeFolder.py | 2 ++ module/plugins/crypter/LetitbitNetFolder.py | 2 ++ module/plugins/crypter/LinkSaveIn.py | 2 ++ module/plugins/crypter/LinkdecrypterCom.py | 2 ++ module/plugins/crypter/LixIn.py | 2 ++ module/plugins/crypter/LofCc.py | 1 + module/plugins/crypter/MBLinkInfo.py | 1 + module/plugins/crypter/MediafireComFolder.py | 2 ++ module/plugins/crypter/MegaRapidCzFolder.py | 2 ++ module/plugins/crypter/Movie2kTo.py | 1 + module/plugins/crypter/MultiUpOrg.py | 2 ++ module/plugins/crypter/MultiloadCz.py | 6 ++++-- module/plugins/crypter/MultiuploadCom.py | 1 + module/plugins/crypter/NCryptIn.py | 2 ++ module/plugins/crypter/NetfolderIn.py | 2 ++ module/plugins/crypter/NosvideoCom.py | 2 ++ module/plugins/crypter/OneKhDe.py | 2 ++ module/plugins/crypter/OronComFolder.py | 1 + module/plugins/crypter/PastebinCom.py | 2 ++ module/plugins/crypter/QuickshareCzFolder.py | 2 ++ module/plugins/crypter/RSLayerCom.py | 1 + module/plugins/crypter/RapidfileshareNetFolder.py | 2 ++ module/plugins/crypter/RelinkUs.py | 2 ++ module/plugins/crypter/SafelinkingNet.py | 2 ++ module/plugins/crypter/SecuredIn.py | 1 + module/plugins/crypter/SexuriaCom.py | 2 ++ module/plugins/crypter/ShareLinksBiz.py | 2 ++ module/plugins/crypter/SpeedLoadOrgFolder.py | 1 + module/plugins/crypter/StealthTo.py | 1 + module/plugins/crypter/TnyCz.py | 2 ++ module/plugins/crypter/TrailerzoneInfo.py | 1 + module/plugins/crypter/TurbobitNetFolder.py | 2 ++ module/plugins/crypter/TusfilesNetFolder.py | 2 ++ module/plugins/crypter/UlozToFolder.py | 2 ++ module/plugins/crypter/UploadableChFolder.py | 2 ++ module/plugins/crypter/UploadedToFolder.py | 2 ++ module/plugins/crypter/WiiReloadedOrg.py | 1 + module/plugins/crypter/XFileSharingProFolder.py | 2 ++ module/plugins/crypter/XupPl.py | 2 ++ module/plugins/crypter/YoutubeBatch.py | 4 +++- 76 files changed, 139 insertions(+), 5 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/BitshareComFolder.py b/module/plugins/crypter/BitshareComFolder.py index b5c380356..aa0422249 100644 --- a/module/plugins/crypter/BitshareComFolder.py +++ b/module/plugins/crypter/BitshareComFolder.py @@ -9,6 +9,8 @@ class BitshareComFolder(SimpleCrypter): __version__ = "0.02" __pattern__ = r'http://(?:www\.)?bitshare\.com/\?d=\w+' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Bitshare.com folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/C1neonCom.py b/module/plugins/crypter/C1neonCom.py index f01bf890d..09f5d64b9 100644 --- a/module/plugins/crypter/C1neonCom.py +++ b/module/plugins/crypter/C1neonCom.py @@ -9,6 +9,7 @@ class C1neonCom(DeadCrypter): __version__ = "0.05" __pattern__ = r'http://(?:www\.)?c1neon\.com/.*?' + __config__ = [] __description__ = """C1neon.com decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/ChipDe.py b/module/plugins/crypter/ChipDe.py index 26805b5b8..befa9ddc2 100644 --- a/module/plugins/crypter/ChipDe.py +++ b/module/plugins/crypter/ChipDe.py @@ -10,6 +10,8 @@ class ChipDe(Crypter): __version__ = "0.1" __pattern__ = r'http://(?:www\.)?chip\.de/video/.*\.html' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Chip.de decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/CrockoComFolder.py b/module/plugins/crypter/CrockoComFolder.py index d101ccb84..ba19ae201 100644 --- a/module/plugins/crypter/CrockoComFolder.py +++ b/module/plugins/crypter/CrockoComFolder.py @@ -9,6 +9,8 @@ class CrockoComFolder(SimpleCrypter): __version__ = "0.01" __pattern__ = r'http://(?:www\.)?crocko\.com/f/.*' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Crocko.com folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/CryptItCom.py b/module/plugins/crypter/CryptItCom.py index 372938119..88de6b83c 100644 --- a/module/plugins/crypter/CryptItCom.py +++ b/module/plugins/crypter/CryptItCom.py @@ -9,6 +9,7 @@ class CryptItCom(DeadCrypter): __version__ = "0.11" __pattern__ = r'http://(?:www\.)?crypt-it\.com/(s|e|d|c)/\w+' + __config__ = [] __description__ = """Crypt-it.com decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/CzshareComFolder.py b/module/plugins/crypter/CzshareComFolder.py index f88693eb0..53e9e7c36 100644 --- a/module/plugins/crypter/CzshareComFolder.py +++ b/module/plugins/crypter/CzshareComFolder.py @@ -10,6 +10,8 @@ class CzshareComFolder(Crypter): __version__ = "0.2" __pattern__ = r'http://(?:www\.)?(czshare|sdilej)\.(com|cz)/folders/.*' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Czshare.com folder decrypter plugin, now Sdilej.cz""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/DDLMusicOrg.py b/module/plugins/crypter/DDLMusicOrg.py index bd5560ed1..ccd48cfac 100644 --- a/module/plugins/crypter/DDLMusicOrg.py +++ b/module/plugins/crypter/DDLMusicOrg.py @@ -13,6 +13,8 @@ class DDLMusicOrg(Crypter): __version__ = "0.3" __pattern__ = r'http://(?:www\.)?ddl-music\.org/captcha/ddlm_cr\d\.php\?\d+\?\d+' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Ddl-music.org decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/DailymotionBatch.py b/module/plugins/crypter/DailymotionBatch.py index 3b9b82a0c..928746745 100644 --- a/module/plugins/crypter/DailymotionBatch.py +++ b/module/plugins/crypter/DailymotionBatch.py @@ -15,6 +15,8 @@ class DailymotionBatch(Crypter): __version__ = "0.01" __pattern__ = r'https?://(?:www\.)?dailymotion\.com/((playlists/)?(?P<TYPE>playlist|user)/)?(?P<ID>[\w^_]+)(?(TYPE)|#)' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Dailymotion.com channel & playlist decrypter""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/DataHuFolder.py b/module/plugins/crypter/DataHuFolder.py index 525e201ce..13266e984 100644 --- a/module/plugins/crypter/DataHuFolder.py +++ b/module/plugins/crypter/DataHuFolder.py @@ -11,6 +11,8 @@ class DataHuFolder(SimpleCrypter): __version__ = "0.04" __pattern__ = r'http://(?:www\.)?data\.hu/dir/\w+' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Data.hu folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/DdlstorageComFolder.py b/module/plugins/crypter/DdlstorageComFolder.py index e3fd88084..f82ec054b 100644 --- a/module/plugins/crypter/DdlstorageComFolder.py +++ b/module/plugins/crypter/DdlstorageComFolder.py @@ -9,6 +9,7 @@ class DdlstorageComFolder(DeadCrypter): __version__ = "0.03" __pattern__ = r'https?://(?:www\.)?ddlstorage\.com/folder/\w+' + __config__ = [] __description__ = """DDLStorage.com folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/DepositfilesComFolder.py b/module/plugins/crypter/DepositfilesComFolder.py index 4a15fcef9..05a259daa 100644 --- a/module/plugins/crypter/DepositfilesComFolder.py +++ b/module/plugins/crypter/DepositfilesComFolder.py @@ -9,6 +9,8 @@ class DepositfilesComFolder(SimpleCrypter): __version__ = "0.01" __pattern__ = r'http://(?:www\.)?depositfiles\.com/folders/\w+' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Depositfiles.com folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/Dereferer.py b/module/plugins/crypter/Dereferer.py index b6e269000..711a8201a 100644 --- a/module/plugins/crypter/Dereferer.py +++ b/module/plugins/crypter/Dereferer.py @@ -13,6 +13,8 @@ class Dereferer(Crypter): __version__ = "0.1" __pattern__ = r'https?://([^/]+)/.*?(?P<url>(ht|f)tps?(://|%3A%2F%2F).*)' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Crypter for dereferers""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/DevhostStFolder.py b/module/plugins/crypter/DevhostStFolder.py index 1839257e0..8734b4dcc 100644 --- a/module/plugins/crypter/DevhostStFolder.py +++ b/module/plugins/crypter/DevhostStFolder.py @@ -16,6 +16,8 @@ class DevhostStFolder(SimpleCrypter): __version__ = "0.02" __pattern__ = r'http://(?:www\.)?d-h\.st/users/(?P<USER>\w+)(/\?fld_id=(?P<ID>\d+))?' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """d-h.st folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/DlProtectCom.py b/module/plugins/crypter/DlProtectCom.py index 4b5f8fc95..40bf521a8 100644 --- a/module/plugins/crypter/DlProtectCom.py +++ b/module/plugins/crypter/DlProtectCom.py @@ -14,6 +14,8 @@ class DlProtectCom(SimpleCrypter): __version__ = "0.01" __pattern__ = r'http://(?:www\.)?dl-protect\.com/((en|fr)/)?(?P<ID>\w+)' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Dl-protect.com decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/DontKnowMe.py b/module/plugins/crypter/DontKnowMe.py index 962e56bfd..89a0be6c4 100644 --- a/module/plugins/crypter/DontKnowMe.py +++ b/module/plugins/crypter/DontKnowMe.py @@ -13,6 +13,8 @@ class DontKnowMe(Crypter): __version__ = "0.1" __pattern__ = r'http://(?:www\.)?dontknow\.me/at/\?.+$' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """DontKnow.me decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/DuckCryptInfo.py b/module/plugins/crypter/DuckCryptInfo.py index 126a1f544..3bbdb0180 100644 --- a/module/plugins/crypter/DuckCryptInfo.py +++ b/module/plugins/crypter/DuckCryptInfo.py @@ -13,6 +13,8 @@ class DuckCryptInfo(Crypter): __version__ = "0.02" __pattern__ = r'http://(?:www\.)?duckcrypt\.info/(folder|wait|link)/(\w+)/?(\w*)' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """DuckCrypt.info decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/DuploadOrgFolder.py b/module/plugins/crypter/DuploadOrgFolder.py index d7d009b56..69da36e5b 100644 --- a/module/plugins/crypter/DuploadOrgFolder.py +++ b/module/plugins/crypter/DuploadOrgFolder.py @@ -9,6 +9,8 @@ class DuploadOrgFolder(SimpleCrypter): __version__ = "0.01" __pattern__ = r'http://(?:www\.)?dupload\.org/folder/\d+/' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Dupload.org folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/EasybytezComFolder.py b/module/plugins/crypter/EasybytezComFolder.py index 4ced45355..e89444271 100644 --- a/module/plugins/crypter/EasybytezComFolder.py +++ b/module/plugins/crypter/EasybytezComFolder.py @@ -9,6 +9,8 @@ class EasybytezComFolder(XFSPCrypter): __version__ = "0.09" __pattern__ = r'http://(?:www\.)?easybytez\.com/users/(?P<ID>\d+/\d+)' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Easybytez.com folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/EmbeduploadCom.py b/module/plugins/crypter/EmbeduploadCom.py index ea29891b9..4d862c7e0 100644 --- a/module/plugins/crypter/EmbeduploadCom.py +++ b/module/plugins/crypter/EmbeduploadCom.py @@ -11,8 +11,10 @@ class EmbeduploadCom(Crypter): __version__ = "0.02" __pattern__ = r'http://(?:www\.)?embedupload\.com/\?d=.*' - __config__ = [("preferedHoster", "str", "Prefered hoster list (bar-separated) ", "embedupload"), - ("ignoredHoster", "str", "Ignored hoster list (bar-separated) ", "")] + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True), + ("preferedHoster", "str", "Prefered hoster list (bar-separated)", "embedupload"), + ("ignoredHoster", "str", "Ignored hoster list (bar-separated)", "")] __description__ = """EmbedUpload.com decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/FilebeerInfoFolder.py b/module/plugins/crypter/FilebeerInfoFolder.py index 833616747..f2b839baa 100644 --- a/module/plugins/crypter/FilebeerInfoFolder.py +++ b/module/plugins/crypter/FilebeerInfoFolder.py @@ -9,6 +9,7 @@ class FilebeerInfoFolder(DeadCrypter): __version__ = "0.02" __pattern__ = r'http://(?:www\.)?filebeer\.info/(\d+~f).*' + __config__ = [] __description__ = """Filebeer.info folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/FilecloudIoFolder.py b/module/plugins/crypter/FilecloudIoFolder.py index c7d9e6d8a..40522d0f4 100644 --- a/module/plugins/crypter/FilecloudIoFolder.py +++ b/module/plugins/crypter/FilecloudIoFolder.py @@ -9,6 +9,8 @@ class FilecloudIoFolder(SimpleCrypter): __version__ = "0.02" __pattern__ = r'https?://(?:www\.)?(filecloud\.io|ifile\.it)/_\w+' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Filecloud.io folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/FilefactoryComFolder.py b/module/plugins/crypter/FilefactoryComFolder.py index 438ed533b..55ca7ddb0 100644 --- a/module/plugins/crypter/FilefactoryComFolder.py +++ b/module/plugins/crypter/FilefactoryComFolder.py @@ -9,6 +9,8 @@ class FilefactoryComFolder(SimpleCrypter): __version__ = "0.3" __pattern__ = r'https?://(?:www\.)?filefactory\.com/(?:f|folder)/\w+' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Filefactory.com folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/FilerNetFolder.py b/module/plugins/crypter/FilerNetFolder.py index fc9623d40..d37530a15 100644 --- a/module/plugins/crypter/FilerNetFolder.py +++ b/module/plugins/crypter/FilerNetFolder.py @@ -9,6 +9,8 @@ class FilerNetFolder(SimpleCrypter): __version__ = "0.4" __pattern__ = r'https?://filer\.net/folder/\w{16}' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Filer.net decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/FileserveComFolder.py b/module/plugins/crypter/FileserveComFolder.py index d30ccb6c1..ce19657ae 100644 --- a/module/plugins/crypter/FileserveComFolder.py +++ b/module/plugins/crypter/FileserveComFolder.py @@ -11,6 +11,8 @@ class FileserveComFolder(Crypter): __version__ = "0.11" __pattern__ = r'http://(?:www\.)?fileserve\.com/list/\w+' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """FileServe.com folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/FilestubeCom.py b/module/plugins/crypter/FilestubeCom.py index 097655316..c94bf3410 100644 --- a/module/plugins/crypter/FilestubeCom.py +++ b/module/plugins/crypter/FilestubeCom.py @@ -9,6 +9,8 @@ class FilestubeCom(SimpleCrypter): __version__ = "0.04" __pattern__ = r'http://(?:www\.)?filestube\.(?:com|to)/\w+' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Filestube.com decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/FiletramCom.py b/module/plugins/crypter/FiletramCom.py index ad5307d83..1cd1203e8 100644 --- a/module/plugins/crypter/FiletramCom.py +++ b/module/plugins/crypter/FiletramCom.py @@ -9,6 +9,8 @@ class FiletramCom(SimpleCrypter): __version__ = "0.02" __pattern__ = r'http://(?:www\.)?filetram\.com/[^/]+/.+' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Filetram.com decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/FiredriveComFolder.py b/module/plugins/crypter/FiredriveComFolder.py index 335c41ad3..71f0cacbd 100644 --- a/module/plugins/crypter/FiredriveComFolder.py +++ b/module/plugins/crypter/FiredriveComFolder.py @@ -9,6 +9,7 @@ class FiredriveComFolder(DeadCrypter): __version__ = "0.03" __pattern__ = r'https?://(?:www\.)?(firedrive|putlocker)\.com/share/.+' + __config__ = [] __description__ = """Firedrive.com folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/FourChanOrg.py b/module/plugins/crypter/FourChanOrg.py index a07760e2d..5126d65f3 100644 --- a/module/plugins/crypter/FourChanOrg.py +++ b/module/plugins/crypter/FourChanOrg.py @@ -13,6 +13,8 @@ class FourChanOrg(Crypter): __version__ = "0.3" __pattern__ = r'http://(?:www\.)?boards\.4chan\.org/\w+/res/(\d+)' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """4chan.org folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/FreakhareComFolder.py b/module/plugins/crypter/FreakhareComFolder.py index 8d3870247..b06ffafa2 100644 --- a/module/plugins/crypter/FreakhareComFolder.py +++ b/module/plugins/crypter/FreakhareComFolder.py @@ -11,6 +11,8 @@ class FreakhareComFolder(SimpleCrypter): __version__ = "0.02" __pattern__ = r'http://(?:www\.)?freakshare\.com/folder/.+' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Freakhare.com folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/FreetexthostCom.py b/module/plugins/crypter/FreetexthostCom.py index 3fe51b913..b2a19e624 100644 --- a/module/plugins/crypter/FreetexthostCom.py +++ b/module/plugins/crypter/FreetexthostCom.py @@ -11,6 +11,8 @@ class FreetexthostCom(SimpleCrypter): __version__ = "0.01" __pattern__ = r'http://(?:www\.)?freetexthost\.com/\w+' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Freetexthost.com decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/FshareVnFolder.py b/module/plugins/crypter/FshareVnFolder.py index 46375a6ae..df6ccc91b 100644 --- a/module/plugins/crypter/FshareVnFolder.py +++ b/module/plugins/crypter/FshareVnFolder.py @@ -9,6 +9,8 @@ class FshareVnFolder(SimpleCrypter): __version__ = "0.01" __pattern__ = r'http://(?:www\.)?fshare\.vn/folder/.*' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Fshare.vn folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/GooGl.py b/module/plugins/crypter/GooGl.py index c831fb2de..d9713ddce 100644 --- a/module/plugins/crypter/GooGl.py +++ b/module/plugins/crypter/GooGl.py @@ -10,6 +10,8 @@ class GooGl(Crypter): __version__ = "0.01" __pattern__ = r'https?://(?:www\.)?goo\.gl/\w+' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Goo.gl decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/HoerbuchIn.py b/module/plugins/crypter/HoerbuchIn.py index d35b2d8bc..c943ffc29 100644 --- a/module/plugins/crypter/HoerbuchIn.py +++ b/module/plugins/crypter/HoerbuchIn.py @@ -13,6 +13,8 @@ class HoerbuchIn(Crypter): __version__ = "0.6" __pattern__ = r'http://(?:www\.)?hoerbuch\.in/(wp/horbucher/\d+/.+/|tp/out\.php\?.+|protection/folder_\d+\.html)' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Hoerbuch.in decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/HotfileComFolder.py b/module/plugins/crypter/HotfileComFolder.py index c2c999275..b716db3ef 100644 --- a/module/plugins/crypter/HotfileComFolder.py +++ b/module/plugins/crypter/HotfileComFolder.py @@ -9,6 +9,7 @@ class HotfileComFolder(DeadCrypter): __version__ = "0.3" __pattern__ = r'https?://(?:www\.)?hotfile\.com/list/\w+/\w+' + __config__ = [] __description__ = """Hotfile.com folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/ILoadTo.py b/module/plugins/crypter/ILoadTo.py index 184b71d04..10d39ecda 100644 --- a/module/plugins/crypter/ILoadTo.py +++ b/module/plugins/crypter/ILoadTo.py @@ -9,6 +9,7 @@ class ILoadTo(DeadCrypter): __version__ = "0.11" __pattern__ = r'http://(?:www\.)?iload\.to/go/\d+-[\w.-]+/' + __config__ = [] __description__ = """Iload.to decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/ImgurComAlbum.py b/module/plugins/crypter/ImgurComAlbum.py index 3fd8b9b21..03bb51105 100644 --- a/module/plugins/crypter/ImgurComAlbum.py +++ b/module/plugins/crypter/ImgurComAlbum.py @@ -10,6 +10,8 @@ class ImgurComAlbum(SimpleCrypter): __version__ = "0.5" __pattern__ = r'https?://(?:www\.|m\.)?imgur\.com/(a|gallery|)/?\w{5,7}' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Imgur.com decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/JunocloudMeFolder.py b/module/plugins/crypter/JunocloudMeFolder.py index 32c68e191..ff54f9ab3 100644 --- a/module/plugins/crypter/JunocloudMeFolder.py +++ b/module/plugins/crypter/JunocloudMeFolder.py @@ -9,6 +9,8 @@ class JunocloudMeFolder(XFSPCrypter): __version__ = "0.02" __pattern__ = r'http://(?:www\.)?junocloud\.me/folders/(?P<ID>\d+/\w+)' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Junocloud.me folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/LetitbitNetFolder.py b/module/plugins/crypter/LetitbitNetFolder.py index ba40ded99..520e5828b 100644 --- a/module/plugins/crypter/LetitbitNetFolder.py +++ b/module/plugins/crypter/LetitbitNetFolder.py @@ -10,6 +10,8 @@ class LetitbitNetFolder(Crypter): __version__ = "0.1" __pattern__ = r'http://(?:www\.)?letitbit\.net/folder/\w+' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Letitbit.net folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index 644245e25..6db2e0109 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -19,6 +19,8 @@ class LinkSaveIn(SimpleCrypter): __version__ = "2.02" __pattern__ = r'http://(?:www\.)?linksave\.in/(?P<id>\w+)$' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """LinkSave.in decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/LinkdecrypterCom.py b/module/plugins/crypter/LinkdecrypterCom.py index 7cedf4d91..152d4fe29 100644 --- a/module/plugins/crypter/LinkdecrypterCom.py +++ b/module/plugins/crypter/LinkdecrypterCom.py @@ -10,6 +10,8 @@ class LinkdecrypterCom(Crypter): __version__ = "0.27" __pattern__ = None + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Linkdecrypter.com""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/LixIn.py b/module/plugins/crypter/LixIn.py index 4a9dc7769..44831b2db 100644 --- a/module/plugins/crypter/LixIn.py +++ b/module/plugins/crypter/LixIn.py @@ -11,6 +11,8 @@ class LixIn(Crypter): __version__ = "0.22" __pattern__ = r'http://(?:www\.)?lix\.in/(?P<ID>.+)' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Lix.in decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/LofCc.py b/module/plugins/crypter/LofCc.py index 720357a87..ffb9ec22e 100644 --- a/module/plugins/crypter/LofCc.py +++ b/module/plugins/crypter/LofCc.py @@ -9,6 +9,7 @@ class LofCc(DeadCrypter): __version__ = "0.21" __pattern__ = r'http://(?:www\.)?lof\.cc/(.*)' + __config__ = [] __description__ = """Lof.cc decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/MBLinkInfo.py b/module/plugins/crypter/MBLinkInfo.py index 3d03e6e13..38bbdfe9c 100644 --- a/module/plugins/crypter/MBLinkInfo.py +++ b/module/plugins/crypter/MBLinkInfo.py @@ -9,6 +9,7 @@ class MBLinkInfo(DeadCrypter): __version__ = "0.03" __pattern__ = r'http://(?:www\.)?mblink\.info/?\?id=(\d+)' + __config__ = [] __description__ = """MBLink.info decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/MediafireComFolder.py b/module/plugins/crypter/MediafireComFolder.py index 69bfe4092..cf50ca176 100644 --- a/module/plugins/crypter/MediafireComFolder.py +++ b/module/plugins/crypter/MediafireComFolder.py @@ -12,6 +12,8 @@ class MediafireComFolder(Crypter): __version__ = "0.14" __pattern__ = r'http://(?:www\.)?mediafire\.com/(folder/|\?sharekey=|\?\w{13}($|[/#]))' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Mediafire.com folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/MegaRapidCzFolder.py b/module/plugins/crypter/MegaRapidCzFolder.py index a9d6a2dc6..68393a533 100644 --- a/module/plugins/crypter/MegaRapidCzFolder.py +++ b/module/plugins/crypter/MegaRapidCzFolder.py @@ -9,6 +9,8 @@ class MegaRapidCzFolder(SimpleCrypter): __version__ = "0.02" __pattern__ = r'http://(?:www\.)?(share|mega)rapid\.cz/slozka/\d+/\w+' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Share-Rapid.com folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/Movie2kTo.py b/module/plugins/crypter/Movie2kTo.py index 019105428..0a8b3e5d2 100644 --- a/module/plugins/crypter/Movie2kTo.py +++ b/module/plugins/crypter/Movie2kTo.py @@ -9,6 +9,7 @@ class Movie2kTo(DeadCrypter): __version__ = "0.51" __pattern__ = r'http://(?:www\.)?movie2k\.to/(.*)\.html' + __config__ = [] __description__ = """Movie2k.to decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/MultiUpOrg.py b/module/plugins/crypter/MultiUpOrg.py index bf0e49a4c..607ef6e87 100644 --- a/module/plugins/crypter/MultiUpOrg.py +++ b/module/plugins/crypter/MultiUpOrg.py @@ -12,6 +12,8 @@ class MultiUpOrg(SimpleCrypter): __version__ = "0.02" __pattern__ = r'http://(?:www\.)?multiup\.org/(en|fr)/(?P<TYPE>project|download|miror)/\w+(/\w+)?' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """MultiUp.org crypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/MultiloadCz.py b/module/plugins/crypter/MultiloadCz.py index 5ee17225b..1a5b91ea9 100644 --- a/module/plugins/crypter/MultiloadCz.py +++ b/module/plugins/crypter/MultiloadCz.py @@ -10,8 +10,10 @@ class MultiloadCz(Crypter): __version__ = "0.4" __pattern__ = r'http://(?:[^/]*\.)?multiload\.cz/(stahnout|slozka)/.*' - __config__ = [("usedHoster", "str", "Prefered hoster list (bar-separated) ", ""), - ("ignoredHoster", "str", "Ignored hoster list (bar-separated) ", "")] + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True), + ("usedHoster", "str", "Prefered hoster list (bar-separated)", ""), + ("ignoredHoster", "str", "Ignored hoster list (bar-separated)", "")] __description__ = """Multiload.cz decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/MultiuploadCom.py b/module/plugins/crypter/MultiuploadCom.py index 0701a50ff..1ad21464d 100644 --- a/module/plugins/crypter/MultiuploadCom.py +++ b/module/plugins/crypter/MultiuploadCom.py @@ -9,6 +9,7 @@ class MultiuploadCom(DeadCrypter): __version__ = "0.02" __pattern__ = r'http://(?:www\.)?multiupload\.(com|nl)/\w+' + __config__ = [] __description__ = """ MultiUpload.com decrypter plugin """ __license__ = "GPLv3" diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index 7d82cba7a..9687e75c1 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -16,6 +16,8 @@ class NCryptIn(Crypter): __version__ = "1.33" __pattern__ = r'http://(?:www\.)?ncrypt\.in/(?P<type>folder|link|frame)-([^/\?]+)' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """NCrypt.in decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/NetfolderIn.py b/module/plugins/crypter/NetfolderIn.py index 01774362c..25c4d5d19 100644 --- a/module/plugins/crypter/NetfolderIn.py +++ b/module/plugins/crypter/NetfolderIn.py @@ -11,6 +11,8 @@ class NetfolderIn(SimpleCrypter): __version__ = "0.7" __pattern__ = r'http://(?:www\.)?netfolder\.in/((?P<id1>\w+)/\w+|folder\.php\?folder_id=(?P<id2>\w+))' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """NetFolder.in decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/NosvideoCom.py b/module/plugins/crypter/NosvideoCom.py index 982c4538c..a961f27c3 100644 --- a/module/plugins/crypter/NosvideoCom.py +++ b/module/plugins/crypter/NosvideoCom.py @@ -9,6 +9,8 @@ class NosvideoCom(SimpleCrypter): __version__ = "0.02" __pattern__ = r'http://(?:www\.)?nosvideo\.com/\?v=\w+' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Nosvideo.com decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/OneKhDe.py b/module/plugins/crypter/OneKhDe.py index 188a0a0ef..3b0cb5eb8 100644 --- a/module/plugins/crypter/OneKhDe.py +++ b/module/plugins/crypter/OneKhDe.py @@ -12,6 +12,8 @@ class OneKhDe(Crypter): __version__ = "0.1" __pattern__ = r'http://(?:www\.)?1kh\.de/f/' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """1kh.de decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/OronComFolder.py b/module/plugins/crypter/OronComFolder.py index d6474f641..0478f9ac4 100755 --- a/module/plugins/crypter/OronComFolder.py +++ b/module/plugins/crypter/OronComFolder.py @@ -9,6 +9,7 @@ class OronComFolder(DeadCrypter): __version__ = "0.11" __pattern__ = r'http://(?:www\.)?oron\.com/folder/\w+' + __config__ = [] __description__ = """Oron.com folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/PastebinCom.py b/module/plugins/crypter/PastebinCom.py index 375b84f50..60b05e3ec 100644 --- a/module/plugins/crypter/PastebinCom.py +++ b/module/plugins/crypter/PastebinCom.py @@ -9,6 +9,8 @@ class PastebinCom(SimpleCrypter): __version__ = "0.02" __pattern__ = r'http://(?:www\.)?pastebin\.com/\w+' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Pastebin.com decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/QuickshareCzFolder.py b/module/plugins/crypter/QuickshareCzFolder.py index d9048655e..cd95ac365 100644 --- a/module/plugins/crypter/QuickshareCzFolder.py +++ b/module/plugins/crypter/QuickshareCzFolder.py @@ -10,6 +10,8 @@ class QuickshareCzFolder(Crypter): __version__ = "0.1" __pattern__ = r'http://(?:www\.)?quickshare\.cz/slozka-\d+.*' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Quickshare.cz folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/RSLayerCom.py b/module/plugins/crypter/RSLayerCom.py index f86d6dfec..bfa7cd036 100644 --- a/module/plugins/crypter/RSLayerCom.py +++ b/module/plugins/crypter/RSLayerCom.py @@ -9,6 +9,7 @@ class RSLayerCom(DeadCrypter): __version__ = "0.21" __pattern__ = r'http://(?:www\.)?rs-layer\.com/directory-' + __config__ = [] __description__ = """RS-Layer.com decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/RapidfileshareNetFolder.py b/module/plugins/crypter/RapidfileshareNetFolder.py index cca52db20..437beae85 100644 --- a/module/plugins/crypter/RapidfileshareNetFolder.py +++ b/module/plugins/crypter/RapidfileshareNetFolder.py @@ -9,6 +9,8 @@ class RapidfileshareNetFolder(XFSPCrypter): __version__ = "0.02" __pattern__ = r'http://(?:www\.)?rapidfileshare\.net/users/\w+/\d+/\w+' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Rapidfileshare.net folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index 135268dcc..1a3d47cf8 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -15,6 +15,8 @@ class RelinkUs(Crypter): __version__ = "3.1" __pattern__ = r'http://(?:www\.)?relink\.us/(f/|((view|go)\.php\?id=))(?P<id>.+)' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Relink.us decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/SafelinkingNet.py b/module/plugins/crypter/SafelinkingNet.py index fbeaa406c..37bb4d37e 100644 --- a/module/plugins/crypter/SafelinkingNet.py +++ b/module/plugins/crypter/SafelinkingNet.py @@ -17,6 +17,8 @@ class SafelinkingNet(Crypter): __version__ = "0.1" __pattern__ = r'https?://(?:www\.)?safelinking\.net/([pd])/\w+' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Safelinking.net decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/SecuredIn.py b/module/plugins/crypter/SecuredIn.py index 2ad7819d8..b52be810f 100644 --- a/module/plugins/crypter/SecuredIn.py +++ b/module/plugins/crypter/SecuredIn.py @@ -9,6 +9,7 @@ class SecuredIn(DeadCrypter): __version__ = "0.21" __pattern__ = r'http://(?:www\.)?secured\.in/download-[\d]+-\w{8}\.html' + __config__ = [] __description__ = """Secured.in decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/SexuriaCom.py b/module/plugins/crypter/SexuriaCom.py index 20559e9d7..c086a86ff 100644 --- a/module/plugins/crypter/SexuriaCom.py +++ b/module/plugins/crypter/SexuriaCom.py @@ -11,6 +11,8 @@ class SexuriaCom(Crypter): __version__ = "0.01" __pattern__ = r'http://(?:www\.)?sexuria\.com/(v1/)?(Pornos_Kostenlos_.+?_(\d+)\.html|dl_links_\d+_\d+\.html|id=\d+\&part=\d+\&link=\d+)' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Sexuria.com decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/ShareLinksBiz.py b/module/plugins/crypter/ShareLinksBiz.py index 8e89c98f9..bac222d3f 100644 --- a/module/plugins/crypter/ShareLinksBiz.py +++ b/module/plugins/crypter/ShareLinksBiz.py @@ -14,6 +14,8 @@ class ShareLinksBiz(Crypter): __version__ = "1.14" __pattern__ = r'http://(?:www\.)?(share-links|s2l)\.biz/(?P<ID>_?\w+)' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Share-Links.biz decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/SpeedLoadOrgFolder.py b/module/plugins/crypter/SpeedLoadOrgFolder.py index 4b77b8f22..596ce3e85 100644 --- a/module/plugins/crypter/SpeedLoadOrgFolder.py +++ b/module/plugins/crypter/SpeedLoadOrgFolder.py @@ -9,6 +9,7 @@ class SpeedLoadOrgFolder(DeadCrypter): __version__ = "0.3" __pattern__ = r'http://(?:www\.)?speedload\.org/(\d+~f$|folder/\d+/)' + __config__ = [] __description__ = """Speedload decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/StealthTo.py b/module/plugins/crypter/StealthTo.py index 50a7d561f..e4c11b916 100644 --- a/module/plugins/crypter/StealthTo.py +++ b/module/plugins/crypter/StealthTo.py @@ -9,6 +9,7 @@ class StealthTo(DeadCrypter): __version__ = "0.2" __pattern__ = r'http://(?:www\.)?stealth\.to/folder/.+' + __config__ = [] __description__ = """Stealth.to decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/TnyCz.py b/module/plugins/crypter/TnyCz.py index b3e049a37..19f08c6cd 100644 --- a/module/plugins/crypter/TnyCz.py +++ b/module/plugins/crypter/TnyCz.py @@ -11,6 +11,8 @@ class TnyCz(SimpleCrypter): __version__ = "0.02" __pattern__ = r'http://(?:www\.)?tny\.cz/\w+' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Tny.cz decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/TrailerzoneInfo.py b/module/plugins/crypter/TrailerzoneInfo.py index 4b197c728..9d086b036 100644 --- a/module/plugins/crypter/TrailerzoneInfo.py +++ b/module/plugins/crypter/TrailerzoneInfo.py @@ -9,6 +9,7 @@ class TrailerzoneInfo(DeadCrypter): __version__ = "0.03" __pattern__ = r'http://(?:www\.)?trailerzone\.info/.*?' + __config__ = [] __description__ = """TrailerZone.info decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/TurbobitNetFolder.py b/module/plugins/crypter/TurbobitNetFolder.py index 1158c5cc1..1996d7255 100644 --- a/module/plugins/crypter/TurbobitNetFolder.py +++ b/module/plugins/crypter/TurbobitNetFolder.py @@ -12,6 +12,8 @@ class TurbobitNetFolder(SimpleCrypter): __version__ = "0.04" __pattern__ = r'http://(?:www\.)?turbobit\.net/download/folder/(?P<ID>\w+)' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Turbobit.net folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/TusfilesNetFolder.py b/module/plugins/crypter/TusfilesNetFolder.py index fb0842b63..3a9ab3ba9 100644 --- a/module/plugins/crypter/TusfilesNetFolder.py +++ b/module/plugins/crypter/TusfilesNetFolder.py @@ -13,6 +13,8 @@ class TusfilesNetFolder(XFSPCrypter): __version__ = "0.04" __pattern__ = r'https?://(?:www\.)?tusfiles\.net/go/(?P<ID>\w+)' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Tusfiles.net folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/UlozToFolder.py b/module/plugins/crypter/UlozToFolder.py index feaec2e8d..d212b34bd 100644 --- a/module/plugins/crypter/UlozToFolder.py +++ b/module/plugins/crypter/UlozToFolder.py @@ -10,6 +10,8 @@ class UlozToFolder(Crypter): __version__ = "0.2" __pattern__ = r'http://(?:www\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj\.cz|zachowajto\.pl)/(m|soubory)/.*' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Uloz.to folder decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/UploadableChFolder.py b/module/plugins/crypter/UploadableChFolder.py index 9e1e3aba8..c69cf1f92 100644 --- a/module/plugins/crypter/UploadableChFolder.py +++ b/module/plugins/crypter/UploadableChFolder.py @@ -9,6 +9,8 @@ class UploadableChFolder(SimpleCrypter): __version__ = "0.02" __pattern__ = r'http://(?:www\.)?uploadable\.ch/list/\w+' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """ Uploadable.ch folder decrypter plugin """ __license__ = "GPLv3" diff --git a/module/plugins/crypter/UploadedToFolder.py b/module/plugins/crypter/UploadedToFolder.py index 8f50f80aa..1d3c67df6 100644 --- a/module/plugins/crypter/UploadedToFolder.py +++ b/module/plugins/crypter/UploadedToFolder.py @@ -11,6 +11,8 @@ class UploadedToFolder(SimpleCrypter): __version__ = "0.4" __pattern__ = r'http://(?:www\.)?(uploaded|ul)\.(to|net)/(f|folder|list)/(?P<id>\w+)' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """UploadedTo decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/WiiReloadedOrg.py b/module/plugins/crypter/WiiReloadedOrg.py index 3b28faf4f..2e99c2de7 100644 --- a/module/plugins/crypter/WiiReloadedOrg.py +++ b/module/plugins/crypter/WiiReloadedOrg.py @@ -9,6 +9,7 @@ class WiiReloadedOrg(DeadCrypter): __version__ = "0.11" __pattern__ = r'http://(?:www\.)?wii-reloaded\.org/protect/get\.php\?i=.+' + __config__ = [] __description__ = """Wii-Reloaded.org decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/XFileSharingProFolder.py b/module/plugins/crypter/XFileSharingProFolder.py index e6fb2a7a5..a4144a257 100644 --- a/module/plugins/crypter/XFileSharingProFolder.py +++ b/module/plugins/crypter/XFileSharingProFolder.py @@ -11,6 +11,8 @@ class XFileSharingProFolder(XFSPCrypter): __version__ = "0.02" __pattern__ = r'^unmatchable$' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """XFileSharingPro dummy folder decrypter plugin for hook""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/XupPl.py b/module/plugins/crypter/XupPl.py index 3323d0ff4..6cb8601e3 100644 --- a/module/plugins/crypter/XupPl.py +++ b/module/plugins/crypter/XupPl.py @@ -9,6 +9,8 @@ class XupPl(Crypter): __version__ = "0.1" __pattern__ = r'https?://(?:[^/]*\.)?xup\.pl/.*' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Xup.pl decrypter plugin""" __license__ = "GPLv3" diff --git a/module/plugins/crypter/YoutubeBatch.py b/module/plugins/crypter/YoutubeBatch.py index c5bcdd72d..09a3466b5 100644 --- a/module/plugins/crypter/YoutubeBatch.py +++ b/module/plugins/crypter/YoutubeBatch.py @@ -15,7 +15,9 @@ class YoutubeBatch(Crypter): __version__ = "1.01" __pattern__ = r'https?://(?:www\.|m\.)?youtube\.com/(?P<TYPE>user|playlist|view_play_list)(/|.*?[?&](?:list|p)=)(?P<ID>[\w-]+)' - __config__ = [("likes", "bool", "Grab user (channel) liked videos", False), + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True), + ("likes", "bool", "Grab user (channel) liked videos", False), ("favorites", "bool", "Grab user (channel) favorite videos", False), ("uploads", "bool", "Grab channel unplaylisted videos", True)] -- cgit v1.2.3 From 302616d94f76ab8794b58d3d54b780cc58e86b06 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Tue, 28 Oct 2014 04:58:47 +0100 Subject: Code cosmetics: items() -> iteritems() --- module/plugins/crypter/ShareLinksBiz.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/ShareLinksBiz.py b/module/plugins/crypter/ShareLinksBiz.py index bac222d3f..f45aa4570 100644 --- a/module/plugins/crypter/ShareLinksBiz.py +++ b/module/plugins/crypter/ShareLinksBiz.py @@ -142,7 +142,7 @@ class ShareLinksBiz(Crypter): def _resolveCoords(self, coords, captchaMap): x, y = coords - for rect, href in captchaMap.items(): + for rect, href in captchaMap.iteritems(): x1, y1, x2, y2 = rect if (x >= x1 and x <= x2) and (y >= y1 and y <= y2): return href -- cgit v1.2.3 From 8b3589dd394d81177bf4680dddb5bdb9506b89ea Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Tue, 28 Oct 2014 16:04:10 +0100 Subject: Update plugins to last changes --- module/plugins/crypter/ShareLinksBiz.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/ShareLinksBiz.py b/module/plugins/crypter/ShareLinksBiz.py index f45aa4570..7c4d769c6 100644 --- a/module/plugins/crypter/ShareLinksBiz.py +++ b/module/plugins/crypter/ShareLinksBiz.py @@ -124,9 +124,7 @@ class ShareLinksBiz(Crypter): href = self._resolveCoords(coords, captchaMap) if href is None: self.invalidCaptcha() - self.setWait(5, False) - self.wait() - self.retry() + self.retry(wait_time=5) url = self.baseUrl + href self.html = self.load(url, decode=True) @@ -156,9 +154,7 @@ class ShareLinksBiz(Crypter): if self.captcha: if "Your choice was wrong" in self.html: self.invalidCaptcha() - self.setWait(5) - self.wait() - self.retry() + self.retry(wait_time=5) else: self.correctCaptcha() -- cgit v1.2.3 From 34984dae733c3f3d47b41a0acfba3724d53c65a1 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Tue, 28 Oct 2014 16:52:10 +0100 Subject: Code cosmetics: plugin class attributes --- module/plugins/crypter/BitshareComFolder.py | 8 ++++---- module/plugins/crypter/C1neonCom.py | 8 ++++---- module/plugins/crypter/ChipDe.py | 8 ++++---- module/plugins/crypter/CrockoComFolder.py | 8 ++++---- module/plugins/crypter/CryptItCom.py | 8 ++++---- module/plugins/crypter/CzshareComFolder.py | 8 ++++---- module/plugins/crypter/DDLMusicOrg.py | 8 ++++---- module/plugins/crypter/DailymotionBatch.py | 8 ++++---- module/plugins/crypter/DataHuFolder.py | 10 +++++----- module/plugins/crypter/DdlstorageComFolder.py | 10 +++++----- module/plugins/crypter/DepositfilesComFolder.py | 8 ++++---- module/plugins/crypter/Dereferer.py | 8 ++++---- module/plugins/crypter/DevhostStFolder.py | 10 +++++----- module/plugins/crypter/DlProtectCom.py | 8 ++++---- module/plugins/crypter/DontKnowMe.py | 8 ++++---- module/plugins/crypter/DuckCryptInfo.py | 8 ++++---- module/plugins/crypter/DuploadOrgFolder.py | 8 ++++---- module/plugins/crypter/EasybytezComFolder.py | 8 ++++---- module/plugins/crypter/EmbeduploadCom.py | 8 ++++---- module/plugins/crypter/FilebeerInfoFolder.py | 8 ++++---- module/plugins/crypter/FilecloudIoFolder.py | 8 ++++---- module/plugins/crypter/FilefactoryComFolder.py | 8 ++++---- module/plugins/crypter/FilerNetFolder.py | 10 +++++----- module/plugins/crypter/FileserveComFolder.py | 8 ++++---- module/plugins/crypter/FilestubeCom.py | 8 ++++---- module/plugins/crypter/FiletramCom.py | 10 +++++----- module/plugins/crypter/FiredriveComFolder.py | 8 ++++---- module/plugins/crypter/FourChanOrg.py | 8 ++++---- module/plugins/crypter/FreakhareComFolder.py | 8 ++++---- module/plugins/crypter/FreetexthostCom.py | 8 ++++---- module/plugins/crypter/FshareVnFolder.py | 8 ++++---- module/plugins/crypter/GooGl.py | 8 ++++---- module/plugins/crypter/HoerbuchIn.py | 10 +++++----- module/plugins/crypter/HotfileComFolder.py | 8 ++++---- module/plugins/crypter/ILoadTo.py | 8 ++++---- module/plugins/crypter/ImgurComAlbum.py | 8 ++++---- module/plugins/crypter/JunocloudMeFolder.py | 8 ++++---- module/plugins/crypter/LetitbitNetFolder.py | 10 +++++----- module/plugins/crypter/LinkSaveIn.py | 8 ++++---- module/plugins/crypter/LinkdecrypterCom.py | 10 +++++----- module/plugins/crypter/LixIn.py | 8 ++++---- module/plugins/crypter/LofCc.py | 8 ++++---- module/plugins/crypter/MBLinkInfo.py | 10 +++++----- module/plugins/crypter/MediafireComFolder.py | 8 ++++---- module/plugins/crypter/MegaRapidCzFolder.py | 8 ++++---- module/plugins/crypter/Movie2kTo.py | 8 ++++---- module/plugins/crypter/MultiUpOrg.py | 8 ++++---- module/plugins/crypter/MultiloadCz.py | 8 ++++---- module/plugins/crypter/MultiuploadCom.py | 8 ++++---- module/plugins/crypter/NCryptIn.py | 10 +++++----- module/plugins/crypter/NetfolderIn.py | 10 +++++----- module/plugins/crypter/NosvideoCom.py | 8 ++++---- module/plugins/crypter/OneKhDe.py | 8 ++++---- module/plugins/crypter/OronComFolder.py | 8 ++++---- module/plugins/crypter/PastebinCom.py | 8 ++++---- module/plugins/crypter/QuickshareCzFolder.py | 8 ++++---- module/plugins/crypter/RSLayerCom.py | 8 ++++---- module/plugins/crypter/RapidfileshareNetFolder.py | 8 ++++---- module/plugins/crypter/RelinkUs.py | 10 +++++----- module/plugins/crypter/SafelinkingNet.py | 8 ++++---- module/plugins/crypter/SecuredIn.py | 8 ++++---- module/plugins/crypter/SexuriaCom.py | 8 ++++---- module/plugins/crypter/ShareLinksBiz.py | 8 ++++---- module/plugins/crypter/SpeedLoadOrgFolder.py | 8 ++++---- module/plugins/crypter/StealthTo.py | 8 ++++---- module/plugins/crypter/TnyCz.py | 8 ++++---- module/plugins/crypter/TrailerzoneInfo.py | 8 ++++---- module/plugins/crypter/TurbobitNetFolder.py | 10 +++++----- module/plugins/crypter/TusfilesNetFolder.py | 10 +++++----- module/plugins/crypter/UlozToFolder.py | 8 ++++---- module/plugins/crypter/UploadableChFolder.py | 10 +++++----- module/plugins/crypter/UploadedToFolder.py | 8 ++++---- module/plugins/crypter/WiiReloadedOrg.py | 8 ++++---- module/plugins/crypter/XFileSharingProFolder.py | 8 ++++---- module/plugins/crypter/XupPl.py | 8 ++++---- module/plugins/crypter/YoutubeBatch.py | 8 ++++---- 76 files changed, 319 insertions(+), 319 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/BitshareComFolder.py b/module/plugins/crypter/BitshareComFolder.py index aa0422249..90829203a 100644 --- a/module/plugins/crypter/BitshareComFolder.py +++ b/module/plugins/crypter/BitshareComFolder.py @@ -4,8 +4,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class BitshareComFolder(SimpleCrypter): - __name__ = "BitshareComFolder" - __type__ = "crypter" + __name__ = "BitshareComFolder" + __type__ = "crypter" __version__ = "0.02" __pattern__ = r'http://(?:www\.)?bitshare\.com/\?d=\w+' @@ -13,8 +13,8 @@ class BitshareComFolder(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Bitshare.com folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("stickell", "l.stickell@yahoo.it")] + __license__ = "GPLv3" + __authors__ = [("stickell", "l.stickell@yahoo.it")] LINK_PATTERN = r'<a href="(http://bitshare\.com/files/.+)">.+</a></td>' diff --git a/module/plugins/crypter/C1neonCom.py b/module/plugins/crypter/C1neonCom.py index 09f5d64b9..18c0f1e73 100644 --- a/module/plugins/crypter/C1neonCom.py +++ b/module/plugins/crypter/C1neonCom.py @@ -4,13 +4,13 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class C1neonCom(DeadCrypter): - __name__ = "C1neonCom" - __type__ = "crypter" + __name__ = "C1neonCom" + __type__ = "crypter" __version__ = "0.05" __pattern__ = r'http://(?:www\.)?c1neon\.com/.*?' __config__ = [] __description__ = """C1neon.com decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("godofdream", "soilfiction@gmail.com")] + __license__ = "GPLv3" + __authors__ = [("godofdream", "soilfiction@gmail.com")] diff --git a/module/plugins/crypter/ChipDe.py b/module/plugins/crypter/ChipDe.py index befa9ddc2..59ed6559e 100644 --- a/module/plugins/crypter/ChipDe.py +++ b/module/plugins/crypter/ChipDe.py @@ -5,8 +5,8 @@ from module.plugins.Crypter import Crypter class ChipDe(Crypter): - __name__ = "ChipDe" - __type__ = "crypter" + __name__ = "ChipDe" + __type__ = "crypter" __version__ = "0.1" __pattern__ = r'http://(?:www\.)?chip\.de/video/.*\.html' @@ -14,8 +14,8 @@ class ChipDe(Crypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Chip.de decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("4Christopher", "4Christopher@gmx.de")] + __license__ = "GPLv3" + __authors__ = [("4Christopher", "4Christopher@gmx.de")] def decrypt(self, pyfile): diff --git a/module/plugins/crypter/CrockoComFolder.py b/module/plugins/crypter/CrockoComFolder.py index ba19ae201..64a1f8bce 100644 --- a/module/plugins/crypter/CrockoComFolder.py +++ b/module/plugins/crypter/CrockoComFolder.py @@ -4,8 +4,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class CrockoComFolder(SimpleCrypter): - __name__ = "CrockoComFolder" - __type__ = "crypter" + __name__ = "CrockoComFolder" + __type__ = "crypter" __version__ = "0.01" __pattern__ = r'http://(?:www\.)?crocko\.com/f/.*' @@ -13,8 +13,8 @@ class CrockoComFolder(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Crocko.com folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + __license__ = "GPLv3" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] LINK_PATTERN = r'<td class="last"><a href="([^"]+)">download</a>' diff --git a/module/plugins/crypter/CryptItCom.py b/module/plugins/crypter/CryptItCom.py index 88de6b83c..2c91535bd 100644 --- a/module/plugins/crypter/CryptItCom.py +++ b/module/plugins/crypter/CryptItCom.py @@ -4,13 +4,13 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class CryptItCom(DeadCrypter): - __name__ = "CryptItCom" - __type__ = "crypter" + __name__ = "CryptItCom" + __type__ = "crypter" __version__ = "0.11" __pattern__ = r'http://(?:www\.)?crypt-it\.com/(s|e|d|c)/\w+' __config__ = [] __description__ = """Crypt-it.com decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("jeix", "jeix@hasnomail.de")] + __license__ = "GPLv3" + __authors__ = [("jeix", "jeix@hasnomail.de")] diff --git a/module/plugins/crypter/CzshareComFolder.py b/module/plugins/crypter/CzshareComFolder.py index 53e9e7c36..669f469b2 100644 --- a/module/plugins/crypter/CzshareComFolder.py +++ b/module/plugins/crypter/CzshareComFolder.py @@ -5,8 +5,8 @@ from module.plugins.Crypter import Crypter class CzshareComFolder(Crypter): - __name__ = "CzshareComFolder" - __type__ = "crypter" + __name__ = "CzshareComFolder" + __type__ = "crypter" __version__ = "0.2" __pattern__ = r'http://(?:www\.)?(czshare|sdilej)\.(com|cz)/folders/.*' @@ -14,8 +14,8 @@ class CzshareComFolder(Crypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Czshare.com folder decrypter plugin, now Sdilej.cz""" - __license__ = "GPLv3" - __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + __license__ = "GPLv3" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] FOLDER_PATTERN = r'<tr class="subdirectory">\s*<td>\s*<table>(.*?)</table>' diff --git a/module/plugins/crypter/DDLMusicOrg.py b/module/plugins/crypter/DDLMusicOrg.py index ccd48cfac..c2524b180 100644 --- a/module/plugins/crypter/DDLMusicOrg.py +++ b/module/plugins/crypter/DDLMusicOrg.py @@ -8,8 +8,8 @@ from module.plugins.Crypter import Crypter class DDLMusicOrg(Crypter): - __name__ = "DDLMusicOrg" - __type__ = "crypter" + __name__ = "DDLMusicOrg" + __type__ = "crypter" __version__ = "0.3" __pattern__ = r'http://(?:www\.)?ddl-music\.org/captcha/ddlm_cr\d\.php\?\d+\?\d+' @@ -17,8 +17,8 @@ class DDLMusicOrg(Crypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Ddl-music.org decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("mkaay", "mkaay@mkaay.de")] + __license__ = "GPLv3" + __authors__ = [("mkaay", "mkaay@mkaay.de")] def setup(self): diff --git a/module/plugins/crypter/DailymotionBatch.py b/module/plugins/crypter/DailymotionBatch.py index 928746745..28e01c084 100644 --- a/module/plugins/crypter/DailymotionBatch.py +++ b/module/plugins/crypter/DailymotionBatch.py @@ -10,8 +10,8 @@ from module.utils import save_join class DailymotionBatch(Crypter): - __name__ = "DailymotionBatch" - __type__ = "crypter" + __name__ = "DailymotionBatch" + __type__ = "crypter" __version__ = "0.01" __pattern__ = r'https?://(?:www\.)?dailymotion\.com/((playlists/)?(?P<TYPE>playlist|user)/)?(?P<ID>[\w^_]+)(?(TYPE)|#)' @@ -19,8 +19,8 @@ class DailymotionBatch(Crypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Dailymotion.com channel & playlist decrypter""" - __license__ = "GPLv3" - __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + __license__ = "GPLv3" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] def api_response(self, ref, req=None): diff --git a/module/plugins/crypter/DataHuFolder.py b/module/plugins/crypter/DataHuFolder.py index 13266e984..9b52fbdda 100644 --- a/module/plugins/crypter/DataHuFolder.py +++ b/module/plugins/crypter/DataHuFolder.py @@ -6,8 +6,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DataHuFolder(SimpleCrypter): - __name__ = "DataHuFolder" - __type__ = "crypter" + __name__ = "DataHuFolder" + __type__ = "crypter" __version__ = "0.04" __pattern__ = r'http://(?:www\.)?data\.hu/dir/\w+' @@ -15,9 +15,9 @@ class DataHuFolder(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Data.hu folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("crash", None), - ("stickell", "l.stickell@yahoo.it")] + __license__ = "GPLv3" + __authors__ = [("crash", None), + ("stickell", "l.stickell@yahoo.it")] LINK_PATTERN = r'<a href=\'(http://data\.hu/get/.+)\' target=\'_blank\'>\1</a>' diff --git a/module/plugins/crypter/DdlstorageComFolder.py b/module/plugins/crypter/DdlstorageComFolder.py index f82ec054b..6ad586434 100644 --- a/module/plugins/crypter/DdlstorageComFolder.py +++ b/module/plugins/crypter/DdlstorageComFolder.py @@ -4,17 +4,17 @@ from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class DdlstorageComFolder(DeadCrypter): - __name__ = "DdlstorageComFolder" - __type__ = "crypter" + __name__ = "DdlstorageComFolder" + __type__ = "crypter" __version__ = "0.03" __pattern__ = r'https?://(?:www\.)?ddlstorage\.com/folder/\w+' __config__ = [] __description__ = """DDLStorage.com folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("godofdream", "soilfiction@gmail.com"), - ("stickell", "l.stickell@yahoo.it")] + __license__ = "GPLv3" + __authors__ = [("godofdream", "soilfiction@gmail.com"), + ("stickell", "l.stickell@yahoo.it")] getInfo = create_getInfo(SpeedLoadOrg) diff --git a/module/plugins/crypter/DepositfilesComFolder.py b/module/plugins/crypter/DepositfilesComFolder.py index 05a259daa..79c31c97a 100644 --- a/module/plugins/crypter/DepositfilesComFolder.py +++ b/module/plugins/crypter/DepositfilesComFolder.py @@ -4,8 +4,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DepositfilesComFolder(SimpleCrypter): - __name__ = "DepositfilesComFolder" - __type__ = "crypter" + __name__ = "DepositfilesComFolder" + __type__ = "crypter" __version__ = "0.01" __pattern__ = r'http://(?:www\.)?depositfiles\.com/folders/\w+' @@ -13,8 +13,8 @@ class DepositfilesComFolder(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Depositfiles.com folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + __license__ = "GPLv3" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] LINK_PATTERN = r'<div class="progressName"[^>]*>\s*<a href="([^"]+)" title="[^"]*" target="_blank">' diff --git a/module/plugins/crypter/Dereferer.py b/module/plugins/crypter/Dereferer.py index 711a8201a..70b42b00c 100644 --- a/module/plugins/crypter/Dereferer.py +++ b/module/plugins/crypter/Dereferer.py @@ -8,8 +8,8 @@ from module.plugins.Crypter import Crypter class Dereferer(Crypter): - __name__ = "Dereferer" - __type__ = "crypter" + __name__ = "Dereferer" + __type__ = "crypter" __version__ = "0.1" __pattern__ = r'https?://([^/]+)/.*?(?P<url>(ht|f)tps?(://|%3A%2F%2F).*)' @@ -17,8 +17,8 @@ class Dereferer(Crypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Crypter for dereferers""" - __license__ = "GPLv3" - __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + __license__ = "GPLv3" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] def decrypt(self, pyfile): diff --git a/module/plugins/crypter/DevhostStFolder.py b/module/plugins/crypter/DevhostStFolder.py index 8734b4dcc..397a72ac4 100644 --- a/module/plugins/crypter/DevhostStFolder.py +++ b/module/plugins/crypter/DevhostStFolder.py @@ -11,8 +11,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DevhostStFolder(SimpleCrypter): - __name__ = "DevhostStFolder" - __type__ = "crypter" + __name__ = "DevhostStFolder" + __type__ = "crypter" __version__ = "0.02" __pattern__ = r'http://(?:www\.)?d-h\.st/users/(?P<USER>\w+)(/\?fld_id=(?P<ID>\d+))?' @@ -20,9 +20,9 @@ class DevhostStFolder(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """d-h.st folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de"), - ("Walter Purcaro", "vuolter@gmail.com")] + __license__ = "GPLv3" + __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de"), + ("Walter Purcaro", "vuolter@gmail.com")] LINK_PATTERN = r'(?:/> |;">)<a href="(.+?)"(?!>Back to \w+<)' diff --git a/module/plugins/crypter/DlProtectCom.py b/module/plugins/crypter/DlProtectCom.py index 40bf521a8..5efb03c15 100644 --- a/module/plugins/crypter/DlProtectCom.py +++ b/module/plugins/crypter/DlProtectCom.py @@ -9,8 +9,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DlProtectCom(SimpleCrypter): - __name__ = "DlProtectCom" - __type__ = "crypter" + __name__ = "DlProtectCom" + __type__ = "crypter" __version__ = "0.01" __pattern__ = r'http://(?:www\.)?dl-protect\.com/((en|fr)/)?(?P<ID>\w+)' @@ -18,8 +18,8 @@ class DlProtectCom(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Dl-protect.com decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + __license__ = "GPLv3" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] OFFLINE_PATTERN = r'>Unfortunately, the link you are looking for is not found' diff --git a/module/plugins/crypter/DontKnowMe.py b/module/plugins/crypter/DontKnowMe.py index 89a0be6c4..6783abd7c 100644 --- a/module/plugins/crypter/DontKnowMe.py +++ b/module/plugins/crypter/DontKnowMe.py @@ -8,8 +8,8 @@ from module.plugins.Crypter import Crypter class DontKnowMe(Crypter): - __name__ = "DontKnowMe" - __type__ = "crypter" + __name__ = "DontKnowMe" + __type__ = "crypter" __version__ = "0.1" __pattern__ = r'http://(?:www\.)?dontknow\.me/at/\?.+$' @@ -17,8 +17,8 @@ class DontKnowMe(Crypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """DontKnow.me decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("selaux", None)] + __license__ = "GPLv3" + __authors__ = [("selaux", None)] LINK_PATTERN = r'http://dontknow\.me/at/\?(.+)$' diff --git a/module/plugins/crypter/DuckCryptInfo.py b/module/plugins/crypter/DuckCryptInfo.py index 3bbdb0180..5bd20711e 100644 --- a/module/plugins/crypter/DuckCryptInfo.py +++ b/module/plugins/crypter/DuckCryptInfo.py @@ -8,8 +8,8 @@ from module.plugins.Crypter import Crypter class DuckCryptInfo(Crypter): - __name__ = "DuckCryptInfo" - __type__ = "crypter" + __name__ = "DuckCryptInfo" + __type__ = "crypter" __version__ = "0.02" __pattern__ = r'http://(?:www\.)?duckcrypt\.info/(folder|wait|link)/(\w+)/?(\w*)' @@ -17,8 +17,8 @@ class DuckCryptInfo(Crypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """DuckCrypt.info decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("godofdream", "soilfiction@gmail.com")] + __license__ = "GPLv3" + __authors__ = [("godofdream", "soilfiction@gmail.com")] TIMER_PATTERN = r'<span id="timer">(.*)</span>' diff --git a/module/plugins/crypter/DuploadOrgFolder.py b/module/plugins/crypter/DuploadOrgFolder.py index 69da36e5b..0daf009af 100644 --- a/module/plugins/crypter/DuploadOrgFolder.py +++ b/module/plugins/crypter/DuploadOrgFolder.py @@ -4,8 +4,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DuploadOrgFolder(SimpleCrypter): - __name__ = "DuploadOrgFolder" - __type__ = "crypter" + __name__ = "DuploadOrgFolder" + __type__ = "crypter" __version__ = "0.01" __pattern__ = r'http://(?:www\.)?dupload\.org/folder/\d+/' @@ -13,8 +13,8 @@ class DuploadOrgFolder(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Dupload.org folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("stickell", "l.stickell@yahoo.it")] + __license__ = "GPLv3" + __authors__ = [("stickell", "l.stickell@yahoo.it")] LINK_PATTERN = r'<td style="[^"]+"><a href="(http://[^"]+)" target="_blank">[^<]+</a></td>' diff --git a/module/plugins/crypter/EasybytezComFolder.py b/module/plugins/crypter/EasybytezComFolder.py index e89444271..5f8daf55c 100644 --- a/module/plugins/crypter/EasybytezComFolder.py +++ b/module/plugins/crypter/EasybytezComFolder.py @@ -4,8 +4,8 @@ from module.plugins.internal.XFSPCrypter import XFSPCrypter class EasybytezComFolder(XFSPCrypter): - __name__ = "EasybytezComFolder" - __type__ = "crypter" + __name__ = "EasybytezComFolder" + __type__ = "crypter" __version__ = "0.09" __pattern__ = r'http://(?:www\.)?easybytez\.com/users/(?P<ID>\d+/\d+)' @@ -13,8 +13,8 @@ class EasybytezComFolder(XFSPCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Easybytez.com folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("stickell", "l.stickell@yahoo.it")] + __license__ = "GPLv3" + __authors__ = [("stickell", "l.stickell@yahoo.it")] HOSTER_NAME = "easybytez.com" diff --git a/module/plugins/crypter/EmbeduploadCom.py b/module/plugins/crypter/EmbeduploadCom.py index 4d862c7e0..7f06c99bd 100644 --- a/module/plugins/crypter/EmbeduploadCom.py +++ b/module/plugins/crypter/EmbeduploadCom.py @@ -6,8 +6,8 @@ from module.network.HTTPRequest import BadHeader class EmbeduploadCom(Crypter): - __name__ = "EmbeduploadCom" - __type__ = "crypter" + __name__ = "EmbeduploadCom" + __type__ = "crypter" __version__ = "0.02" __pattern__ = r'http://(?:www\.)?embedupload\.com/\?d=.*' @@ -17,8 +17,8 @@ class EmbeduploadCom(Crypter): ("ignoredHoster", "str", "Ignored hoster list (bar-separated)", "")] __description__ = """EmbedUpload.com decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + __license__ = "GPLv3" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] LINK_PATTERN = r'<div id="([^"]+)"[^>]*>\s*<a href="([^"]+)" target="_blank" (?:class="DownloadNow"|style="color:red")>' diff --git a/module/plugins/crypter/FilebeerInfoFolder.py b/module/plugins/crypter/FilebeerInfoFolder.py index f2b839baa..fd2843873 100644 --- a/module/plugins/crypter/FilebeerInfoFolder.py +++ b/module/plugins/crypter/FilebeerInfoFolder.py @@ -4,13 +4,13 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class FilebeerInfoFolder(DeadCrypter): - __name__ = "FilebeerInfoFolder" - __type__ = "crypter" + __name__ = "FilebeerInfoFolder" + __type__ = "crypter" __version__ = "0.02" __pattern__ = r'http://(?:www\.)?filebeer\.info/(\d+~f).*' __config__ = [] __description__ = """Filebeer.info folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + __license__ = "GPLv3" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/crypter/FilecloudIoFolder.py b/module/plugins/crypter/FilecloudIoFolder.py index 40522d0f4..c78dcb490 100644 --- a/module/plugins/crypter/FilecloudIoFolder.py +++ b/module/plugins/crypter/FilecloudIoFolder.py @@ -4,8 +4,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilecloudIoFolder(SimpleCrypter): - __name__ = "FilecloudIoFolder" - __type__ = "crypter" + __name__ = "FilecloudIoFolder" + __type__ = "crypter" __version__ = "0.02" __pattern__ = r'https?://(?:www\.)?(filecloud\.io|ifile\.it)/_\w+' @@ -13,8 +13,8 @@ class FilecloudIoFolder(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Filecloud.io folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + __license__ = "GPLv3" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] LINK_PATTERN = r'href="(http://filecloud\.io/\w+)" title' diff --git a/module/plugins/crypter/FilefactoryComFolder.py b/module/plugins/crypter/FilefactoryComFolder.py index 55ca7ddb0..996e24f05 100644 --- a/module/plugins/crypter/FilefactoryComFolder.py +++ b/module/plugins/crypter/FilefactoryComFolder.py @@ -4,8 +4,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilefactoryComFolder(SimpleCrypter): - __name__ = "FilefactoryComFolder" - __type__ = "crypter" + __name__ = "FilefactoryComFolder" + __type__ = "crypter" __version__ = "0.3" __pattern__ = r'https?://(?:www\.)?filefactory\.com/(?:f|folder)/\w+' @@ -13,8 +13,8 @@ class FilefactoryComFolder(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Filefactory.com folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("stickell", "l.stickell@yahoo.it")] + __license__ = "GPLv3" + __authors__ = [("stickell", "l.stickell@yahoo.it")] LINK_PATTERN = r'<td><a href="([^"]+)">' diff --git a/module/plugins/crypter/FilerNetFolder.py b/module/plugins/crypter/FilerNetFolder.py index d37530a15..2def580a4 100644 --- a/module/plugins/crypter/FilerNetFolder.py +++ b/module/plugins/crypter/FilerNetFolder.py @@ -4,8 +4,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilerNetFolder(SimpleCrypter): - __name__ = "FilerNetFolder" - __type__ = "crypter" + __name__ = "FilerNetFolder" + __type__ = "crypter" __version__ = "0.4" __pattern__ = r'https?://filer\.net/folder/\w{16}' @@ -13,9 +13,9 @@ class FilerNetFolder(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Filer.net decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("nath_schwarz", "nathan.notwhite@gmail.com"), - ("stickell", "l.stickell@yahoo.it")] + __license__ = "GPLv3" + __authors__ = [("nath_schwarz", "nathan.notwhite@gmail.com"), + ("stickell", "l.stickell@yahoo.it")] LINK_PATTERN = r'href="(/get/\w{16})">(?!<)' diff --git a/module/plugins/crypter/FileserveComFolder.py b/module/plugins/crypter/FileserveComFolder.py index ce19657ae..e6b35fd36 100644 --- a/module/plugins/crypter/FileserveComFolder.py +++ b/module/plugins/crypter/FileserveComFolder.py @@ -6,8 +6,8 @@ from module.plugins.Crypter import Crypter class FileserveComFolder(Crypter): - __name__ = "FileserveComFolder" - __type__ = "crypter" + __name__ = "FileserveComFolder" + __type__ = "crypter" __version__ = "0.11" __pattern__ = r'http://(?:www\.)?fileserve\.com/list/\w+' @@ -15,8 +15,8 @@ class FileserveComFolder(Crypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """FileServe.com folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("fionnc", "fionnc@gmail.com")] + __license__ = "GPLv3" + __authors__ = [("fionnc", "fionnc@gmail.com")] FOLDER_PATTERN = r'<table class="file_list">(.*?)</table>' diff --git a/module/plugins/crypter/FilestubeCom.py b/module/plugins/crypter/FilestubeCom.py index c94bf3410..ccbacef8b 100644 --- a/module/plugins/crypter/FilestubeCom.py +++ b/module/plugins/crypter/FilestubeCom.py @@ -4,8 +4,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilestubeCom(SimpleCrypter): - __name__ = "FilestubeCom" - __type__ = "crypter" + __name__ = "FilestubeCom" + __type__ = "crypter" __version__ = "0.04" __pattern__ = r'http://(?:www\.)?filestube\.(?:com|to)/\w+' @@ -13,8 +13,8 @@ class FilestubeCom(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Filestube.com decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("stickell", "l.stickell@yahoo.it")] + __license__ = "GPLv3" + __authors__ = [("stickell", "l.stickell@yahoo.it")] LINK_PATTERN = r'<a class=\"file-link-main(?: noref)?\" [^>]* href=\"(http://[^\"]+)' diff --git a/module/plugins/crypter/FiletramCom.py b/module/plugins/crypter/FiletramCom.py index 1cd1203e8..f48d56201 100644 --- a/module/plugins/crypter/FiletramCom.py +++ b/module/plugins/crypter/FiletramCom.py @@ -4,8 +4,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FiletramCom(SimpleCrypter): - __name__ = "FiletramCom" - __type__ = "crypter" + __name__ = "FiletramCom" + __type__ = "crypter" __version__ = "0.02" __pattern__ = r'http://(?:www\.)?filetram\.com/[^/]+/.+' @@ -13,9 +13,9 @@ class FiletramCom(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Filetram.com decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("igel", "igelkun@myopera.com"), - ("stickell", "l.stickell@yahoo.it")] + __license__ = "GPLv3" + __authors__ = [("igel", "igelkun@myopera.com"), + ("stickell", "l.stickell@yahoo.it")] LINK_PATTERN = r'\s+(http://.+)' diff --git a/module/plugins/crypter/FiredriveComFolder.py b/module/plugins/crypter/FiredriveComFolder.py index 71f0cacbd..b6b22a4e1 100644 --- a/module/plugins/crypter/FiredriveComFolder.py +++ b/module/plugins/crypter/FiredriveComFolder.py @@ -4,13 +4,13 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class FiredriveComFolder(DeadCrypter): - __name__ = "FiredriveComFolder" - __type__ = "crypter" + __name__ = "FiredriveComFolder" + __type__ = "crypter" __version__ = "0.03" __pattern__ = r'https?://(?:www\.)?(firedrive|putlocker)\.com/share/.+' __config__ = [] __description__ = """Firedrive.com folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + __license__ = "GPLv3" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/crypter/FourChanOrg.py b/module/plugins/crypter/FourChanOrg.py index 5126d65f3..48592d30a 100644 --- a/module/plugins/crypter/FourChanOrg.py +++ b/module/plugins/crypter/FourChanOrg.py @@ -8,8 +8,8 @@ from module.plugins.Crypter import Crypter class FourChanOrg(Crypter): - __name__ = "FourChanOrg" - __type__ = "crypter" + __name__ = "FourChanOrg" + __type__ = "crypter" __version__ = "0.3" __pattern__ = r'http://(?:www\.)?boards\.4chan\.org/\w+/res/(\d+)' @@ -17,8 +17,8 @@ class FourChanOrg(Crypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """4chan.org folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [] + __license__ = "GPLv3" + __authors__ = [] def decrypt(self, pyfile): diff --git a/module/plugins/crypter/FreakhareComFolder.py b/module/plugins/crypter/FreakhareComFolder.py index b06ffafa2..d7a1387d5 100644 --- a/module/plugins/crypter/FreakhareComFolder.py +++ b/module/plugins/crypter/FreakhareComFolder.py @@ -6,8 +6,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FreakhareComFolder(SimpleCrypter): - __name__ = "FreakhareComFolder" - __type__ = "crypter" + __name__ = "FreakhareComFolder" + __type__ = "crypter" __version__ = "0.02" __pattern__ = r'http://(?:www\.)?freakshare\.com/folder/.+' @@ -15,8 +15,8 @@ class FreakhareComFolder(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Freakhare.com folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("stickell", "l.stickell@yahoo.it")] + __license__ = "GPLv3" + __authors__ = [("stickell", "l.stickell@yahoo.it")] LINK_PATTERN = r'<a href="(http://freakshare\.com/files/[^"]+)" target="_blank">' diff --git a/module/plugins/crypter/FreetexthostCom.py b/module/plugins/crypter/FreetexthostCom.py index b2a19e624..36bc61d35 100644 --- a/module/plugins/crypter/FreetexthostCom.py +++ b/module/plugins/crypter/FreetexthostCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FreetexthostCom(SimpleCrypter): - __name__ = "FreetexthostCom" - __type__ = "crypter" + __name__ = "FreetexthostCom" + __type__ = "crypter" __version__ = "0.01" __pattern__ = r'http://(?:www\.)?freetexthost\.com/\w+' @@ -15,8 +15,8 @@ class FreetexthostCom(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Freetexthost.com decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("stickell", "l.stickell@yahoo.it")] + __license__ = "GPLv3" + __authors__ = [("stickell", "l.stickell@yahoo.it")] def getLinks(self): diff --git a/module/plugins/crypter/FshareVnFolder.py b/module/plugins/crypter/FshareVnFolder.py index df6ccc91b..e6e67ea13 100644 --- a/module/plugins/crypter/FshareVnFolder.py +++ b/module/plugins/crypter/FshareVnFolder.py @@ -4,8 +4,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FshareVnFolder(SimpleCrypter): - __name__ = "FshareVnFolder" - __type__ = "crypter" + __name__ = "FshareVnFolder" + __type__ = "crypter" __version__ = "0.01" __pattern__ = r'http://(?:www\.)?fshare\.vn/folder/.*' @@ -13,8 +13,8 @@ class FshareVnFolder(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Fshare.vn folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + __license__ = "GPLv3" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] LINK_PATTERN = r'<li class="w_80pc"><a href="([^"]+)" target="_blank">' diff --git a/module/plugins/crypter/GooGl.py b/module/plugins/crypter/GooGl.py index d9713ddce..d548a3375 100644 --- a/module/plugins/crypter/GooGl.py +++ b/module/plugins/crypter/GooGl.py @@ -5,8 +5,8 @@ from module.common.json_layer import json_loads class GooGl(Crypter): - __name__ = "GooGl" - __type__ = "crypter" + __name__ = "GooGl" + __type__ = "crypter" __version__ = "0.01" __pattern__ = r'https?://(?:www\.)?goo\.gl/\w+' @@ -14,8 +14,8 @@ class GooGl(Crypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Goo.gl decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("stickell", "l.stickell@yahoo.it")] + __license__ = "GPLv3" + __authors__ = [("stickell", "l.stickell@yahoo.it")] API_URL = "https://www.googleapis.com/urlshortener/v1/url" diff --git a/module/plugins/crypter/HoerbuchIn.py b/module/plugins/crypter/HoerbuchIn.py index c943ffc29..ed4adef58 100644 --- a/module/plugins/crypter/HoerbuchIn.py +++ b/module/plugins/crypter/HoerbuchIn.py @@ -8,8 +8,8 @@ from module.plugins.Crypter import Crypter class HoerbuchIn(Crypter): - __name__ = "HoerbuchIn" - __type__ = "crypter" + __name__ = "HoerbuchIn" + __type__ = "crypter" __version__ = "0.6" __pattern__ = r'http://(?:www\.)?hoerbuch\.in/(wp/horbucher/\d+/.+/|tp/out\.php\?.+|protection/folder_\d+\.html)' @@ -17,9 +17,9 @@ class HoerbuchIn(Crypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Hoerbuch.in decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("spoob", "spoob@pyload.org"), - ("mkaay", "mkaay@mkaay.de")] + __license__ = "GPLv3" + __authors__ = [("spoob", "spoob@pyload.org"), + ("mkaay", "mkaay@mkaay.de")] article = re.compile("http://(?:www\.)?hoerbuch\.in/wp/horbucher/\d+/.+/") diff --git a/module/plugins/crypter/HotfileComFolder.py b/module/plugins/crypter/HotfileComFolder.py index b716db3ef..3fc8f6f63 100644 --- a/module/plugins/crypter/HotfileComFolder.py +++ b/module/plugins/crypter/HotfileComFolder.py @@ -4,13 +4,13 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class HotfileComFolder(DeadCrypter): - __name__ = "HotfileComFolder" - __type__ = "crypter" + __name__ = "HotfileComFolder" + __type__ = "crypter" __version__ = "0.3" __pattern__ = r'https?://(?:www\.)?hotfile\.com/list/\w+/\w+' __config__ = [] __description__ = """Hotfile.com folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("RaNaN", "RaNaN@pyload.org")] + __license__ = "GPLv3" + __authors__ = [("RaNaN", "RaNaN@pyload.org")] diff --git a/module/plugins/crypter/ILoadTo.py b/module/plugins/crypter/ILoadTo.py index 10d39ecda..3dc806b06 100644 --- a/module/plugins/crypter/ILoadTo.py +++ b/module/plugins/crypter/ILoadTo.py @@ -4,13 +4,13 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class ILoadTo(DeadCrypter): - __name__ = "ILoadTo" - __type__ = "crypter" + __name__ = "ILoadTo" + __type__ = "crypter" __version__ = "0.11" __pattern__ = r'http://(?:www\.)?iload\.to/go/\d+-[\w.-]+/' __config__ = [] __description__ = """Iload.to decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("hzpz", None)] + __license__ = "GPLv3" + __authors__ = [("hzpz", None)] diff --git a/module/plugins/crypter/ImgurComAlbum.py b/module/plugins/crypter/ImgurComAlbum.py index 03bb51105..cfe887baf 100644 --- a/module/plugins/crypter/ImgurComAlbum.py +++ b/module/plugins/crypter/ImgurComAlbum.py @@ -5,8 +5,8 @@ from module.utils import uniqify class ImgurComAlbum(SimpleCrypter): - __name__ = "ImgurComAlbum" - __type__ = "crypter" + __name__ = "ImgurComAlbum" + __type__ = "crypter" __version__ = "0.5" __pattern__ = r'https?://(?:www\.|m\.)?imgur\.com/(a|gallery|)/?\w{5,7}' @@ -14,8 +14,8 @@ class ImgurComAlbum(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Imgur.com decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("nath_schwarz", "nathan.notwhite@gmail.com")] + __license__ = "GPLv3" + __authors__ = [("nath_schwarz", "nathan.notwhite@gmail.com")] TITLE_PATTERN = r'(.+?) - Imgur' diff --git a/module/plugins/crypter/JunocloudMeFolder.py b/module/plugins/crypter/JunocloudMeFolder.py index ff54f9ab3..1e08fc352 100644 --- a/module/plugins/crypter/JunocloudMeFolder.py +++ b/module/plugins/crypter/JunocloudMeFolder.py @@ -4,8 +4,8 @@ from module.plugins.internal.XFSPCrypter import XFSPCrypter class JunocloudMeFolder(XFSPCrypter): - __name__ = "JunocloudMeFolder" - __type__ = "crypter" + __name__ = "JunocloudMeFolder" + __type__ = "crypter" __version__ = "0.02" __pattern__ = r'http://(?:www\.)?junocloud\.me/folders/(?P<ID>\d+/\w+)' @@ -13,8 +13,8 @@ class JunocloudMeFolder(XFSPCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Junocloud.me folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("guidobelix", "guidobelix@hotmail.it")] + __license__ = "GPLv3" + __authors__ = [("guidobelix", "guidobelix@hotmail.it")] HOSTER_NAME = "junocloud.me" diff --git a/module/plugins/crypter/LetitbitNetFolder.py b/module/plugins/crypter/LetitbitNetFolder.py index 520e5828b..e3848e2ab 100644 --- a/module/plugins/crypter/LetitbitNetFolder.py +++ b/module/plugins/crypter/LetitbitNetFolder.py @@ -5,8 +5,8 @@ from module.plugins.Crypter import Crypter class LetitbitNetFolder(Crypter): - __name__ = "LetitbitNetFolder" - __type__ = "crypter" + __name__ = "LetitbitNetFolder" + __type__ = "crypter" __version__ = "0.1" __pattern__ = r'http://(?:www\.)?letitbit\.net/folder/\w+' @@ -14,9 +14,9 @@ class LetitbitNetFolder(Crypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Letitbit.net folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("DHMH", "webmaster@pcProfil.de"), - ("z00nx", "z00nx0@gmail.com")] + __license__ = "GPLv3" + __authors__ = [("DHMH", "webmaster@pcProfil.de"), + ("z00nx", "z00nx0@gmail.com")] FOLDER_PATTERN = r'<table>(.*)</table>' diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index 6db2e0109..72ce32810 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -14,8 +14,8 @@ from module.unescape import unescape class LinkSaveIn(SimpleCrypter): - __name__ = "LinkSaveIn" - __type__ = "crypter" + __name__ = "LinkSaveIn" + __type__ = "crypter" __version__ = "2.02" __pattern__ = r'http://(?:www\.)?linksave\.in/(?P<id>\w+)$' @@ -23,8 +23,8 @@ class LinkSaveIn(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """LinkSave.in decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es")] + __license__ = "GPLv3" + __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es")] COOKIES = [(".linksave.in", "Linksave_Language", "english")] diff --git a/module/plugins/crypter/LinkdecrypterCom.py b/module/plugins/crypter/LinkdecrypterCom.py index 152d4fe29..f858da9d8 100644 --- a/module/plugins/crypter/LinkdecrypterCom.py +++ b/module/plugins/crypter/LinkdecrypterCom.py @@ -5,8 +5,8 @@ from module.plugins.Crypter import Crypter class LinkdecrypterCom(Crypter): - __name__ = "LinkdecrypterCom" - __type__ = "crypter" + __name__ = "LinkdecrypterCom" + __type__ = "crypter" __version__ = "0.27" __pattern__ = None @@ -14,9 +14,9 @@ class LinkdecrypterCom(Crypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Linkdecrypter.com""" - __license__ = "GPLv3" - __authors__ = [("zoidberg", "zoidberg@mujmail.cz"), - ("flowlee", None)] + __license__ = "GPLv3" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz"), + ("flowlee", None)] TEXTAREA_PATTERN = r'<textarea name="links" wrap="off" readonly="1" class="caja_des">(.+)</textarea>' diff --git a/module/plugins/crypter/LixIn.py b/module/plugins/crypter/LixIn.py index 44831b2db..50ad217d4 100644 --- a/module/plugins/crypter/LixIn.py +++ b/module/plugins/crypter/LixIn.py @@ -6,8 +6,8 @@ from module.plugins.Crypter import Crypter class LixIn(Crypter): - __name__ = "LixIn" - __type__ = "crypter" + __name__ = "LixIn" + __type__ = "crypter" __version__ = "0.22" __pattern__ = r'http://(?:www\.)?lix\.in/(?P<ID>.+)' @@ -15,8 +15,8 @@ class LixIn(Crypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Lix.in decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("spoob", "spoob@pyload.org")] + __license__ = "GPLv3" + __authors__ = [("spoob", "spoob@pyload.org")] CAPTCHA_PATTERN = r'<img src="(?P<image>captcha_img\.php\?.*?)"' diff --git a/module/plugins/crypter/LofCc.py b/module/plugins/crypter/LofCc.py index ffb9ec22e..5819e0375 100644 --- a/module/plugins/crypter/LofCc.py +++ b/module/plugins/crypter/LofCc.py @@ -4,13 +4,13 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class LofCc(DeadCrypter): - __name__ = "LofCc" - __type__ = "crypter" + __name__ = "LofCc" + __type__ = "crypter" __version__ = "0.21" __pattern__ = r'http://(?:www\.)?lof\.cc/(.*)' __config__ = [] __description__ = """Lof.cc decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("mkaay", "mkaay@mkaay.de")] + __license__ = "GPLv3" + __authors__ = [("mkaay", "mkaay@mkaay.de")] diff --git a/module/plugins/crypter/MBLinkInfo.py b/module/plugins/crypter/MBLinkInfo.py index 38bbdfe9c..680aa49c0 100644 --- a/module/plugins/crypter/MBLinkInfo.py +++ b/module/plugins/crypter/MBLinkInfo.py @@ -4,14 +4,14 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class MBLinkInfo(DeadCrypter): - __name__ = "MBLinkInfo" - __type__ = "crypter" + __name__ = "MBLinkInfo" + __type__ = "crypter" __version__ = "0.03" __pattern__ = r'http://(?:www\.)?mblink\.info/?\?id=(\d+)' __config__ = [] __description__ = """MBLink.info decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("Gummibaer", "Gummibaer@wiki-bierkiste.de"), - ("stickell", "l.stickell@yahoo.it")] + __license__ = "GPLv3" + __authors__ = [("Gummibaer", "Gummibaer@wiki-bierkiste.de"), + ("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/crypter/MediafireComFolder.py b/module/plugins/crypter/MediafireComFolder.py index cf50ca176..f4858e214 100644 --- a/module/plugins/crypter/MediafireComFolder.py +++ b/module/plugins/crypter/MediafireComFolder.py @@ -7,8 +7,8 @@ from module.common.json_layer import json_loads class MediafireComFolder(Crypter): - __name__ = "MediafireComFolder" - __type__ = "crypter" + __name__ = "MediafireComFolder" + __type__ = "crypter" __version__ = "0.14" __pattern__ = r'http://(?:www\.)?mediafire\.com/(folder/|\?sharekey=|\?\w{13}($|[/#]))' @@ -16,8 +16,8 @@ class MediafireComFolder(Crypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Mediafire.com folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + __license__ = "GPLv3" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] FOLDER_KEY_PATTERN = r'var afI= \'(\w+)' diff --git a/module/plugins/crypter/MegaRapidCzFolder.py b/module/plugins/crypter/MegaRapidCzFolder.py index 68393a533..d9fb828a8 100644 --- a/module/plugins/crypter/MegaRapidCzFolder.py +++ b/module/plugins/crypter/MegaRapidCzFolder.py @@ -4,8 +4,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class MegaRapidCzFolder(SimpleCrypter): - __name__ = "MegaRapidCzFolder" - __type__ = "crypter" + __name__ = "MegaRapidCzFolder" + __type__ = "crypter" __version__ = "0.02" __pattern__ = r'http://(?:www\.)?(share|mega)rapid\.cz/slozka/\d+/\w+' @@ -13,8 +13,8 @@ class MegaRapidCzFolder(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Share-Rapid.com folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + __license__ = "GPLv3" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] LINK_PATTERN = r'<td class="soubor"[^>]*><a href="([^"]+)">' diff --git a/module/plugins/crypter/Movie2kTo.py b/module/plugins/crypter/Movie2kTo.py index 0a8b3e5d2..2acaa5a28 100644 --- a/module/plugins/crypter/Movie2kTo.py +++ b/module/plugins/crypter/Movie2kTo.py @@ -4,13 +4,13 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class Movie2kTo(DeadCrypter): - __name__ = "Movie2kTo" - __type__ = "crypter" + __name__ = "Movie2kTo" + __type__ = "crypter" __version__ = "0.51" __pattern__ = r'http://(?:www\.)?movie2k\.to/(.*)\.html' __config__ = [] __description__ = """Movie2k.to decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("4Christopher", "4Christopher@gmx.de")] + __license__ = "GPLv3" + __authors__ = [("4Christopher", "4Christopher@gmx.de")] diff --git a/module/plugins/crypter/MultiUpOrg.py b/module/plugins/crypter/MultiUpOrg.py index 607ef6e87..25575a7f8 100644 --- a/module/plugins/crypter/MultiUpOrg.py +++ b/module/plugins/crypter/MultiUpOrg.py @@ -7,8 +7,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class MultiUpOrg(SimpleCrypter): - __name__ = "MultiUpOrg" - __type__ = "crypter" + __name__ = "MultiUpOrg" + __type__ = "crypter" __version__ = "0.02" __pattern__ = r'http://(?:www\.)?multiup\.org/(en|fr)/(?P<TYPE>project|download|miror)/\w+(/\w+)?' @@ -16,8 +16,8 @@ class MultiUpOrg(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """MultiUp.org crypter plugin""" - __license__ = "GPLv3" - __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + __license__ = "GPLv3" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] TITLE_PATTERN = r'<title>.*(?:Project|Projet|ownload|élécharger) (.+?) (?:\(|- )' diff --git a/module/plugins/crypter/MultiloadCz.py b/module/plugins/crypter/MultiloadCz.py index 1a5b91ea9..127fe068a 100644 --- a/module/plugins/crypter/MultiloadCz.py +++ b/module/plugins/crypter/MultiloadCz.py @@ -5,8 +5,8 @@ from module.plugins.Crypter import Crypter class MultiloadCz(Crypter): - __name__ = "MultiloadCz" - __type__ = "crypter" + __name__ = "MultiloadCz" + __type__ = "crypter" __version__ = "0.4" __pattern__ = r'http://(?:[^/]*\.)?multiload\.cz/(stahnout|slozka)/.*' @@ -16,8 +16,8 @@ class MultiloadCz(Crypter): ("ignoredHoster", "str", "Ignored hoster list (bar-separated)", "")] __description__ = """Multiload.cz decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + __license__ = "GPLv3" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] FOLDER_PATTERN = r'<form action="" method="get"><textarea[^>]*>([^>]*)</textarea></form>' diff --git a/module/plugins/crypter/MultiuploadCom.py b/module/plugins/crypter/MultiuploadCom.py index 1ad21464d..2cfb9537f 100644 --- a/module/plugins/crypter/MultiuploadCom.py +++ b/module/plugins/crypter/MultiuploadCom.py @@ -4,13 +4,13 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class MultiuploadCom(DeadCrypter): - __name__ = "MultiuploadCom" - __type__ = "crypter" + __name__ = "MultiuploadCom" + __type__ = "crypter" __version__ = "0.02" __pattern__ = r'http://(?:www\.)?multiupload\.(com|nl)/\w+' __config__ = [] __description__ = """ MultiUpload.com decrypter plugin """ - __license__ = "GPLv3" - __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + __license__ = "GPLv3" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index 9687e75c1..3c08e26c1 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -11,8 +11,8 @@ from module.plugins.internal.CaptchaService import ReCaptcha class NCryptIn(Crypter): - __name__ = "NCryptIn" - __type__ = "crypter" + __name__ = "NCryptIn" + __type__ = "crypter" __version__ = "1.33" __pattern__ = r'http://(?:www\.)?ncrypt\.in/(?P<type>folder|link|frame)-([^/\?]+)' @@ -20,9 +20,9 @@ class NCryptIn(Crypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """NCrypt.in decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es"), - ("stickell", "l.stickell@yahoo.it")] + __license__ = "GPLv3" + __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es"), + ("stickell", "l.stickell@yahoo.it")] JK_KEY = "jk" diff --git a/module/plugins/crypter/NetfolderIn.py b/module/plugins/crypter/NetfolderIn.py index 25c4d5d19..4309d30a1 100644 --- a/module/plugins/crypter/NetfolderIn.py +++ b/module/plugins/crypter/NetfolderIn.py @@ -6,8 +6,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class NetfolderIn(SimpleCrypter): - __name__ = "NetfolderIn" - __type__ = "crypter" + __name__ = "NetfolderIn" + __type__ = "crypter" __version__ = "0.7" __pattern__ = r'http://(?:www\.)?netfolder\.in/((?P<id1>\w+)/\w+|folder\.php\?folder_id=(?P<id2>\w+))' @@ -15,9 +15,9 @@ class NetfolderIn(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """NetFolder.in decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("RaNaN", "RaNaN@pyload.org"), - ("fragonib", "fragonib[AT]yahoo[DOT]es")] + __license__ = "GPLv3" + __authors__ = [("RaNaN", "RaNaN@pyload.org"), + ("fragonib", "fragonib[AT]yahoo[DOT]es")] TITLE_PATTERN = r'<div class="Text">Inhalt des Ordners <span.*>(.+)</span></div>' diff --git a/module/plugins/crypter/NosvideoCom.py b/module/plugins/crypter/NosvideoCom.py index a961f27c3..e3335adc7 100644 --- a/module/plugins/crypter/NosvideoCom.py +++ b/module/plugins/crypter/NosvideoCom.py @@ -4,8 +4,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class NosvideoCom(SimpleCrypter): - __name__ = "NosvideoCom" - __type__ = "crypter" + __name__ = "NosvideoCom" + __type__ = "crypter" __version__ = "0.02" __pattern__ = r'http://(?:www\.)?nosvideo\.com/\?v=\w+' @@ -13,8 +13,8 @@ class NosvideoCom(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Nosvideo.com decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("igel", "igelkun@myopera.com")] + __license__ = "GPLv3" + __authors__ = [("igel", "igelkun@myopera.com")] LINK_PATTERN = r'href="(http://(?:w{3}\.)?nosupload\.com/\?d=\w+)"' diff --git a/module/plugins/crypter/OneKhDe.py b/module/plugins/crypter/OneKhDe.py index 3b0cb5eb8..540f14568 100644 --- a/module/plugins/crypter/OneKhDe.py +++ b/module/plugins/crypter/OneKhDe.py @@ -7,8 +7,8 @@ from module.plugins.Crypter import Crypter class OneKhDe(Crypter): - __name__ = "OneKhDe" - __type__ = "crypter" + __name__ = "OneKhDe" + __type__ = "crypter" __version__ = "0.1" __pattern__ = r'http://(?:www\.)?1kh\.de/f/' @@ -16,8 +16,8 @@ class OneKhDe(Crypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """1kh.de decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("spoob", "spoob@pyload.org")] + __license__ = "GPLv3" + __authors__ = [("spoob", "spoob@pyload.org")] def __init__(self, parent): diff --git a/module/plugins/crypter/OronComFolder.py b/module/plugins/crypter/OronComFolder.py index 0478f9ac4..30709ee60 100755 --- a/module/plugins/crypter/OronComFolder.py +++ b/module/plugins/crypter/OronComFolder.py @@ -4,13 +4,13 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class OronComFolder(DeadCrypter): - __name__ = "OronComFolder" - __type__ = "crypter" + __name__ = "OronComFolder" + __type__ = "crypter" __version__ = "0.11" __pattern__ = r'http://(?:www\.)?oron\.com/folder/\w+' __config__ = [] __description__ = """Oron.com folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("DHMH", "webmaster@pcProfil.de")] + __license__ = "GPLv3" + __authors__ = [("DHMH", "webmaster@pcProfil.de")] diff --git a/module/plugins/crypter/PastebinCom.py b/module/plugins/crypter/PastebinCom.py index 60b05e3ec..185de1e47 100644 --- a/module/plugins/crypter/PastebinCom.py +++ b/module/plugins/crypter/PastebinCom.py @@ -4,8 +4,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class PastebinCom(SimpleCrypter): - __name__ = "PastebinCom" - __type__ = "crypter" + __name__ = "PastebinCom" + __type__ = "crypter" __version__ = "0.02" __pattern__ = r'http://(?:www\.)?pastebin\.com/\w+' @@ -13,8 +13,8 @@ class PastebinCom(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Pastebin.com decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("stickell", "l.stickell@yahoo.it")] + __license__ = "GPLv3" + __authors__ = [("stickell", "l.stickell@yahoo.it")] LINK_PATTERN = r'<div class="de\d+">(https?://[^ <]+)(?:[^<]*)</div>' diff --git a/module/plugins/crypter/QuickshareCzFolder.py b/module/plugins/crypter/QuickshareCzFolder.py index cd95ac365..52d558af7 100644 --- a/module/plugins/crypter/QuickshareCzFolder.py +++ b/module/plugins/crypter/QuickshareCzFolder.py @@ -5,8 +5,8 @@ from module.plugins.Crypter import Crypter class QuickshareCzFolder(Crypter): - __name__ = "QuickshareCzFolder" - __type__ = "crypter" + __name__ = "QuickshareCzFolder" + __type__ = "crypter" __version__ = "0.1" __pattern__ = r'http://(?:www\.)?quickshare\.cz/slozka-\d+.*' @@ -14,8 +14,8 @@ class QuickshareCzFolder(Crypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Quickshare.cz folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + __license__ = "GPLv3" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] FOLDER_PATTERN = r'<textarea[^>]*>(.*?)</textarea>' diff --git a/module/plugins/crypter/RSLayerCom.py b/module/plugins/crypter/RSLayerCom.py index bfa7cd036..1bcfd05fe 100644 --- a/module/plugins/crypter/RSLayerCom.py +++ b/module/plugins/crypter/RSLayerCom.py @@ -4,13 +4,13 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class RSLayerCom(DeadCrypter): - __name__ = "RSLayerCom" - __type__ = "crypter" + __name__ = "RSLayerCom" + __type__ = "crypter" __version__ = "0.21" __pattern__ = r'http://(?:www\.)?rs-layer\.com/directory-' __config__ = [] __description__ = """RS-Layer.com decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("hzpz", None)] + __license__ = "GPLv3" + __authors__ = [("hzpz", None)] diff --git a/module/plugins/crypter/RapidfileshareNetFolder.py b/module/plugins/crypter/RapidfileshareNetFolder.py index 437beae85..43a3e34dd 100644 --- a/module/plugins/crypter/RapidfileshareNetFolder.py +++ b/module/plugins/crypter/RapidfileshareNetFolder.py @@ -4,8 +4,8 @@ from module.plugins.internal.XFSPCrypter import XFSPCrypter class RapidfileshareNetFolder(XFSPCrypter): - __name__ = "RapidfileshareNetFolder" - __type__ = "crypter" + __name__ = "RapidfileshareNetFolder" + __type__ = "crypter" __version__ = "0.02" __pattern__ = r'http://(?:www\.)?rapidfileshare\.net/users/\w+/\d+/\w+' @@ -13,8 +13,8 @@ class RapidfileshareNetFolder(XFSPCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Rapidfileshare.net folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("guidobelix", "guidobelix@hotmail.it")] + __license__ = "GPLv3" + __authors__ = [("guidobelix", "guidobelix@hotmail.it")] HOSTER_NAME = "rapidfileshare.net" diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index 1a3d47cf8..cdb699ae0 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -10,8 +10,8 @@ from module.plugins.Crypter import Crypter class RelinkUs(Crypter): - __name__ = "RelinkUs" - __type__ = "crypter" + __name__ = "RelinkUs" + __type__ = "crypter" __version__ = "3.1" __pattern__ = r'http://(?:www\.)?relink\.us/(f/|((view|go)\.php\?id=))(?P<id>.+)' @@ -19,9 +19,9 @@ class RelinkUs(Crypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Relink.us decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es"), - ("AndroKev", "neureither.kevin@gmail.com")] + __license__ = "GPLv3" + __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es"), + ("AndroKev", "neureither.kevin@gmail.com")] PREFERRED_LINK_SOURCES = ["cnl2", "dlc", "web"] diff --git a/module/plugins/crypter/SafelinkingNet.py b/module/plugins/crypter/SafelinkingNet.py index 37bb4d37e..1fbb6e137 100644 --- a/module/plugins/crypter/SafelinkingNet.py +++ b/module/plugins/crypter/SafelinkingNet.py @@ -12,8 +12,8 @@ from module.plugins.internal.CaptchaService import SolveMedia class SafelinkingNet(Crypter): - __name__ = "SafelinkingNet" - __type__ = "crypter" + __name__ = "SafelinkingNet" + __type__ = "crypter" __version__ = "0.1" __pattern__ = r'https?://(?:www\.)?safelinking\.net/([pd])/\w+' @@ -21,8 +21,8 @@ class SafelinkingNet(Crypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Safelinking.net decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("quareevo", "quareevo@arcor.de")] + __license__ = "GPLv3" + __authors__ = [("quareevo", "quareevo@arcor.de")] SOLVEMEDIA_PATTERN = "solvemediaApiKey = '([\w.-]+)';" diff --git a/module/plugins/crypter/SecuredIn.py b/module/plugins/crypter/SecuredIn.py index b52be810f..d2cd6ff4d 100644 --- a/module/plugins/crypter/SecuredIn.py +++ b/module/plugins/crypter/SecuredIn.py @@ -4,13 +4,13 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class SecuredIn(DeadCrypter): - __name__ = "SecuredIn" - __type__ = "crypter" + __name__ = "SecuredIn" + __type__ = "crypter" __version__ = "0.21" __pattern__ = r'http://(?:www\.)?secured\.in/download-[\d]+-\w{8}\.html' __config__ = [] __description__ = """Secured.in decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("mkaay", "mkaay@mkaay.de")] + __license__ = "GPLv3" + __authors__ = [("mkaay", "mkaay@mkaay.de")] diff --git a/module/plugins/crypter/SexuriaCom.py b/module/plugins/crypter/SexuriaCom.py index c086a86ff..6166c2023 100644 --- a/module/plugins/crypter/SexuriaCom.py +++ b/module/plugins/crypter/SexuriaCom.py @@ -6,8 +6,8 @@ from module.plugins.Crypter import Crypter class SexuriaCom(Crypter): - __name__ = "SexuriaCom" - __type__ = "crypter" + __name__ = "SexuriaCom" + __type__ = "crypter" __version__ = "0.01" __pattern__ = r'http://(?:www\.)?sexuria\.com/(v1/)?(Pornos_Kostenlos_.+?_(\d+)\.html|dl_links_\d+_\d+\.html|id=\d+\&part=\d+\&link=\d+)' @@ -15,8 +15,8 @@ class SexuriaCom(Crypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Sexuria.com decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("NETHead", "NETHead.AT.gmx.DOT.net")] + __license__ = "GPLv3" + __authors__ = [("NETHead", "NETHead.AT.gmx.DOT.net")] PATTERN_SUPPORTED_MAIN = re.compile(r'http://(www\.)?sexuria\.com/(v1/)?Pornos_Kostenlos_.+?_(\d+)\.html', flags=re.I) diff --git a/module/plugins/crypter/ShareLinksBiz.py b/module/plugins/crypter/ShareLinksBiz.py index 7c4d769c6..26d05fee1 100644 --- a/module/plugins/crypter/ShareLinksBiz.py +++ b/module/plugins/crypter/ShareLinksBiz.py @@ -9,8 +9,8 @@ from module.plugins.Crypter import Crypter class ShareLinksBiz(Crypter): - __name__ = "ShareLinksBiz" - __type__ = "crypter" + __name__ = "ShareLinksBiz" + __type__ = "crypter" __version__ = "1.14" __pattern__ = r'http://(?:www\.)?(share-links|s2l)\.biz/(?P<ID>_?\w+)' @@ -18,8 +18,8 @@ class ShareLinksBiz(Crypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Share-Links.biz decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es")] + __license__ = "GPLv3" + __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es")] def setup(self): diff --git a/module/plugins/crypter/SpeedLoadOrgFolder.py b/module/plugins/crypter/SpeedLoadOrgFolder.py index 596ce3e85..f11260345 100644 --- a/module/plugins/crypter/SpeedLoadOrgFolder.py +++ b/module/plugins/crypter/SpeedLoadOrgFolder.py @@ -4,13 +4,13 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class SpeedLoadOrgFolder(DeadCrypter): - __name__ = "SpeedLoadOrgFolder" - __type__ = "crypter" + __name__ = "SpeedLoadOrgFolder" + __type__ = "crypter" __version__ = "0.3" __pattern__ = r'http://(?:www\.)?speedload\.org/(\d+~f$|folder/\d+/)' __config__ = [] __description__ = """Speedload decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("stickell", "l.stickell@yahoo.it")] + __license__ = "GPLv3" + __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/crypter/StealthTo.py b/module/plugins/crypter/StealthTo.py index e4c11b916..a6e86fb8b 100644 --- a/module/plugins/crypter/StealthTo.py +++ b/module/plugins/crypter/StealthTo.py @@ -4,13 +4,13 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class StealthTo(DeadCrypter): - __name__ = "StealthTo" - __type__ = "crypter" + __name__ = "StealthTo" + __type__ = "crypter" __version__ = "0.2" __pattern__ = r'http://(?:www\.)?stealth\.to/folder/.+' __config__ = [] __description__ = """Stealth.to decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("spoob", "spoob@pyload.org")] + __license__ = "GPLv3" + __authors__ = [("spoob", "spoob@pyload.org")] diff --git a/module/plugins/crypter/TnyCz.py b/module/plugins/crypter/TnyCz.py index 19f08c6cd..742b2f7ed 100644 --- a/module/plugins/crypter/TnyCz.py +++ b/module/plugins/crypter/TnyCz.py @@ -6,8 +6,8 @@ import re class TnyCz(SimpleCrypter): - __name__ = "TnyCz" - __type__ = "crypter" + __name__ = "TnyCz" + __type__ = "crypter" __version__ = "0.02" __pattern__ = r'http://(?:www\.)?tny\.cz/\w+' @@ -15,8 +15,8 @@ class TnyCz(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Tny.cz decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + __license__ = "GPLv3" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] TITLE_PATTERN = r'<title>(.+) - .+</title>' diff --git a/module/plugins/crypter/TrailerzoneInfo.py b/module/plugins/crypter/TrailerzoneInfo.py index 9d086b036..66a00bc74 100644 --- a/module/plugins/crypter/TrailerzoneInfo.py +++ b/module/plugins/crypter/TrailerzoneInfo.py @@ -4,13 +4,13 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class TrailerzoneInfo(DeadCrypter): - __name__ = "TrailerzoneInfo" - __type__ = "crypter" + __name__ = "TrailerzoneInfo" + __type__ = "crypter" __version__ = "0.03" __pattern__ = r'http://(?:www\.)?trailerzone\.info/.*?' __config__ = [] __description__ = """TrailerZone.info decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("godofdream", "soilfiction@gmail.com")] + __license__ = "GPLv3" + __authors__ = [("godofdream", "soilfiction@gmail.com")] diff --git a/module/plugins/crypter/TurbobitNetFolder.py b/module/plugins/crypter/TurbobitNetFolder.py index 1996d7255..a737faf11 100644 --- a/module/plugins/crypter/TurbobitNetFolder.py +++ b/module/plugins/crypter/TurbobitNetFolder.py @@ -7,8 +7,8 @@ from module.common.json_layer import json_loads class TurbobitNetFolder(SimpleCrypter): - __name__ = "TurbobitNetFolder" - __type__ = "crypter" + __name__ = "TurbobitNetFolder" + __type__ = "crypter" __version__ = "0.04" __pattern__ = r'http://(?:www\.)?turbobit\.net/download/folder/(?P<ID>\w+)' @@ -16,9 +16,9 @@ class TurbobitNetFolder(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Turbobit.net folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("stickell", "l.stickell@yahoo.it"), - ("Walter Purcaro", "vuolter@gmail.com")] + __license__ = "GPLv3" + __authors__ = [("stickell", "l.stickell@yahoo.it"), + ("Walter Purcaro", "vuolter@gmail.com")] TITLE_PATTERN = r'src=\'/js/lib/grid/icon/folder.png\'> <span>(.+?)</span>' diff --git a/module/plugins/crypter/TusfilesNetFolder.py b/module/plugins/crypter/TusfilesNetFolder.py index 3a9ab3ba9..73b8b6a2b 100644 --- a/module/plugins/crypter/TusfilesNetFolder.py +++ b/module/plugins/crypter/TusfilesNetFolder.py @@ -8,8 +8,8 @@ from module.plugins.internal.XFSPCrypter import XFSPCrypter class TusfilesNetFolder(XFSPCrypter): - __name__ = "TusfilesNetFolder" - __type__ = "crypter" + __name__ = "TusfilesNetFolder" + __type__ = "crypter" __version__ = "0.04" __pattern__ = r'https?://(?:www\.)?tusfiles\.net/go/(?P<ID>\w+)' @@ -17,9 +17,9 @@ class TusfilesNetFolder(XFSPCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Tusfiles.net folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("Walter Purcaro", "vuolter@gmail.com"), - ("stickell", "l.stickell@yahoo.it")] + __license__ = "GPLv3" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com"), + ("stickell", "l.stickell@yahoo.it")] HOSTER_NAME = "tusfiles.net" diff --git a/module/plugins/crypter/UlozToFolder.py b/module/plugins/crypter/UlozToFolder.py index d212b34bd..59c828174 100644 --- a/module/plugins/crypter/UlozToFolder.py +++ b/module/plugins/crypter/UlozToFolder.py @@ -5,8 +5,8 @@ from module.plugins.Crypter import Crypter class UlozToFolder(Crypter): - __name__ = "UlozToFolder" - __type__ = "crypter" + __name__ = "UlozToFolder" + __type__ = "crypter" __version__ = "0.2" __pattern__ = r'http://(?:www\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj\.cz|zachowajto\.pl)/(m|soubory)/.*' @@ -14,8 +14,8 @@ class UlozToFolder(Crypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Uloz.to folder decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + __license__ = "GPLv3" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] FOLDER_PATTERN = r'<ul class="profile_files">(.*?)</ul>' diff --git a/module/plugins/crypter/UploadableChFolder.py b/module/plugins/crypter/UploadableChFolder.py index c69cf1f92..1a2178de4 100644 --- a/module/plugins/crypter/UploadableChFolder.py +++ b/module/plugins/crypter/UploadableChFolder.py @@ -4,8 +4,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class UploadableChFolder(SimpleCrypter): - __name__ = "UploadableChFolder" - __type__ = "crypter" + __name__ = "UploadableChFolder" + __type__ = "crypter" __version__ = "0.02" __pattern__ = r'http://(?:www\.)?uploadable\.ch/list/\w+' @@ -13,9 +13,9 @@ class UploadableChFolder(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """ Uploadable.ch folder decrypter plugin """ - __license__ = "GPLv3" - __authors__ = [("guidobelix", "guidobelix@hotmail.it"), - ("Walter Purcaro", "vuolter@gmail.com")] + __license__ = "GPLv3" + __authors__ = [("guidobelix", "guidobelix@hotmail.it"), + ("Walter Purcaro", "vuolter@gmail.com")] LINK_PATTERN = r'"(.+?)" class="icon_zipfile">' diff --git a/module/plugins/crypter/UploadedToFolder.py b/module/plugins/crypter/UploadedToFolder.py index 1d3c67df6..98922d4e2 100644 --- a/module/plugins/crypter/UploadedToFolder.py +++ b/module/plugins/crypter/UploadedToFolder.py @@ -6,8 +6,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class UploadedToFolder(SimpleCrypter): - __name__ = "UploadedToFolder" - __type__ = "crypter" + __name__ = "UploadedToFolder" + __type__ = "crypter" __version__ = "0.4" __pattern__ = r'http://(?:www\.)?(uploaded|ul)\.(to|net)/(f|folder|list)/(?P<id>\w+)' @@ -15,8 +15,8 @@ class UploadedToFolder(SimpleCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """UploadedTo decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("stickell", "l.stickell@yahoo.it")] + __license__ = "GPLv3" + __authors__ = [("stickell", "l.stickell@yahoo.it")] PLAIN_PATTERN = r'<small class="date"><a href="(?P<plain>[\w/]+)" onclick=' diff --git a/module/plugins/crypter/WiiReloadedOrg.py b/module/plugins/crypter/WiiReloadedOrg.py index 2e99c2de7..9d6f12174 100644 --- a/module/plugins/crypter/WiiReloadedOrg.py +++ b/module/plugins/crypter/WiiReloadedOrg.py @@ -4,13 +4,13 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class WiiReloadedOrg(DeadCrypter): - __name__ = "WiiReloadedOrg" - __type__ = "crypter" + __name__ = "WiiReloadedOrg" + __type__ = "crypter" __version__ = "0.11" __pattern__ = r'http://(?:www\.)?wii-reloaded\.org/protect/get\.php\?i=.+' __config__ = [] __description__ = """Wii-Reloaded.org decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("hzpz", None)] + __license__ = "GPLv3" + __authors__ = [("hzpz", None)] diff --git a/module/plugins/crypter/XFileSharingProFolder.py b/module/plugins/crypter/XFileSharingProFolder.py index a4144a257..bc795186a 100644 --- a/module/plugins/crypter/XFileSharingProFolder.py +++ b/module/plugins/crypter/XFileSharingProFolder.py @@ -6,8 +6,8 @@ from module.plugins.internal.XFSPCrypter import XFSPCrypter class XFileSharingProFolder(XFSPCrypter): - __name__ = "XFileSharingProFolder" - __type__ = "crypter" + __name__ = "XFileSharingProFolder" + __type__ = "crypter" __version__ = "0.02" __pattern__ = r'^unmatchable$' @@ -15,8 +15,8 @@ class XFileSharingProFolder(XFSPCrypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """XFileSharingPro dummy folder decrypter plugin for hook""" - __license__ = "GPLv3" - __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + __license__ = "GPLv3" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] def init(self): diff --git a/module/plugins/crypter/XupPl.py b/module/plugins/crypter/XupPl.py index 6cb8601e3..c456723b3 100644 --- a/module/plugins/crypter/XupPl.py +++ b/module/plugins/crypter/XupPl.py @@ -4,8 +4,8 @@ from module.plugins.Crypter import Crypter class XupPl(Crypter): - __name__ = "XupPl" - __type__ = "crypter" + __name__ = "XupPl" + __type__ = "crypter" __version__ = "0.1" __pattern__ = r'https?://(?:[^/]*\.)?xup\.pl/.*' @@ -13,8 +13,8 @@ class XupPl(Crypter): ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Xup.pl decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("z00nx", "z00nx0@gmail.com")] + __license__ = "GPLv3" + __authors__ = [("z00nx", "z00nx0@gmail.com")] def decrypt(self, pyfile): diff --git a/module/plugins/crypter/YoutubeBatch.py b/module/plugins/crypter/YoutubeBatch.py index 09a3466b5..c66f94753 100644 --- a/module/plugins/crypter/YoutubeBatch.py +++ b/module/plugins/crypter/YoutubeBatch.py @@ -10,8 +10,8 @@ from module.utils import save_join class YoutubeBatch(Crypter): - __name__ = "YoutubeBatch" - __type__ = "crypter" + __name__ = "YoutubeBatch" + __type__ = "crypter" __version__ = "1.01" __pattern__ = r'https?://(?:www\.|m\.)?youtube\.com/(?P<TYPE>user|playlist|view_play_list)(/|.*?[?&](?:list|p)=)(?P<ID>[\w-]+)' @@ -22,8 +22,8 @@ class YoutubeBatch(Crypter): ("uploads", "bool", "Grab channel unplaylisted videos", True)] __description__ = """Youtube.com channel & playlist decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + __license__ = "GPLv3" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] API_KEY = "AIzaSyCKnWLNlkX-L4oD1aEzqqhRw1zczeD6_k0" -- cgit v1.2.3 From b6a85c2f635a2f1d020d06920c5e4ac9f82a153d Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Tue, 28 Oct 2014 17:24:29 +0100 Subject: [DuploadOrgFolder] Mark dead --- module/plugins/crypter/DuploadOrgFolder.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/DuploadOrgFolder.py b/module/plugins/crypter/DuploadOrgFolder.py index 0daf009af..af83dffd0 100644 --- a/module/plugins/crypter/DuploadOrgFolder.py +++ b/module/plugins/crypter/DuploadOrgFolder.py @@ -1,20 +1,16 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.DeadCrypter import DeadCrypter -class DuploadOrgFolder(SimpleCrypter): +class DuploadOrgFolder(DeadCrypter): __name__ = "DuploadOrgFolder" __type__ = "crypter" - __version__ = "0.01" + __version__ = "0.02" - __pattern__ = r'http://(?:www\.)?dupload\.org/folder/\d+/' - __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), - ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] + __pattern__ = r'http://(?:www\.)?dupload\.org/folder/\d+' + __config__ = [] __description__ = """Dupload.org folder decrypter plugin""" __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] - - - LINK_PATTERN = r'<td style="[^"]+"><a href="(http://[^"]+)" target="_blank">[^<]+</a></td>' -- cgit v1.2.3 From a98047d04df2790e63f5f5e6c1068821da1f36ae Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sun, 2 Nov 2014 22:42:58 +0100 Subject: [XFileSharingPro] Fix hoster and crypter plugins --- module/plugins/crypter/XFileSharingProFolder.py | 33 ++++++++++++++++--------- 1 file changed, 22 insertions(+), 11 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/XFileSharingProFolder.py b/module/plugins/crypter/XFileSharingProFolder.py index bc795186a..dffd8909c 100644 --- a/module/plugins/crypter/XFileSharingProFolder.py +++ b/module/plugins/crypter/XFileSharingProFolder.py @@ -2,13 +2,13 @@ import re -from module.plugins.internal.XFSPCrypter import XFSPCrypter +from module.plugins.internal.XFSCrypter import XFSCrypter -class XFileSharingProFolder(XFSPCrypter): +class XFileSharingProFolder(XFSCrypter): __name__ = "XFileSharingProFolder" __type__ = "crypter" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'^unmatchable$' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -19,18 +19,29 @@ class XFileSharingProFolder(XFSPCrypter): __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + def _log(self, type, args): + msg = " | ".join([str(a).strip() for a in args if a]) + logger = getattr(self.log, type) + logger("%s: %s: %s" % (self.__name__, self.HOSTER_NAME, msg or _("%s MARK" % type.upper()))) + + def init(self): + super(XFileSharingProFolder, self).init() + self.__pattern__ = self.core.pluginManager.crypterPlugins[self.__name__]['pattern'] - self.HOSTER_NAME = re.match(self.__pattern__, self.pyfile.url).group(1).lower() - account_name = "".join([str.capitalize() for str in self.HOSTER_NAME.split('.')]) - account = self.core.accountManager.getAccountPlugin(account_name) + self.HOSTER_DOMAIN = re.match(self.__pattern__, self.pyfile.url).group(1).lower() + self.HOSTER_NAME = "".join([str.capitalize() for str in self.HOSTER_DOMAIN.split('.')]) - if account and account.canUse(): - self.user, data = account.selectAccount() - self.req = account.getAccountRequest(self.user) - self.premium = account.isPremium(self.user) + account = self.core.accountManager.getAccountPlugin(self.HOSTER_NAME) + if account and account.canUse(): self.account = account + elif self.account: + self.account.HOSTER_DOMAIN = self.HOSTER_DOMAIN else: - self.account.HOSTER_NAME = self.HOSTER_NAME + return + + self.user, data = self.account.selectAccount() + self.req = self.account.getAccountRequest(self.user) + self.premium = self.account.isPremium(self.user) -- cgit v1.2.3 From 772e47ef806d18fd209e910be0535bce7c07dc7b Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sun, 2 Nov 2014 22:47:07 +0100 Subject: Update all other plugins --- module/plugins/crypter/BitshareComFolder.py | 4 ++-- module/plugins/crypter/DataHuFolder.py | 4 ++-- module/plugins/crypter/EasybytezComFolder.py | 8 ++++---- module/plugins/crypter/FilecloudIoFolder.py | 4 ++-- module/plugins/crypter/FilefactoryComFolder.py | 4 ++-- module/plugins/crypter/FilerNetFolder.py | 4 ++-- module/plugins/crypter/FilestubeCom.py | 4 ++-- module/plugins/crypter/FiletramCom.py | 4 ++-- module/plugins/crypter/FreakhareComFolder.py | 4 ++-- module/plugins/crypter/ImgurComAlbum.py | 4 ++-- module/plugins/crypter/JunocloudMeFolder.py | 8 ++++---- module/plugins/crypter/MediafireComFolder.py | 4 ++-- module/plugins/crypter/MultiUpOrg.py | 4 ++-- module/plugins/crypter/NetfolderIn.py | 4 ++-- module/plugins/crypter/NosvideoCom.py | 4 ++-- module/plugins/crypter/PastebinCom.py | 4 ++-- module/plugins/crypter/RapidfileshareNetFolder.py | 8 ++++---- module/plugins/crypter/TnyCz.py | 4 ++-- module/plugins/crypter/TurbobitNetFolder.py | 4 ++-- module/plugins/crypter/TusfilesNetFolder.py | 8 ++++---- module/plugins/crypter/UploadableChFolder.py | 4 ++-- module/plugins/crypter/UploadedToFolder.py | 4 ++-- 22 files changed, 52 insertions(+), 52 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/BitshareComFolder.py b/module/plugins/crypter/BitshareComFolder.py index 90829203a..e77870d26 100644 --- a/module/plugins/crypter/BitshareComFolder.py +++ b/module/plugins/crypter/BitshareComFolder.py @@ -6,7 +6,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class BitshareComFolder(SimpleCrypter): __name__ = "BitshareComFolder" __type__ = "crypter" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?bitshare\.com/\?d=\w+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -18,4 +18,4 @@ class BitshareComFolder(SimpleCrypter): LINK_PATTERN = r'<a href="(http://bitshare\.com/files/.+)">.+</a></td>' - TITLE_PATTERN = r'View public folder "(.+)"</h1>' + NAME_PATTERN = r'View public folder "(.+)"</h1>' diff --git a/module/plugins/crypter/DataHuFolder.py b/module/plugins/crypter/DataHuFolder.py index 9b52fbdda..39523c05d 100644 --- a/module/plugins/crypter/DataHuFolder.py +++ b/module/plugins/crypter/DataHuFolder.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DataHuFolder(SimpleCrypter): __name__ = "DataHuFolder" __type__ = "crypter" - __version__ = "0.04" + __version__ = "0.05" __pattern__ = r'http://(?:www\.)?data\.hu/dir/\w+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -21,7 +21,7 @@ class DataHuFolder(SimpleCrypter): LINK_PATTERN = r'<a href=\'(http://data\.hu/get/.+)\' target=\'_blank\'>\1</a>' - TITLE_PATTERN = ur'<title>(.+) Let\xf6lt\xe9se</title>' + NAME_PATTERN = ur'<title>(.+) Let\xf6lt\xe9se</title>' def decrypt(self, pyfile): diff --git a/module/plugins/crypter/EasybytezComFolder.py b/module/plugins/crypter/EasybytezComFolder.py index 5f8daf55c..f53c8c8b2 100644 --- a/module/plugins/crypter/EasybytezComFolder.py +++ b/module/plugins/crypter/EasybytezComFolder.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.XFSPCrypter import XFSPCrypter +from module.plugins.internal.XFSCrypter import XFSCrypter -class EasybytezComFolder(XFSPCrypter): +class EasybytezComFolder(XFSCrypter): __name__ = "EasybytezComFolder" __type__ = "crypter" - __version__ = "0.09" + __version__ = "0.10" __pattern__ = r'http://(?:www\.)?easybytez\.com/users/(?P<ID>\d+/\d+)' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -17,6 +17,6 @@ class EasybytezComFolder(XFSPCrypter): __authors__ = [("stickell", "l.stickell@yahoo.it")] - HOSTER_NAME = "easybytez.com" + HOSTER_DOMAIN = "easybytez.com" LOGIN_ACCOUNT = True diff --git a/module/plugins/crypter/FilecloudIoFolder.py b/module/plugins/crypter/FilecloudIoFolder.py index c78dcb490..cc5c2a160 100644 --- a/module/plugins/crypter/FilecloudIoFolder.py +++ b/module/plugins/crypter/FilecloudIoFolder.py @@ -6,7 +6,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilecloudIoFolder(SimpleCrypter): __name__ = "FilecloudIoFolder" __type__ = "crypter" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'https?://(?:www\.)?(filecloud\.io|ifile\.it)/_\w+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -18,4 +18,4 @@ class FilecloudIoFolder(SimpleCrypter): LINK_PATTERN = r'href="(http://filecloud\.io/\w+)" title' - TITLE_PATTERN = r'>(.+?) - filecloud\.io<' + NAME_PATTERN = r'>(.+?) - filecloud\.io<' diff --git a/module/plugins/crypter/FilefactoryComFolder.py b/module/plugins/crypter/FilefactoryComFolder.py index 996e24f05..4975ba506 100644 --- a/module/plugins/crypter/FilefactoryComFolder.py +++ b/module/plugins/crypter/FilefactoryComFolder.py @@ -6,7 +6,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilefactoryComFolder(SimpleCrypter): __name__ = "FilefactoryComFolder" __type__ = "crypter" - __version__ = "0.3" + __version__ = "0.31" __pattern__ = r'https?://(?:www\.)?filefactory\.com/(?:f|folder)/\w+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -18,7 +18,7 @@ class FilefactoryComFolder(SimpleCrypter): LINK_PATTERN = r'<td><a href="([^"]+)">' - TITLE_PATTERN = r'<h1>Files in <span>(.+)</span></h1>' + NAME_PATTERN = r'<h1>Files in <span>(.+)</span></h1>' PAGES_PATTERN = r'data-paginator-totalPages="(\d+)"' COOKIES = [('.filefactory.com', 'locale', 'en_US.utf8')] diff --git a/module/plugins/crypter/FilerNetFolder.py b/module/plugins/crypter/FilerNetFolder.py index 2def580a4..37c958e87 100644 --- a/module/plugins/crypter/FilerNetFolder.py +++ b/module/plugins/crypter/FilerNetFolder.py @@ -6,7 +6,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilerNetFolder(SimpleCrypter): __name__ = "FilerNetFolder" __type__ = "crypter" - __version__ = "0.4" + __version__ = "0.41" __pattern__ = r'https?://filer\.net/folder/\w{16}' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -19,7 +19,7 @@ class FilerNetFolder(SimpleCrypter): LINK_PATTERN = r'href="(/get/\w{16})">(?!<)' - TITLE_PATTERN = r'<h3>(.+?) - <small' + NAME_PATTERN = r'<h3>(.+?) - <small' def getLinks(self): diff --git a/module/plugins/crypter/FilestubeCom.py b/module/plugins/crypter/FilestubeCom.py index ccbacef8b..ecd6b9fc7 100644 --- a/module/plugins/crypter/FilestubeCom.py +++ b/module/plugins/crypter/FilestubeCom.py @@ -6,7 +6,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilestubeCom(SimpleCrypter): __name__ = "FilestubeCom" __type__ = "crypter" - __version__ = "0.04" + __version__ = "0.05" __pattern__ = r'http://(?:www\.)?filestube\.(?:com|to)/\w+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -18,4 +18,4 @@ class FilestubeCom(SimpleCrypter): LINK_PATTERN = r'<a class=\"file-link-main(?: noref)?\" [^>]* href=\"(http://[^\"]+)' - TITLE_PATTERN = r'<h1\s*> (.+) download\s*</h1>' + NAME_PATTERN = r'<h1\s*> (.+) download\s*</h1>' diff --git a/module/plugins/crypter/FiletramCom.py b/module/plugins/crypter/FiletramCom.py index f48d56201..50233e903 100644 --- a/module/plugins/crypter/FiletramCom.py +++ b/module/plugins/crypter/FiletramCom.py @@ -6,7 +6,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FiletramCom(SimpleCrypter): __name__ = "FiletramCom" __type__ = "crypter" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?filetram\.com/[^/]+/.+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -19,4 +19,4 @@ class FiletramCom(SimpleCrypter): LINK_PATTERN = r'\s+(http://.+)' - TITLE_PATTERN = r'<title>(.+?) - Free Download' + NAME_PATTERN = r'<title>(.+?) - Free Download' diff --git a/module/plugins/crypter/FreakhareComFolder.py b/module/plugins/crypter/FreakhareComFolder.py index d7a1387d5..4d9ffca1d 100644 --- a/module/plugins/crypter/FreakhareComFolder.py +++ b/module/plugins/crypter/FreakhareComFolder.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FreakhareComFolder(SimpleCrypter): __name__ = "FreakhareComFolder" __type__ = "crypter" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?freakshare\.com/folder/.+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -20,7 +20,7 @@ class FreakhareComFolder(SimpleCrypter): LINK_PATTERN = r'<a href="(http://freakshare\.com/files/[^"]+)" target="_blank">' - TITLE_PATTERN = r'Folder:</b> (.+)' + NAME_PATTERN = r'Folder:</b> (.+)' PAGES_PATTERN = r'Pages: +(\d+)' diff --git a/module/plugins/crypter/ImgurComAlbum.py b/module/plugins/crypter/ImgurComAlbum.py index cfe887baf..5402ed43f 100644 --- a/module/plugins/crypter/ImgurComAlbum.py +++ b/module/plugins/crypter/ImgurComAlbum.py @@ -7,7 +7,7 @@ from module.utils import uniqify class ImgurComAlbum(SimpleCrypter): __name__ = "ImgurComAlbum" __type__ = "crypter" - __version__ = "0.5" + __version__ = "0.51" __pattern__ = r'https?://(?:www\.|m\.)?imgur\.com/(a|gallery|)/?\w{5,7}' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -18,7 +18,7 @@ class ImgurComAlbum(SimpleCrypter): __authors__ = [("nath_schwarz", "nathan.notwhite@gmail.com")] - TITLE_PATTERN = r'(.+?) - Imgur' + NAME_PATTERN = r'(.+?) - Imgur' LINK_PATTERN = r'i\.imgur\.com/\w{7}s?\.(?:jpeg|jpg|png|gif|apng)' diff --git a/module/plugins/crypter/JunocloudMeFolder.py b/module/plugins/crypter/JunocloudMeFolder.py index 1e08fc352..509f1f7ec 100644 --- a/module/plugins/crypter/JunocloudMeFolder.py +++ b/module/plugins/crypter/JunocloudMeFolder.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.XFSPCrypter import XFSPCrypter +from module.plugins.internal.XFSCrypter import XFSCrypter -class JunocloudMeFolder(XFSPCrypter): +class JunocloudMeFolder(XFSCrypter): __name__ = "JunocloudMeFolder" __type__ = "crypter" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?junocloud\.me/folders/(?P<ID>\d+/\w+)' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -17,4 +17,4 @@ class JunocloudMeFolder(XFSPCrypter): __authors__ = [("guidobelix", "guidobelix@hotmail.it")] - HOSTER_NAME = "junocloud.me" + HOSTER_DOMAIN = "junocloud.me" diff --git a/module/plugins/crypter/MediafireComFolder.py b/module/plugins/crypter/MediafireComFolder.py index f4858e214..c83de4715 100644 --- a/module/plugins/crypter/MediafireComFolder.py +++ b/module/plugins/crypter/MediafireComFolder.py @@ -21,7 +21,7 @@ class MediafireComFolder(Crypter): FOLDER_KEY_PATTERN = r'var afI= \'(\w+)' - FILE_URL_PATTERN = r'<meta property="og:url" content="http://www\.mediafire\.com/\?(\w+)"/>' + LINK_PATTERN = r'<meta property="og:url" content="http://www\.mediafire\.com/\?(\w+)"/>' def decrypt(self, pyfile): @@ -31,7 +31,7 @@ class MediafireComFolder(Crypter): if result == 0: # load and parse html html = self.load(pyfile.url) - m = re.search(self.FILE_URL_PATTERN, html) + m = re.search(self.LINK_PATTERN, html) if m: # file page self.urls.append("http://www.mediafire.com/file/%s" % m.group(1)) diff --git a/module/plugins/crypter/MultiUpOrg.py b/module/plugins/crypter/MultiUpOrg.py index 25575a7f8..717b209ec 100644 --- a/module/plugins/crypter/MultiUpOrg.py +++ b/module/plugins/crypter/MultiUpOrg.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class MultiUpOrg(SimpleCrypter): __name__ = "MultiUpOrg" __type__ = "crypter" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?multiup\.org/(en|fr)/(?P<TYPE>project|download|miror)/\w+(/\w+)?' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -20,7 +20,7 @@ class MultiUpOrg(SimpleCrypter): __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] - TITLE_PATTERN = r'<title>.*(?:Project|Projet|ownload|élécharger) (.+?) (?:\(|- )' + NAME_PATTERN = r'<title>.*(?:Project|Projet|ownload|élécharger) (.+?) (?:\(|- )' def getLinks(self): diff --git a/module/plugins/crypter/NetfolderIn.py b/module/plugins/crypter/NetfolderIn.py index 4309d30a1..d94b88af1 100644 --- a/module/plugins/crypter/NetfolderIn.py +++ b/module/plugins/crypter/NetfolderIn.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class NetfolderIn(SimpleCrypter): __name__ = "NetfolderIn" __type__ = "crypter" - __version__ = "0.7" + __version__ = "0.71" __pattern__ = r'http://(?:www\.)?netfolder\.in/((?P<id1>\w+)/\w+|folder\.php\?folder_id=(?P<id2>\w+))' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -20,7 +20,7 @@ class NetfolderIn(SimpleCrypter): ("fragonib", "fragonib[AT]yahoo[DOT]es")] - TITLE_PATTERN = r'<div class="Text">Inhalt des Ordners <span.*>(.+)</span></div>' + NAME_PATTERN = r'<div class="Text">Inhalt des Ordners <span.*>(.+)</span></div>' def decrypt(self, pyfile): diff --git a/module/plugins/crypter/NosvideoCom.py b/module/plugins/crypter/NosvideoCom.py index e3335adc7..bc908279f 100644 --- a/module/plugins/crypter/NosvideoCom.py +++ b/module/plugins/crypter/NosvideoCom.py @@ -6,7 +6,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class NosvideoCom(SimpleCrypter): __name__ = "NosvideoCom" __type__ = "crypter" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?nosvideo\.com/\?v=\w+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -18,4 +18,4 @@ class NosvideoCom(SimpleCrypter): LINK_PATTERN = r'href="(http://(?:w{3}\.)?nosupload\.com/\?d=\w+)"' - TITLE_PATTERN = r'<[tT]itle>Watch (.+?)<' + NAME_PATTERN = r'<[tT]itle>Watch (.+?)<' diff --git a/module/plugins/crypter/PastebinCom.py b/module/plugins/crypter/PastebinCom.py index 185de1e47..e0dfa4fd8 100644 --- a/module/plugins/crypter/PastebinCom.py +++ b/module/plugins/crypter/PastebinCom.py @@ -6,7 +6,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class PastebinCom(SimpleCrypter): __name__ = "PastebinCom" __type__ = "crypter" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?pastebin\.com/\w+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -18,4 +18,4 @@ class PastebinCom(SimpleCrypter): LINK_PATTERN = r'<div class="de\d+">(https?://[^ <]+)(?:[^<]*)</div>' - TITLE_PATTERN = r'<div class="paste_box_line1" title="([^"]+)">' + NAME_PATTERN = r'<div class="paste_box_line1" title="([^"]+)">' diff --git a/module/plugins/crypter/RapidfileshareNetFolder.py b/module/plugins/crypter/RapidfileshareNetFolder.py index 43a3e34dd..5531d5a90 100644 --- a/module/plugins/crypter/RapidfileshareNetFolder.py +++ b/module/plugins/crypter/RapidfileshareNetFolder.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.XFSPCrypter import XFSPCrypter +from module.plugins.internal.XFSCrypter import XFSCrypter -class RapidfileshareNetFolder(XFSPCrypter): +class RapidfileshareNetFolder(XFSCrypter): __name__ = "RapidfileshareNetFolder" __type__ = "crypter" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?rapidfileshare\.net/users/\w+/\d+/\w+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -17,4 +17,4 @@ class RapidfileshareNetFolder(XFSPCrypter): __authors__ = [("guidobelix", "guidobelix@hotmail.it")] - HOSTER_NAME = "rapidfileshare.net" + HOSTER_DOMAIN = "rapidfileshare.net" diff --git a/module/plugins/crypter/TnyCz.py b/module/plugins/crypter/TnyCz.py index 742b2f7ed..4e29d1032 100644 --- a/module/plugins/crypter/TnyCz.py +++ b/module/plugins/crypter/TnyCz.py @@ -8,7 +8,7 @@ import re class TnyCz(SimpleCrypter): __name__ = "TnyCz" __type__ = "crypter" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?tny\.cz/\w+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -19,7 +19,7 @@ class TnyCz(SimpleCrypter): __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] - TITLE_PATTERN = r'<title>(.+) - .+</title>' + NAME_PATTERN = r'<title>(.+) - .+</title>' def getLinks(self): diff --git a/module/plugins/crypter/TurbobitNetFolder.py b/module/plugins/crypter/TurbobitNetFolder.py index a737faf11..79fd7d7e0 100644 --- a/module/plugins/crypter/TurbobitNetFolder.py +++ b/module/plugins/crypter/TurbobitNetFolder.py @@ -9,7 +9,7 @@ from module.common.json_layer import json_loads class TurbobitNetFolder(SimpleCrypter): __name__ = "TurbobitNetFolder" __type__ = "crypter" - __version__ = "0.04" + __version__ = "0.05" __pattern__ = r'http://(?:www\.)?turbobit\.net/download/folder/(?P<ID>\w+)' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -21,7 +21,7 @@ class TurbobitNetFolder(SimpleCrypter): ("Walter Purcaro", "vuolter@gmail.com")] - TITLE_PATTERN = r'src=\'/js/lib/grid/icon/folder.png\'> <span>(.+?)</span>' + NAME_PATTERN = r'src=\'/js/lib/grid/icon/folder.png\'> <span>(.+?)</span>' def _getLinks(self, id, page=1): diff --git a/module/plugins/crypter/TusfilesNetFolder.py b/module/plugins/crypter/TusfilesNetFolder.py index 73b8b6a2b..7c1375f93 100644 --- a/module/plugins/crypter/TusfilesNetFolder.py +++ b/module/plugins/crypter/TusfilesNetFolder.py @@ -4,13 +4,13 @@ import math import re from urlparse import urljoin -from module.plugins.internal.XFSPCrypter import XFSPCrypter +from module.plugins.internal.XFSCrypter import XFSCrypter -class TusfilesNetFolder(XFSPCrypter): +class TusfilesNetFolder(XFSCrypter): __name__ = "TusfilesNetFolder" __type__ = "crypter" - __version__ = "0.04" + __version__ = "0.05" __pattern__ = r'https?://(?:www\.)?tusfiles\.net/go/(?P<ID>\w+)' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -22,7 +22,7 @@ class TusfilesNetFolder(XFSPCrypter): ("stickell", "l.stickell@yahoo.it")] - HOSTER_NAME = "tusfiles.net" + HOSTER_DOMAIN = "tusfiles.net" PAGES_PATTERN = r'>\((\d+) \w+\)<' diff --git a/module/plugins/crypter/UploadableChFolder.py b/module/plugins/crypter/UploadableChFolder.py index 1a2178de4..9653d8891 100644 --- a/module/plugins/crypter/UploadableChFolder.py +++ b/module/plugins/crypter/UploadableChFolder.py @@ -6,7 +6,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class UploadableChFolder(SimpleCrypter): __name__ = "UploadableChFolder" __type__ = "crypter" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?uploadable\.ch/list/\w+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -19,6 +19,6 @@ class UploadableChFolder(SimpleCrypter): LINK_PATTERN = r'"(.+?)" class="icon_zipfile">' - TITLE_PATTERN = r'<div class="folder"><span> </span>(.+?)</div>' + NAME_PATTERN = r'<div class="folder"><span> </span>(.+?)</div>' OFFLINE_PATTERN = r'We are sorry... The URL you entered cannot be found on the server.' TEMP_OFFLINE_PATTERN = r'<div class="icon_err">' diff --git a/module/plugins/crypter/UploadedToFolder.py b/module/plugins/crypter/UploadedToFolder.py index 98922d4e2..23e803979 100644 --- a/module/plugins/crypter/UploadedToFolder.py +++ b/module/plugins/crypter/UploadedToFolder.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class UploadedToFolder(SimpleCrypter): __name__ = "UploadedToFolder" __type__ = "crypter" - __version__ = "0.4" + __version__ = "0.41" __pattern__ = r'http://(?:www\.)?(uploaded|ul)\.(to|net)/(f|folder|list)/(?P<id>\w+)' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -20,7 +20,7 @@ class UploadedToFolder(SimpleCrypter): PLAIN_PATTERN = r'<small class="date"><a href="(?P<plain>[\w/]+)" onclick=' - TITLE_PATTERN = r'<title>(.+?)<' + NAME_PATTERN = r'<title>(.+?)<' def decrypt(self, pyfile): -- cgit v1.2.3 From ae15749449563f5adaabd250ea62460c18af6498 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Mon, 3 Nov 2014 12:16:40 +0100 Subject: Update crypters --- module/plugins/crypter/BitshareComFolder.py | 2 +- module/plugins/crypter/DataHuFolder.py | 25 ++++++++++--------------- module/plugins/crypter/DevhostStFolder.py | 9 ++++++--- module/plugins/crypter/FilecloudIoFolder.py | 2 +- module/plugins/crypter/FilefactoryComFolder.py | 2 +- module/plugins/crypter/FilerNetFolder.py | 2 +- module/plugins/crypter/FilestubeCom.py | 2 +- module/plugins/crypter/FiletramCom.py | 2 +- module/plugins/crypter/FreakhareComFolder.py | 2 +- module/plugins/crypter/ImgurComAlbum.py | 2 +- module/plugins/crypter/MultiUpOrg.py | 2 +- module/plugins/crypter/NetfolderIn.py | 18 ++++-------------- module/plugins/crypter/NosvideoCom.py | 2 +- module/plugins/crypter/PastebinCom.py | 2 +- module/plugins/crypter/SexuriaCom.py | 6 ++---- module/plugins/crypter/TnyCz.py | 2 +- module/plugins/crypter/TurbobitNetFolder.py | 2 +- module/plugins/crypter/TusfilesNetFolder.py | 4 ++-- module/plugins/crypter/UploadableChFolder.py | 2 +- module/plugins/crypter/UploadedToFolder.py | 25 +++++++++---------------- 20 files changed, 47 insertions(+), 68 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/BitshareComFolder.py b/module/plugins/crypter/BitshareComFolder.py index e77870d26..e4038aebf 100644 --- a/module/plugins/crypter/BitshareComFolder.py +++ b/module/plugins/crypter/BitshareComFolder.py @@ -18,4 +18,4 @@ class BitshareComFolder(SimpleCrypter): LINK_PATTERN = r'<a href="(http://bitshare\.com/files/.+)">.+</a></td>' - NAME_PATTERN = r'View public folder "(.+)"</h1>' + NAME_PATTERN = r'View public folder "(?P<N>.+)"</h1>' diff --git a/module/plugins/crypter/DataHuFolder.py b/module/plugins/crypter/DataHuFolder.py index 39523c05d..0399e686d 100644 --- a/module/plugins/crypter/DataHuFolder.py +++ b/module/plugins/crypter/DataHuFolder.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DataHuFolder(SimpleCrypter): __name__ = "DataHuFolder" __type__ = "crypter" - __version__ = "0.05" + __version__ = "0.06" __pattern__ = r'http://(?:www\.)?data\.hu/dir/\w+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -21,25 +21,20 @@ class DataHuFolder(SimpleCrypter): LINK_PATTERN = r'<a href=\'(http://data\.hu/get/.+)\' target=\'_blank\'>\1</a>' - NAME_PATTERN = ur'<title>(.+) Let\xf6lt\xe9se</title>' + NAME_PATTERN = ur'<title>(?P<N>.+) Let\xf6lt\xe9se</title>' - def decrypt(self, pyfile): - self.html = self.load(pyfile.url, decode=True) + def prepare(self): + super(DataHuFolder, self).prepare() if u'K\xe9rlek add meg a jelsz\xf3t' in self.html: # Password protected password = self.getPassword() - if password is '': - self.fail(_("No password specified, please set right password on Add package form and retry")) - self.logDebug("The folder is password protected', 'Using password: " + password) - self.html = self.load(pyfile.url, post={'mappa_pass': password}, decode=True) - if u'Hib\xe1s jelsz\xf3' in self.html: # Wrong password - self.fail(_("Incorrect password, please set right password on Add package form and retry")) + if not password: + self.fail(_("Password required")) - package_name, folder_name = self.getPackageNameAndFolder() + self.logDebug("The folder is password protected', 'Using password: " + password) - package_links = re.findall(self.LINK_PATTERN, self.html) - self.logDebug("Package has %d links" % len(package_links)) + self.html = self.load(self.pyfile.url, post={'mappa_pass': password}, decode=True) - if package_links: - self.packages = [(package_name, package_links, folder_name)] + if u'Hib\xe1s jelsz\xf3' in self.html: # Wrong password + self.fail(_("Wrong password")) diff --git a/module/plugins/crypter/DevhostStFolder.py b/module/plugins/crypter/DevhostStFolder.py index 397a72ac4..16931984b 100644 --- a/module/plugins/crypter/DevhostStFolder.py +++ b/module/plugins/crypter/DevhostStFolder.py @@ -13,7 +13,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DevhostStFolder(SimpleCrypter): __name__ = "DevhostStFolder" __type__ = "crypter" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?d-h\.st/users/(?P<USER>\w+)(/\?fld_id=(?P<ID>\d+))?' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -29,7 +29,10 @@ class DevhostStFolder(SimpleCrypter): OFFLINE_PATTERN = r'"/cHP">test\.png<' - def getPackageNameAndFolder(self): + def getFileInfo(self): + if re.search(self.OFFLINE_PATTERN, self.html): + self.offline() + try: id = re.match(self.__pattern__, self.pyfile.url).group('ID') if id == "0": @@ -48,7 +51,7 @@ class DevhostStFolder(SimpleCrypter): self.logDebug(str(e)) name = folder = re.match(self.__pattern__, self.pyfile.url).group('USER') - return name, folder + return {'name': name, 'folder': folder} def getLinks(self): diff --git a/module/plugins/crypter/FilecloudIoFolder.py b/module/plugins/crypter/FilecloudIoFolder.py index cc5c2a160..5640ab5c9 100644 --- a/module/plugins/crypter/FilecloudIoFolder.py +++ b/module/plugins/crypter/FilecloudIoFolder.py @@ -18,4 +18,4 @@ class FilecloudIoFolder(SimpleCrypter): LINK_PATTERN = r'href="(http://filecloud\.io/\w+)" title' - NAME_PATTERN = r'>(.+?) - filecloud\.io<' + NAME_PATTERN = r'>(?P<N>.+?) - filecloud\.io<' diff --git a/module/plugins/crypter/FilefactoryComFolder.py b/module/plugins/crypter/FilefactoryComFolder.py index 4975ba506..ab4e76092 100644 --- a/module/plugins/crypter/FilefactoryComFolder.py +++ b/module/plugins/crypter/FilefactoryComFolder.py @@ -18,7 +18,7 @@ class FilefactoryComFolder(SimpleCrypter): LINK_PATTERN = r'<td><a href="([^"]+)">' - NAME_PATTERN = r'<h1>Files in <span>(.+)</span></h1>' + NAME_PATTERN = r'<h1>Files in <span>(?P<N>.+)</span></h1>' PAGES_PATTERN = r'data-paginator-totalPages="(\d+)"' COOKIES = [('.filefactory.com', 'locale', 'en_US.utf8')] diff --git a/module/plugins/crypter/FilerNetFolder.py b/module/plugins/crypter/FilerNetFolder.py index 37c958e87..a2daba136 100644 --- a/module/plugins/crypter/FilerNetFolder.py +++ b/module/plugins/crypter/FilerNetFolder.py @@ -19,7 +19,7 @@ class FilerNetFolder(SimpleCrypter): LINK_PATTERN = r'href="(/get/\w{16})">(?!<)' - NAME_PATTERN = r'<h3>(.+?) - <small' + NAME_PATTERN = r'<h3>(?P<N>.+?) - <small' def getLinks(self): diff --git a/module/plugins/crypter/FilestubeCom.py b/module/plugins/crypter/FilestubeCom.py index ecd6b9fc7..29de108e5 100644 --- a/module/plugins/crypter/FilestubeCom.py +++ b/module/plugins/crypter/FilestubeCom.py @@ -18,4 +18,4 @@ class FilestubeCom(SimpleCrypter): LINK_PATTERN = r'<a class=\"file-link-main(?: noref)?\" [^>]* href=\"(http://[^\"]+)' - NAME_PATTERN = r'<h1\s*> (.+) download\s*</h1>' + NAME_PATTERN = r'<h1\s*> (?P<N>.+) download\s*</h1>' diff --git a/module/plugins/crypter/FiletramCom.py b/module/plugins/crypter/FiletramCom.py index 50233e903..e4c8b6360 100644 --- a/module/plugins/crypter/FiletramCom.py +++ b/module/plugins/crypter/FiletramCom.py @@ -19,4 +19,4 @@ class FiletramCom(SimpleCrypter): LINK_PATTERN = r'\s+(http://.+)' - NAME_PATTERN = r'<title>(.+?) - Free Download' + NAME_PATTERN = r'<title>(?P<N>.+?) - Free Download' diff --git a/module/plugins/crypter/FreakhareComFolder.py b/module/plugins/crypter/FreakhareComFolder.py index 4d9ffca1d..d4d3c6d3c 100644 --- a/module/plugins/crypter/FreakhareComFolder.py +++ b/module/plugins/crypter/FreakhareComFolder.py @@ -20,7 +20,7 @@ class FreakhareComFolder(SimpleCrypter): LINK_PATTERN = r'<a href="(http://freakshare\.com/files/[^"]+)" target="_blank">' - NAME_PATTERN = r'Folder:</b> (.+)' + NAME_PATTERN = r'Folder:</b> (?P<N>.+)' PAGES_PATTERN = r'Pages: +(\d+)' diff --git a/module/plugins/crypter/ImgurComAlbum.py b/module/plugins/crypter/ImgurComAlbum.py index 5402ed43f..f8f226a1b 100644 --- a/module/plugins/crypter/ImgurComAlbum.py +++ b/module/plugins/crypter/ImgurComAlbum.py @@ -18,7 +18,7 @@ class ImgurComAlbum(SimpleCrypter): __authors__ = [("nath_schwarz", "nathan.notwhite@gmail.com")] - NAME_PATTERN = r'(.+?) - Imgur' + NAME_PATTERN = r'(?P<N>.+?) - Imgur' LINK_PATTERN = r'i\.imgur\.com/\w{7}s?\.(?:jpeg|jpg|png|gif|apng)' diff --git a/module/plugins/crypter/MultiUpOrg.py b/module/plugins/crypter/MultiUpOrg.py index 717b209ec..5f3fc8b17 100644 --- a/module/plugins/crypter/MultiUpOrg.py +++ b/module/plugins/crypter/MultiUpOrg.py @@ -20,7 +20,7 @@ class MultiUpOrg(SimpleCrypter): __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] - NAME_PATTERN = r'<title>.*(?:Project|Projet|ownload|élécharger) (.+?) (?:\(|- )' + NAME_PATTERN = r'<title>.*(?:Project|Projet|ownload|élécharger) (?P<N>.+?) (\(|- )' def getLinks(self): diff --git a/module/plugins/crypter/NetfolderIn.py b/module/plugins/crypter/NetfolderIn.py index d94b88af1..a47bd0503 100644 --- a/module/plugins/crypter/NetfolderIn.py +++ b/module/plugins/crypter/NetfolderIn.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class NetfolderIn(SimpleCrypter): __name__ = "NetfolderIn" __type__ = "crypter" - __version__ = "0.71" + __version__ = "0.72" __pattern__ = r'http://(?:www\.)?netfolder\.in/((?P<id1>\w+)/\w+|folder\.php\?folder_id=(?P<id2>\w+))' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -20,12 +20,11 @@ class NetfolderIn(SimpleCrypter): ("fragonib", "fragonib[AT]yahoo[DOT]es")] - NAME_PATTERN = r'<div class="Text">Inhalt des Ordners <span.*>(.+)</span></div>' + NAME_PATTERN = r'<div class="Text">Inhalt des Ordners <span.*>(?P<N>.+)</span></div>' - def decrypt(self, pyfile): - # Request package - self.html = self.load(pyfile.url) + def prepare(self): + super(NetfolderIn, self).prepare() # Check for password protection if self.isPasswordProtected(): @@ -33,15 +32,6 @@ class NetfolderIn(SimpleCrypter): if not self.html: self.fail(_("Incorrect password, please set right password on Add package form and retry")) - # Get package name and folder - (package_name, folder_name) = self.getPackageNameAndFolder() - - # Get package links - package_links = self.getLinks() - - # Set package - self.packages = [(package_name, package_links, folder_name)] - def isPasswordProtected(self): if '<input type="password" name="password"' in self.html: diff --git a/module/plugins/crypter/NosvideoCom.py b/module/plugins/crypter/NosvideoCom.py index bc908279f..3abefdadb 100644 --- a/module/plugins/crypter/NosvideoCom.py +++ b/module/plugins/crypter/NosvideoCom.py @@ -18,4 +18,4 @@ class NosvideoCom(SimpleCrypter): LINK_PATTERN = r'href="(http://(?:w{3}\.)?nosupload\.com/\?d=\w+)"' - NAME_PATTERN = r'<[tT]itle>Watch (.+?)<' + NAME_PATTERN = r'<[tT]itle>Watch (?P<N>.+?)<' diff --git a/module/plugins/crypter/PastebinCom.py b/module/plugins/crypter/PastebinCom.py index e0dfa4fd8..1dae39bb8 100644 --- a/module/plugins/crypter/PastebinCom.py +++ b/module/plugins/crypter/PastebinCom.py @@ -18,4 +18,4 @@ class PastebinCom(SimpleCrypter): LINK_PATTERN = r'<div class="de\d+">(https?://[^ <]+)(?:[^<]*)</div>' - NAME_PATTERN = r'<div class="paste_box_line1" title="([^"]+)">' + NAME_PATTERN = r'<div class="paste_box_line1" title="(?P<N>[^"]+)">' diff --git a/module/plugins/crypter/SexuriaCom.py b/module/plugins/crypter/SexuriaCom.py index 6166c2023..3c952fd6b 100644 --- a/module/plugins/crypter/SexuriaCom.py +++ b/module/plugins/crypter/SexuriaCom.py @@ -34,10 +34,8 @@ class SexuriaCom(Crypter): self.package = pyfile.package() # Get package links - (package_name, package_links, folder_name, package_pwd) = self.decryptLinks(self.pyfile.url) - if package_pwd: - self.pyfile.package().password = package_pwd - self.packages.append((package_name, package_links, folder_name)) + package_name, self.links, folder_name, package_pwd = self.decryptLinks(self.pyfile.url) + self.packages = [(package_name, self.links, folder_name)] def decryptLinks(self, url): diff --git a/module/plugins/crypter/TnyCz.py b/module/plugins/crypter/TnyCz.py index 4e29d1032..6dde729f5 100644 --- a/module/plugins/crypter/TnyCz.py +++ b/module/plugins/crypter/TnyCz.py @@ -19,7 +19,7 @@ class TnyCz(SimpleCrypter): __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] - NAME_PATTERN = r'<title>(.+) - .+</title>' + NAME_PATTERN = r'<title>(?P<N>.+) - .+</title>' def getLinks(self): diff --git a/module/plugins/crypter/TurbobitNetFolder.py b/module/plugins/crypter/TurbobitNetFolder.py index 79fd7d7e0..4e07564af 100644 --- a/module/plugins/crypter/TurbobitNetFolder.py +++ b/module/plugins/crypter/TurbobitNetFolder.py @@ -21,7 +21,7 @@ class TurbobitNetFolder(SimpleCrypter): ("Walter Purcaro", "vuolter@gmail.com")] - NAME_PATTERN = r'src=\'/js/lib/grid/icon/folder.png\'> <span>(.+?)</span>' + NAME_PATTERN = r'src=\'/js/lib/grid/icon/folder.png\'> <span>(?P<N>.+?)</span>' def _getLinks(self, id, page=1): diff --git a/module/plugins/crypter/TusfilesNetFolder.py b/module/plugins/crypter/TusfilesNetFolder.py index 7c1375f93..e8da59736 100644 --- a/module/plugins/crypter/TusfilesNetFolder.py +++ b/module/plugins/crypter/TusfilesNetFolder.py @@ -10,7 +10,7 @@ from module.plugins.internal.XFSCrypter import XFSCrypter class TusfilesNetFolder(XFSCrypter): __name__ = "TusfilesNetFolder" __type__ = "crypter" - __version__ = "0.05" + __version__ = "0.06" __pattern__ = r'https?://(?:www\.)?tusfiles\.net/go/(?P<ID>\w+)' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -42,4 +42,4 @@ class TusfilesNetFolder(XFSCrypter): for p in xrange(2, pages + 1): self.html = self.loadPage(p) - self.package_links += self.getLinks() + self.links += self.getLinks() diff --git a/module/plugins/crypter/UploadableChFolder.py b/module/plugins/crypter/UploadableChFolder.py index 9653d8891..070753ac0 100644 --- a/module/plugins/crypter/UploadableChFolder.py +++ b/module/plugins/crypter/UploadableChFolder.py @@ -19,6 +19,6 @@ class UploadableChFolder(SimpleCrypter): LINK_PATTERN = r'"(.+?)" class="icon_zipfile">' - NAME_PATTERN = r'<div class="folder"><span> </span>(.+?)</div>' + NAME_PATTERN = r'<div class="folder"><span> </span>(?P<N>.+?)</div>' OFFLINE_PATTERN = r'We are sorry... The URL you entered cannot be found on the server.' TEMP_OFFLINE_PATTERN = r'<div class="icon_err">' diff --git a/module/plugins/crypter/UploadedToFolder.py b/module/plugins/crypter/UploadedToFolder.py index 23e803979..359ba92d0 100644 --- a/module/plugins/crypter/UploadedToFolder.py +++ b/module/plugins/crypter/UploadedToFolder.py @@ -2,13 +2,15 @@ import re +from urlparse import urljoin + from module.plugins.internal.SimpleCrypter import SimpleCrypter class UploadedToFolder(SimpleCrypter): __name__ = "UploadedToFolder" __type__ = "crypter" - __version__ = "0.41" + __version__ = "0.42" __pattern__ = r'http://(?:www\.)?(uploaded|ul)\.(to|net)/(f|folder|list)/(?P<id>\w+)' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -20,22 +22,13 @@ class UploadedToFolder(SimpleCrypter): PLAIN_PATTERN = r'<small class="date"><a href="(?P<plain>[\w/]+)" onclick=' - NAME_PATTERN = r'<title>(.+?)<' - + NAME_PATTERN = r'<title>(?P<N>.+?)<' - def decrypt(self, pyfile): - self.html = self.load(pyfile.url) - - package_name, folder_name = self.getPackageNameAndFolder() + def getLinks(self): m = re.search(self.PLAIN_PATTERN, self.html) - if m: - plain_link = 'http://uploaded.net/' + m.group('plain') - else: - self.error(_("Unable to find plain url list")) - - self.html = self.load(plain_link) - package_links = self.html.split('\n')[:-1] - self.logDebug("Package has %d links" % len(package_links)) + if m is None: + self.error(_("PLAIN_PATTERN not found")) - self.packages = [(package_name, package_links, folder_name)] + plain_link = urljoin("http://uploaded.net/", m.group('plain')) + return self.load(plain_link).split('\n')[:-1] -- cgit v1.2.3 From 03f3b86f500c495932fd118b54569d92f700847c Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Mon, 3 Nov 2014 16:57:55 +0100 Subject: Code cosmetics about file_info and other stuff --- module/plugins/crypter/LinkdecrypterCom.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/LinkdecrypterCom.py b/module/plugins/crypter/LinkdecrypterCom.py index f858da9d8..91318eadf 100644 --- a/module/plugins/crypter/LinkdecrypterCom.py +++ b/module/plugins/crypter/LinkdecrypterCom.py @@ -9,7 +9,7 @@ class LinkdecrypterCom(Crypter): __type__ = "crypter" __version__ = "0.27" - __pattern__ = None + __pattern__ = r'^unmatchable$' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] -- cgit v1.2.3 From 29b39ec6020ec8be623687f03bdf48172a612a66 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Thu, 6 Nov 2014 04:32:37 +0100 Subject: Code cosmetics --- module/plugins/crypter/EasybytezComFolder.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/EasybytezComFolder.py b/module/plugins/crypter/EasybytezComFolder.py index f53c8c8b2..fa3e6165c 100644 --- a/module/plugins/crypter/EasybytezComFolder.py +++ b/module/plugins/crypter/EasybytezComFolder.py @@ -8,7 +8,7 @@ class EasybytezComFolder(XFSCrypter): __type__ = "crypter" __version__ = "0.10" - __pattern__ = r'http://(?:www\.)?easybytez\.com/users/(?P<ID>\d+/\d+)' + __pattern__ = r'http://(?:www\.)?easybytez\.com/users/\d+/\d+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] -- cgit v1.2.3 From 58c9c8d78417ec6ccac5b6b117ea540033a09574 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Fri, 7 Nov 2014 17:08:21 +0100 Subject: Fix download link formatting in some plugins --- module/plugins/crypter/EmbeduploadCom.py | 2 +- module/plugins/crypter/SafelinkingNet.py | 16 +++++++--------- 2 files changed, 8 insertions(+), 10 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/EmbeduploadCom.py b/module/plugins/crypter/EmbeduploadCom.py index 7f06c99bd..1c372c1ca 100644 --- a/module/plugins/crypter/EmbeduploadCom.py +++ b/module/plugins/crypter/EmbeduploadCom.py @@ -53,7 +53,7 @@ class EmbeduploadCom(Crypter): for link in tmp_links: try: header = self.load(link, just_header=True) - if "location" in header: + if 'location' in header: new_links.append(header['location']) except BadHeader: pass diff --git a/module/plugins/crypter/SafelinkingNet.py b/module/plugins/crypter/SafelinkingNet.py index 1fbb6e137..9bb6c3229 100644 --- a/module/plugins/crypter/SafelinkingNet.py +++ b/module/plugins/crypter/SafelinkingNet.py @@ -14,7 +14,7 @@ from module.plugins.internal.CaptchaService import SolveMedia class SafelinkingNet(Crypter): __name__ = "SafelinkingNet" __type__ = "crypter" - __version__ = "0.1" + __version__ = "0.11" __pattern__ = r'https?://(?:www\.)?safelinking\.net/([pd])/\w+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -30,20 +30,18 @@ class SafelinkingNet(Crypter): def decrypt(self, pyfile): url = pyfile.url + if re.match(self.__pattern__, url).group(1) == "d": - self.req.http.c.setopt(FOLLOWLOCATION, 0) - self.load(url) - m = re.search("^Location: (.+)$", self.req.http.header, re.M) - if m: - self.urls = [m.group(1)] + + header = self.load(url, just_header=True) + if 'location' in header: + self.urls = [header['location']] else: - self.fail(_("Couldn't find forwarded Link")) + self.error(_("Couldn't find forwarded Link")) else: postData = {"post-protect": "1"} - self.html = self.load(url) - if "link-password" in self.html: postData['link-password'] = self.getPassword() -- cgit v1.2.3 From bd8259220ab4d56ab419b7b32045b08cc9b0a7c8 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sun, 9 Nov 2014 03:08:19 +0100 Subject: Use with statement instead open method when accessing fod + handle i/o error --- module/plugins/crypter/RelinkUs.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index cdb699ae0..4c84b62f7 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -216,12 +216,11 @@ class RelinkUs(Crypter): dlc = self.load(container_url) dlc_filename = self.fileid + ".dlc" dlc_filepath = os.path.join(self.config['general']['download_folder'], dlc_filename) - f = open(dlc_filepath, "wb") - f.write(dlc) - f.close() + with open(dlc_filepath, "wb") as f: + f.write(dlc) package_links.append(dlc_filepath) except: - self.logDebug("Unable to download DLC container") + self.fail("Unable to download DLC container") return package_links -- cgit v1.2.3 From af2e5a87e0951b574cbd8e0a485a6574f1d00cd5 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sun, 9 Nov 2014 17:36:27 +0100 Subject: New crypter LinkCryptWs --- module/plugins/crypter/LinkCryptWs.py | 343 ++++++++++++++++++++++++++++++++++ 1 file changed, 343 insertions(+) create mode 100644 module/plugins/crypter/LinkCryptWs.py (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/LinkCryptWs.py b/module/plugins/crypter/LinkCryptWs.py new file mode 100644 index 000000000..23a8a6512 --- /dev/null +++ b/module/plugins/crypter/LinkCryptWs.py @@ -0,0 +1,343 @@ +# -*- coding: utf-8 -*- + +import base64 +import binascii +import re + +import pycurl + +from Crypto.Cipher import AES + +from module.plugins.Crypter import Crypter +from module.utils import html_unescape + + +class LinkCryptWs(Crypter): + __name__ = "LinkCryptWs" + __type__ = "crypter" + __version__ = "0.04" + + __pattern__ = r'http://(?:www\.)?linkcrypt\.ws/(dir|container)/(?P<ID>\w+)' + + __description__ = """LinkCrypt.ws decrypter plugin""" + __license__ = "GPLv3" + __authors__ = [("kagenoshin", "kagenoshin[AT]gmx[DOT]ch"), + ("glukgluk", None)] + + + JK_KEY = "jk" + CRYPTED_KEY = "crypted" + + + def setup(self): + self.html = None + self.fileid = None + self.captcha = False + self.package = None + + self.preferred_sources = ['cnl', 'web', 'dlc', 'rsdf', 'ccf', ] #['cnl', 'rsdf', 'ccf', 'dlc', 'web'] + + + def prepare(): + # Init + self.package = pyfile.package() + self.fileid = re.match(self.__pattern__, pyfile.url).group('ID') + + self.req.cj.setCookie(".linkcrypt.ws", "language", "en") + + # Request package + self.req.http.c.setopt(pycurl.USERAGENT, "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko") #better chance to not get those key-captchas + self.html = self.load(self.pyfile.url) + + + def decrypt(self, pyfile): + #check if we have js + if not self.js: + self.fail(_("Missing JS Engine")) + + package_found = None + + self.prepare() + + if not self.isOnline(): + self.offline() + + if self.isKeyCaptchaProtected(): + self.retry(4, 30, _("Can't handle Key-Captcha")) + + if self.isCaptchaProtected(): + self.captcha = True + self.unlockCaptchaProtection() + self.handleCaptchaErrors() + + # Check for protection + if self.isPasswordProtected(): + self.unlockPasswordProtection() + self.handleErrors() + + # get unrar password + self.getunrarpw() + + # Get package name and folder + package_name, folder_name = self.getPackageInfo() + + #get the container definitions from script section + self.get_container_html() + + # Extract package links + package_links = [] + + for type_ in self.preferred_sources: + links = self.handleLinkSource(type_) + if links: + if isinstance(links, list): + package_links.extend(links) + else: + package_found = True + break + + package_links = set(package_links) + + # Pack + if package_links: + self.packages = [(package_name, package_links, folder_name)] + + elif package_found: + self.core.api.deletePackages([self.package.id]) + + + def isOnline(self): + if "<title>Linkcrypt.ws // Error 404</title>" in self.html: + self.logDebug("folder doesen't exist anymore") + return False + else: + return True + + + def isPasswordProtected(self): + if "Authorizing" in self.html: + self.logDebug("Links are password protected") + return True + else: + return False + + + def isCaptchaProtected(self): + if 'id="captcha">' in self.html: + self.logDebug("Links are captcha protected") + return True + else: + return False + + + def isKeyCaptchaProtected(self): + if re.search(r'Key[ -]', self.html, re.I): + return True + else: + return False + + + def unlockPasswordProtection(self): + password = self.getPassword() + + if password: + self.logDebug("Submitting password [%s] for protected links" % password) + self.html = self.load(self.pyfile.url, post={"password": password, 'x': "0", 'y': "0"}) + else: + self.fail(_("Folder is password protected")) + + + def unlockCaptchaProtection(self): + captcha_url = re.search(r'<form.*?id\s*?=\s*?"captcha"[^>]*?>.*?<\s*?input.*?src="([^"]*?)"', self.html, re.I | re.S).group(1) + captcha_code = self.decryptCaptcha(captcha_url, forceUser=True, imgtype="gif", result_type='positional') + + self.html = self.load(self.pyfile.url, post={"x": captcha_code[0], "y": captcha_code[1]}) + + + def getPackageInfo(self): + name = self.pyfile.package().name + folder = self.pyfile.package().folder + + self.logDebug("Defaulting to pyfile name [%s] and folder [%s] for package" % (name, folder)) + + return name, folder + + + def getunrarpw(self): + sitein = self.html + indexi = sitein.find("|source|") + 8 + indexe = sitein.find("|",indexi) + + unrarpw = sitein[indexi:indexe] + + if not (unrarpw == "Password" or "Dateipasswort") : + self.logDebug("File password set to: [%s]"% unrarpw) + self.pyfile.package().password = unrarpw + + + def handleErrors(self): + if self.isPasswordProtected(): + self.fail(_("Incorrect password")) + + + def handleCaptchaErrors(self): + if self.captcha: + if "Your choice was wrong!" in self.html: + self.invalidCaptcha() + self.retry() + else: + self.correctCaptcha() + + + def handleLinkSource(self, type_): + if type_ is 'cnl': + return self.handleCNL2() + + elif type_ is 'web': + return self.handleWebLinks() + + elif type_ in ('rsdf', 'ccf', 'dlc'): + return self.handleContainer(type_) + + else: + self.error(_("Unknown source type: %s") % type_) + + + def handleWebLinks(self): + self.logDebug("Search for Web links ") + + package_links = [] + pattern = r'<form action="http://linkcrypt.ws/out.html"[^>]*?>.*?<input[^>]*?value="([^"]*?)"[^>]*?name="file"' + ids = re.findall(pattern, self.html, re.I | re.S) + + self.logDebug("Decrypting %d Web links" % len(ids)) + + for idx, weblink_id in enumerate(ids): + try: + self.logDebug("Decrypting Web link %d, %s" % (idx + 1, weblink_id)) + + response = self.load("http://linkcrypt.ws/out.html", post = {'file':weblink_id}) + + indexs = response.find("window.location =") + 19 + indexe = response.find('"', indexs) + + link2= response[indexs:indexe] + + self.logDebug(link2) + + link2 = html_unescape(link2) + package_links.append(link2) + + except Exception, detail: + self.logDebug("Error decrypting Web link %s, %s" % (weblink_id, detail)) + + return package_links + + + def get_container_html(self): + self.container_html = [] + + script = re.search(r'<div.*?id="ad_cont".*?<script.*?javascrip[^>]*?>(.*?)</script', self.html, re.I | re.S) + + if script: + container_html_text = script.group(1) + container_html_text.strip() + self.container_html = container_html_text.splitlines() + + + def handle_javascript(self, line): + return self.js.eval(line.replace('{}))',"{}).replace('document.open();document.write','').replace(';document.close();',''))")) + + + def handleContainer(self, type_): + package_links = [] + type_ = type_.lower() + + self.logDebug('Search for %s Container links' % type_.upper()) + + if not type_.isalnum(): # check to prevent broken re-pattern (cnl2,rsdf,ccf,dlc,web are all alpha-numeric) + self.error(_("unknown container type: %s") % type_) + + for line in self.container_html: + if(type_ in line): + jseval = self.handle_javascript(line) + clink = re.search(r'href=["\']([^"\']*?)["\']',jseval,re.I) + + if not clink: + continue + + self.logDebug("clink avaible") + + package_name, folder_name = self.getPackageInfo() + self.logDebug("Added package with name %s.%s and container link %s" %( package_name, type_, clink.group(1))) + self.core.api.uploadContainer( "%s.%s" %(package_name, type_), self.load(clink.group(1))) + return "Found it" + + return package_links + + + def handleCNL2(self): + self.logDebug("Search for CNL links") + + package_links = [] + cnl_line = None + + for line in self.container_html: + if("cnl" in line): + cnl_line = line + break + + if cnl_line: + self.logDebug("cnl_line gefunden") + + try: + cnl_section = self.handle_javascript(cnl_line) + (vcrypted, vjk) = self._getCipherParams(cnl_section) + for (crypted, jk) in zip(vcrypted, vjk): + package_links.extend(self._getLinks(crypted, jk)) + except: + self.logError(_("Unable to decrypt CNL links (JS Error) try to get over links")) + return self.handleWebLinks() + + return package_links + + + def _getCipherParams(self, cnl_section): + # Get jk + jk_re = r'<INPUT.*?NAME="%s".*?VALUE="(.*?)"' % LinkCryptWs.JK_KEY + vjk = re.findall(jk_re, cnl_section) + + # Get crypted + crypted_re = r'<INPUT.*?NAME="%s".*?VALUE="(.*?)"' % LinkCryptWs.CRYPTED_KEY + vcrypted = re.findall(crypted_re, cnl_section) + + # Log and return + self.logDebug("Detected %d crypted blocks" % len(vcrypted)) + return vcrypted, vjk + + + def _getLinks(self, crypted, jk): + # Get key + jreturn = self.js.eval("%s f()" % jk) + key = binascii.unhexlify(jreturn) + + self.logDebug("JsEngine returns value [%s]" % jreturn) + + # Decode crypted + crypted = base64.standard_b64decode(crypted) + + # Decrypt + Key = key + IV = key + obj = AES.new(Key, AES.MODE_CBC, IV) + text = obj.decrypt(crypted) + + # Extract links + text = text.replace("\x00", "").replace("\r", "") + links = text.split("\n") + links = filter(lambda x: x != "", links) + + # Log and return + self.logDebug("Package has %d links" % len(links)) + + return links -- cgit v1.2.3 From c9e31d875d32de31e54959b82bc35eff2b3e0f3f Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Mon, 10 Nov 2014 00:19:51 +0100 Subject: Code cosmetics --- module/plugins/crypter/DevhostStFolder.py | 2 +- module/plugins/crypter/DuckCryptInfo.py | 12 ++++++------ module/plugins/crypter/FilefactoryComFolder.py | 2 +- module/plugins/crypter/HoerbuchIn.py | 8 ++++---- module/plugins/crypter/LinkCryptWs.py | 8 ++++---- module/plugins/crypter/LinkSaveIn.py | 15 +++++++++++---- module/plugins/crypter/ShareLinksBiz.py | 23 ++++++++++++++--------- 7 files changed, 41 insertions(+), 29 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/DevhostStFolder.py b/module/plugins/crypter/DevhostStFolder.py index 16931984b..192c5962c 100644 --- a/module/plugins/crypter/DevhostStFolder.py +++ b/module/plugins/crypter/DevhostStFolder.py @@ -48,7 +48,7 @@ class DevhostStFolder(SimpleCrypter): name = folder = m.group(1) except Exception, e: - self.logDebug(str(e)) + self.logDebug(e) name = folder = re.match(self.__pattern__, self.pyfile.url).group('USER') return {'name': name, 'folder': folder} diff --git a/module/plugins/crypter/DuckCryptInfo.py b/module/plugins/crypter/DuckCryptInfo.py index 5bd20711e..07cc5cdc4 100644 --- a/module/plugins/crypter/DuckCryptInfo.py +++ b/module/plugins/crypter/DuckCryptInfo.py @@ -37,11 +37,11 @@ class DuckCryptInfo(Crypter): def handleFolder(self, m): - src = self.load("http://duckcrypt.info/ajax/auth.php?hash=" + str(m.group(2))) - m = re.match(self.__pattern__, src) + html = self.load("http://duckcrypt.info/ajax/auth.php?hash=" + str(m.group(2))) + m = re.match(self.__pattern__, html) self.logDebug("Redirectet to " + str(m.group(0))) - src = self.load(str(m.group(0))) - soup = BeautifulSoup(src) + html = self.load(str(m.group(0))) + soup = BeautifulSoup(html) cryptlinks = soup.findAll("div", attrs={"class": "folderbox"}) self.logDebug("Redirectet to " + str(cryptlinks)) if not cryptlinks: @@ -52,8 +52,8 @@ class DuckCryptInfo(Crypter): def handleLink(self, url): - src = self.load(url) - soup = BeautifulSoup(src) + html = self.load(url) + soup = BeautifulSoup(html) self.urls = [soup.find("iframe")['src']] if not self.urls: self.logInfo(_("No link found")) diff --git a/module/plugins/crypter/FilefactoryComFolder.py b/module/plugins/crypter/FilefactoryComFolder.py index ab4e76092..92e9620f6 100644 --- a/module/plugins/crypter/FilefactoryComFolder.py +++ b/module/plugins/crypter/FilefactoryComFolder.py @@ -21,7 +21,7 @@ class FilefactoryComFolder(SimpleCrypter): NAME_PATTERN = r'<h1>Files in <span>(?P<N>.+)</span></h1>' PAGES_PATTERN = r'data-paginator-totalPages="(\d+)"' - COOKIES = [('.filefactory.com', 'locale', 'en_US.utf8')] + COOKIES = [(".filefactory.com", "locale", "en_US.utf8")] def loadPage(self, page_n): diff --git a/module/plugins/crypter/HoerbuchIn.py b/module/plugins/crypter/HoerbuchIn.py index ed4adef58..4d4b8fbef 100644 --- a/module/plugins/crypter/HoerbuchIn.py +++ b/module/plugins/crypter/HoerbuchIn.py @@ -30,8 +30,8 @@ class HoerbuchIn(Crypter): self.pyfile = pyfile if self.article.match(pyfile.url): - src = self.load(pyfile.url) - soup = BeautifulSoup(src, convertEntities=BeautifulStoneSoup.HTML_ENTITIES) + html = self.load(pyfile.url) + soup = BeautifulSoup(html, convertEntities=BeautifulStoneSoup.HTML_ENTITIES) abookname = soup.find("a", attrs={"rel": "bookmark"}).text for a in soup.findAll("a", attrs={"href": self.protection}): @@ -50,11 +50,11 @@ class HoerbuchIn(Crypter): url = m.group(0) self.pyfile.url = url - src = self.load(url, post={"viewed": "adpg"}) + html = self.load(url, post={"viewed": "adpg"}) links = [] pattern = re.compile("http://www\.hoerbuch\.in/protection/(\w+)/(.*?)\"") - for hoster, lid in pattern.findall(src): + for hoster, lid in pattern.findall(html): self.req.lastURL = url self.load("http://www.hoerbuch.in/protection/%s/%s" % (hoster, lid)) links.append(self.req.lastEffectiveURL) diff --git a/module/plugins/crypter/LinkCryptWs.py b/module/plugins/crypter/LinkCryptWs.py index 23a8a6512..67b1a3f02 100644 --- a/module/plugins/crypter/LinkCryptWs.py +++ b/module/plugins/crypter/LinkCryptWs.py @@ -216,12 +216,12 @@ class LinkCryptWs(Crypter): try: self.logDebug("Decrypting Web link %d, %s" % (idx + 1, weblink_id)) - response = self.load("http://linkcrypt.ws/out.html", post = {'file':weblink_id}) + res = self.load("http://linkcrypt.ws/out.html", post = {'file':weblink_id}) - indexs = response.find("window.location =") + 19 - indexe = response.find('"', indexs) + indexs = res.find("window.location =") + 19 + indexe = res.find('"', indexs) - link2= response[indexs:indexe] + link2 = res[indexs:indexe] self.logDebug(link2) diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index 72ce32810..7015f2ed3 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -155,18 +155,25 @@ class LinkSaveIn(SimpleCrypter): for i, weblink_id in enumerate(ids): try: webLink = "http://linksave.in/%s" % weblink_id + self.logDebug("Decrypting Web link %d, %s" % (i + 1, webLink)) + fwLink = "http://linksave.in/fw-%s" % weblink_id - response = self.load(fwLink) - jscode = re.findall(r'<script type="text/javascript">(.*)</script>', response)[-1] + res = self.load(fwLink) + + jscode = re.findall(r'<script type="text/javascript">(.*)</script>', res)[-1] jseval = self.js.eval("document = { write: function(e) { return e; } }; %s" % jscode) dlLink = re.search(r'http://linksave\.in/dl-\w+', jseval).group(0) self.logDebug("JsEngine returns value [%s] for redirection link" % dlLink) - response = self.load(dlLink) - link = unescape(re.search(r'<iframe src="(.+?)"', response).group(1)) + + res = self.load(dlLink) + link = unescape(re.search(r'<iframe src="(.+?)"', res).group(1)) + package_links.append(link) + except Exception, detail: self.logDebug("Error decrypting Web link %s, %s" % (webLink, detail)) + return package_links diff --git a/module/plugins/crypter/ShareLinksBiz.py b/module/plugins/crypter/ShareLinksBiz.py index 26d05fee1..d2e8138f6 100644 --- a/module/plugins/crypter/ShareLinksBiz.py +++ b/module/plugins/crypter/ShareLinksBiz.py @@ -192,17 +192,22 @@ class ShareLinksBiz(Crypter): for i, ID in enumerate(ids): try: self.logDebug("Decrypting Web link %d, [%s]" % (i + 1, ID)) + dwLink = self.baseUrl + "/get/lnk/" + ID - response = self.load(dwLink) - code = re.search(r'frm/(\d+)', response).group(1) + res = self.load(dwLink) + + code = re.search(r'frm/(\d+)', res).group(1) fwLink = self.baseUrl + "/get/frm/" + code - response = self.load(fwLink) - jscode = re.search(r'<script language="javascript">\s*eval\((.*)\)\s*</script>', response, - re.S).group(1) + res = self.load(fwLink) + + jscode = re.search(r'<script language="javascript">\s*eval\((.*)\)\s*</script>', res, re.S).group(1) jscode = self.js.eval("f = %s" % jscode) jslauncher = "window=''; parent={frames:{Main:{location:{href:''}}},location:''}; %s; parent.frames.Main.location.href" + dlLink = self.js.eval(jslauncher % jscode) + self.logDebug("JsEngine returns value [%s] for redirection link" % dlLink) + package_links.append(dlLink) except Exception, detail: self.logDebug("Error decrypting Web link [%s], %s" % (ID, detail)) @@ -237,10 +242,10 @@ class ShareLinksBiz(Crypter): def _getCipherParams(self): # Request CNL2 - code = re.search(r'ClicknLoad.swf\?code=(.*?)"', self.html).group(1) - url = "%s/get/cnl2/%s" % (self.baseUrl, code) - response = self.load(url) - params = response.split(";;") + code = re.search(r'ClicknLoad.swf\?code=(.*?)"', self.html).group(1) + url = "%s/get/cnl2/%s" % (self.baseUrl, code) + res = self.load(url) + params = res.split(";;") # Get jk strlist = list(base64.standard_b64decode(params[1])) -- cgit v1.2.3 From 974bcc6454723d3d35087441261e87b6ac4bd48b Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Mon, 10 Nov 2014 11:49:48 +0100 Subject: Re-add some dead crypters --- module/plugins/crypter/FilesonicComFolder.py | 15 +++++++++++++++ module/plugins/crypter/MegauploadComFolder.py | 15 +++++++++++++++ module/plugins/crypter/SharingmatrixComFolder.py | 15 +++++++++++++++ module/plugins/crypter/WuploadComFolder.py | 15 +++++++++++++++ 4 files changed, 60 insertions(+) create mode 100644 module/plugins/crypter/FilesonicComFolder.py create mode 100644 module/plugins/crypter/MegauploadComFolder.py create mode 100644 module/plugins/crypter/SharingmatrixComFolder.py create mode 100644 module/plugins/crypter/WuploadComFolder.py (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/FilesonicComFolder.py b/module/plugins/crypter/FilesonicComFolder.py new file mode 100644 index 000000000..2d0540d26 --- /dev/null +++ b/module/plugins/crypter/FilesonicComFolder.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- + +from module.plugins.internal.DeadCrypter import DeadCrypter + + +class FilesonicComFolder(DeadCrypter): + __name__ = "FilesonicComFolder" + __type__ = "crypter" + __version__ = "0.12" + + __pattern__ = r'http://(?:www\.)?filesonic\.com/folder/\w+' + + __description__ = """Filesonic.com folder decrypter plugin""" + __license__ = "GPLv3" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/crypter/MegauploadComFolder.py b/module/plugins/crypter/MegauploadComFolder.py new file mode 100644 index 000000000..1d487ed61 --- /dev/null +++ b/module/plugins/crypter/MegauploadComFolder.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- + +from module.plugins.internal.DeadCrypter import DeadCrypter + + +class MegauploadComFolder(DeadCrypter): + __name__ = "MegauploadComFolder" + __type__ = "crypter" + __version__ = "0.02" + + __pattern__ = r'http://(?:www\.)?megaupload\.com/(\?f|xml/folderfiles\.php\?.*&?folderid)=\w+' + + __description__ = """Megaupload.com folder decrypter plugin""" + __license__ = "GPLv3" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/crypter/SharingmatrixComFolder.py b/module/plugins/crypter/SharingmatrixComFolder.py new file mode 100644 index 000000000..ddc3bdb37 --- /dev/null +++ b/module/plugins/crypter/SharingmatrixComFolder.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- + +from module.plugins.internal.DeadCrypter import DeadCrypter + + +class SharingmatrixComFolder(DeadCrypter): + __name__ = "SharingmatrixComFolder" + __type__ = "crypter" + __version__ = "0.01" + + __pattern__ = r'http://(?:www\.)?sharingmatrix\.com/folder/\w+' + + __description__ = """Sharingmatrix.com folder decrypter plugin""" + __license__ = "GPLv3" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/crypter/WuploadComFolder.py b/module/plugins/crypter/WuploadComFolder.py new file mode 100644 index 000000000..b77bc3e67 --- /dev/null +++ b/module/plugins/crypter/WuploadComFolder.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- + +from module.plugins.internal.DeadCrypter import DeadCrypter + + +class WuploadComFolder(DeadCrypter): + __name__ = "WuploadComFolder" + __type__ = "crypter" + __version__ = "0.01" + + __pattern__ = r'http://(?:www\.)?wupload\.com/folder/\w+' + + __description__ = """Wupload.com folder decrypter plugin""" + __license__ = "GPLv3" + __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] -- cgit v1.2.3 From 5f150f8c284178ba55cce3ecdf347131cc61ad1a Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 15 Nov 2014 01:59:37 +0100 Subject: [LinkCryptWs] Fix typo --- module/plugins/crypter/LinkCryptWs.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/LinkCryptWs.py b/module/plugins/crypter/LinkCryptWs.py index 67b1a3f02..b90e18490 100644 --- a/module/plugins/crypter/LinkCryptWs.py +++ b/module/plugins/crypter/LinkCryptWs.py @@ -15,7 +15,7 @@ from module.utils import html_unescape class LinkCryptWs(Crypter): __name__ = "LinkCryptWs" __type__ = "crypter" - __version__ = "0.04" + __version__ = "0.05" __pattern__ = r'http://(?:www\.)?linkcrypt\.ws/(dir|container)/(?P<ID>\w+)' @@ -38,7 +38,7 @@ class LinkCryptWs(Crypter): self.preferred_sources = ['cnl', 'web', 'dlc', 'rsdf', 'ccf', ] #['cnl', 'rsdf', 'ccf', 'dlc', 'web'] - def prepare(): + def prepare(self): # Init self.package = pyfile.package() self.fileid = re.match(self.__pattern__, pyfile.url).group('ID') @@ -46,7 +46,7 @@ class LinkCryptWs(Crypter): self.req.cj.setCookie(".linkcrypt.ws", "language", "en") # Request package - self.req.http.c.setopt(pycurl.USERAGENT, "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko") #better chance to not get those key-captchas + self.req.http.c.setopt(pycurl.USERAGENT, "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko") #: better chance to not get those key-captchas self.html = self.load(self.pyfile.url) @@ -96,8 +96,6 @@ class LinkCryptWs(Crypter): package_found = True break - package_links = set(package_links) - # Pack if package_links: self.packages = [(package_name, package_links, folder_name)] -- cgit v1.2.3 From 17f00c79d9be1d087cee8da32f0cb8515004c321 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Thu, 20 Nov 2014 22:07:41 +0100 Subject: [LinkCryptWs] Fix (thx NETHeader) --- module/plugins/crypter/LinkCryptWs.py | 65 ++++++++++++++--------------------- 1 file changed, 25 insertions(+), 40 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/LinkCryptWs.py b/module/plugins/crypter/LinkCryptWs.py index b90e18490..578595228 100644 --- a/module/plugins/crypter/LinkCryptWs.py +++ b/module/plugins/crypter/LinkCryptWs.py @@ -15,7 +15,7 @@ from module.utils import html_unescape class LinkCryptWs(Crypter): __name__ = "LinkCryptWs" __type__ = "crypter" - __version__ = "0.05" + __version__ = "0.06" __pattern__ = r'http://(?:www\.)?linkcrypt\.ws/(dir|container)/(?P<ID>\w+)' @@ -25,25 +25,21 @@ class LinkCryptWs(Crypter): ("glukgluk", None)] - JK_KEY = "jk" CRYPTED_KEY = "crypted" + JK_KEY = "jk" def setup(self): - self.html = None - self.fileid = None self.captcha = False - self.package = None - - self.preferred_sources = ['cnl', 'web', 'dlc', 'rsdf', 'ccf', ] #['cnl', 'rsdf', 'ccf', 'dlc', 'web'] + self.links = [] + self.sources = ['cnl', 'web', 'dlc', 'rsdf', 'ccf'] def prepare(self): # Init - self.package = pyfile.package() self.fileid = re.match(self.__pattern__, pyfile.url).group('ID') - self.req.cj.setCookie(".linkcrypt.ws", "language", "en") + self.req.cj.setCookie("linkcrypt.ws", "language", "en") # Request package self.req.http.c.setopt(pycurl.USERAGENT, "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko") #: better chance to not get those key-captchas @@ -51,12 +47,9 @@ class LinkCryptWs(Crypter): def decrypt(self, pyfile): - #check if we have js if not self.js: self.fail(_("Missing JS Engine")) - package_found = None - self.prepare() if not self.isOnline(): @@ -85,23 +78,15 @@ class LinkCryptWs(Crypter): self.get_container_html() # Extract package links - package_links = [] + for type in self.sources: + links = self.handleLinkSource(type) - for type_ in self.preferred_sources: - links = self.handleLinkSource(type_) if links: - if isinstance(links, list): - package_links.extend(links) - else: - package_found = True + self.links.extend(links) break - # Pack - if package_links: - self.packages = [(package_name, package_links, folder_name)] - - elif package_found: - self.core.api.deletePackages([self.package.id]) + if self.links: + self.packages = [(package_name, self.links, folder_name)] def isOnline(self): @@ -187,18 +172,18 @@ class LinkCryptWs(Crypter): self.correctCaptcha() - def handleLinkSource(self, type_): - if type_ is 'cnl': + def handleLinkSource(self, type): + if type == 'cnl': return self.handleCNL2() - elif type_ is 'web': + elif type == 'web': return self.handleWebLinks() - elif type_ in ('rsdf', 'ccf', 'dlc'): - return self.handleContainer(type_) + elif type in ('rsdf', 'ccf', 'dlc'): + return self.handleContainer(type) else: - self.error(_("Unknown source type: %s") % type_) + self.fail(_("Unknown source type: %s") % type) #@TODO: Replace with self.error in 0.4.10 def handleWebLinks(self): @@ -247,17 +232,17 @@ class LinkCryptWs(Crypter): return self.js.eval(line.replace('{}))',"{}).replace('document.open();document.write','').replace(';document.close();',''))")) - def handleContainer(self, type_): + def handleContainer(self, type): package_links = [] - type_ = type_.lower() + type = type.lower() - self.logDebug('Search for %s Container links' % type_.upper()) + self.logDebug('Search for %s Container links' % type.upper()) - if not type_.isalnum(): # check to prevent broken re-pattern (cnl2,rsdf,ccf,dlc,web are all alpha-numeric) - self.error(_("unknown container type: %s") % type_) + if not type.isalnum(): # check to prevent broken re-pattern (cnl2,rsdf,ccf,dlc,web are all alpha-numeric) + self.fail(_("Unknown container type: %s") % type) #@TODO: Replace with self.error in 0.4.10 for line in self.container_html: - if(type_ in line): + if type in line: jseval = self.handle_javascript(line) clink = re.search(r'href=["\']([^"\']*?)["\']',jseval,re.I) @@ -267,8 +252,8 @@ class LinkCryptWs(Crypter): self.logDebug("clink avaible") package_name, folder_name = self.getPackageInfo() - self.logDebug("Added package with name %s.%s and container link %s" %( package_name, type_, clink.group(1))) - self.core.api.uploadContainer( "%s.%s" %(package_name, type_), self.load(clink.group(1))) + self.logDebug("Added package with name %s.%s and container link %s" %( package_name, type, clink.group(1))) + self.core.api.uploadContainer( "%s.%s" %(package_name, type), self.load(clink.group(1))) return "Found it" return package_links @@ -281,7 +266,7 @@ class LinkCryptWs(Crypter): cnl_line = None for line in self.container_html: - if("cnl" in line): + if "cnl" in line: cnl_line = line break -- cgit v1.2.3 From 6a608c9587b4baeb0f605622e4916abdd14391d2 Mon Sep 17 00:00:00 2001 From: zapp-brannigan <zapp-brannigan@users.noreply.github.com> Date: Thu, 20 Nov 2014 23:55:41 +0100 Subject: New crypter FilecryptCc --- module/plugins/crypter/FilecryptCc.py | 165 ++++++++++++++++++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 module/plugins/crypter/FilecryptCc.py (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/FilecryptCc.py b/module/plugins/crypter/FilecryptCc.py new file mode 100644 index 000000000..81efa9e5d --- /dev/null +++ b/module/plugins/crypter/FilecryptCc.py @@ -0,0 +1,165 @@ +# -*- coding: utf-8 -*- + +import base64 +import binascii +import re + +from Crypto.Cipher import AES + +from module.plugins.Crypter import Crypter + + +class FilecryptCc(Crypter): + __name__ = "FilecryptCc" + __type__ = "crypter" + __version__ = "0.03" + + __pattern__ = r'https?://(?:www\.)?filecrypt\.cc/Container/.+' + + __description__ = """Filecrypt.cc decrypter plugin""" + __license__ = "GPLv3" + __authors__ = [("zapp-brannigan", "")] + + + DLC_LINK_PATTERN = r'<button class="dlcdownload" type="button" title="Download \*.dlc" onclick="DownloadDLC\(\'(.+)\'\);"><i></i><span>dlc<' + WEBLINK_PATTERN = r"openLink.?'([\w_-]*)'," + + CAPTCHA_PATTERN = r'<img id="nc" src="(.+?)"' + + MIRROR_PAGE_PATTERN = r'"[\w]*" href="(http://filecrypt.cc/Container/\w+\.html\?mirror=\d+)">' + + + def setup(self): + self.package_name = self.package_folder = self.pyfile.package().name + self.destination = self.pyfile.package().queue + self.password = self.pyfile.package().password + self.package_links = [] + + + def decrypt(self, pyfile): + self.html = self.load(self.pyfile.url, cookies=True) + + if "content not found" in self.html: + self.offline() + + self.handlePasswordProtection() + self.handleCaptcha() + self.handleMirrorPages() + self.handleCNL() + + if len(self.package_links) > 0: + self.logDebug("Found %d CNL-Links" % len(self.package_links)) + self.packages = [(self.package_name, self.package_links, self.package_folder)] + return + + self.handleWeblinks() + + if len(self.package_links) > 0: + self.logDebug("Found %d Web-Links" % len(self.package_links)) + self.packages = [(self.package_name, self.package_links, self.package_folder)] + return + + self.handleDlcContainer() + + + def handleMirrorPages(self): + if "mirror=" not in self.siteWithLinks: + return + + m = re.findall(self.MIRROR_PAGE_PATTERN, self.siteWithLinks) + + self.logInfo(_("Found %d mirrors, will try to catch all links") % len(m)) + + for i in m[1:]: + self.siteWithLinks = self.siteWithLinks + self.load(i, cookies=True).decode("utf-8", "replace") + + + def handlePasswordProtection(self): + if '<input type="text" name="password"' not in self.html: + return + + self.logInfo(_("Folder is password protected")) + + if not self.password: + self.fail(_("Please enter the password in package section and try again")) + + self.html = self.load(self.pyfile.url, post={"password": self.password}, cookies=True) + + + def handleCaptcha(self): + m = re.search(self.CAPTCHA_PATTERN, self.html) + + if m: + self.logDebug("Captcha-URL: " + m.group(1)) + captcha_code = self.decryptCaptcha("http://filecrypt.cc" + m.group(1), forceUser=True, imgtype="gif") + self.siteWithLinks = self.load(self.pyfile.url, post={"recaptcha_response_field":captcha_code}, decode=True, cookies=True) + else: + self.logDebug("No captcha found") + self.siteWithLinks = self.html + + if "recaptcha_response_field" in self.siteWithLinks: + self.invalidCaptcha() + self.retry() + + + def handleDlcContainer(self): + m = re.findall(self.DLC_LINK_PATTERN, self.siteWithLinks) + + if m: + self.logDebug("Found DLC-Container") + urls = [] + for i in m: + urls.append("http://filecrypt.cc/DLC/%s.dlc" % i) + pid = self.core.api.addPackage(self.package_name, urls, 1) + else: + self.fail(_("Unable to find any links")) + + + def handleWeblinks(self): + try: + weblinks = re.findall(self.WEBLINK_PATTERN, self.siteWithLinks) + + if not weblinks: + self.logDebug("No weblink found") + return + + for link in weblinks: + response = self.load("http://filecrypt.cc/Link/%s.html" % link, cookies=True) + link2 = re.search('<iframe noresize src="(.*)"></iframe>', response) + response2 = self.load(link2.group(1), just_header=True, cookies=True) + self.package_links.append(response2['location']) + + except Exception, e: + self.logDebug("Error decrypting weblinks: %s" % e) + + + def handleCNL(self): + try: + vjk = re.findall('<input type="hidden" name="jk" value="function f\(\){ return \'(.*)\';}">', self.siteWithLinks) + vcrypted = re.findall('<input type="hidden" name="crypted" value="(.*)">', self.siteWithLinks) + + for i in range(0, len(vcrypted)): + self.package_links.extend(self._getLinks(vcrypted[i], vjk[i])) + + except Exception, e: + self.logDebug("Error decrypting CNL: %s" % e) + + + def _getLinks(self, crypted, jk): + # Get key + key = binascii.unhexlify(str(jk)) + + # Decode crypted + crypted = base64.standard_b64decode(crypted) + + # Decrypt + Key = key + IV = key + obj = AES.new(Key, AES.MODE_CBC, IV) + text = obj.decrypt(crypted) + + # Extract links + links = filter(lambda x: x != "", + text.replace("\x00", "").replace("\r", "").split("\n")) + + return links -- cgit v1.2.3 From 12893fbe54c6bb4c079902f26a624f543c398b63 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Fri, 21 Nov 2014 01:53:33 +0100 Subject: [FilecryptCc] Code improvements --- module/plugins/crypter/FilecryptCc.py | 65 +++++++++++++---------------------- 1 file changed, 24 insertions(+), 41 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/FilecryptCc.py b/module/plugins/crypter/FilecryptCc.py index 81efa9e5d..db4a8c4ab 100644 --- a/module/plugins/crypter/FilecryptCc.py +++ b/module/plugins/crypter/FilecryptCc.py @@ -12,15 +12,17 @@ from module.plugins.Crypter import Crypter class FilecryptCc(Crypter): __name__ = "FilecryptCc" __type__ = "crypter" - __version__ = "0.03" + __version__ = "0.04" - __pattern__ = r'https?://(?:www\.)?filecrypt\.cc/Container/.+' + __pattern__ = r'https?://(?:www\.)?filecrypt\.cc/Container/\w+' __description__ = """Filecrypt.cc decrypter plugin""" __license__ = "GPLv3" __authors__ = [("zapp-brannigan", "")] + # URL_REPLACEMENTS = [(r'.html$', ""), (r'$', ".html")] #@TODO: Extend SimpleCrypter + DLC_LINK_PATTERN = r'<button class="dlcdownload" type="button" title="Download \*.dlc" onclick="DownloadDLC\(\'(.+)\'\);"><i></i><span>dlc<' WEBLINK_PATTERN = r"openLink.?'([\w_-]*)'," @@ -30,14 +32,11 @@ class FilecryptCc(Crypter): def setup(self): - self.package_name = self.package_folder = self.pyfile.package().name - self.destination = self.pyfile.package().queue - self.password = self.pyfile.package().password - self.package_links = [] + self.links = [] def decrypt(self, pyfile): - self.html = self.load(self.pyfile.url, cookies=True) + self.html = self.load(pyfile.url, cookies=True) if "content not found" in self.html: self.offline() @@ -45,32 +44,23 @@ class FilecryptCc(Crypter): self.handlePasswordProtection() self.handleCaptcha() self.handleMirrorPages() - self.handleCNL() - - if len(self.package_links) > 0: - self.logDebug("Found %d CNL-Links" % len(self.package_links)) - self.packages = [(self.package_name, self.package_links, self.package_folder)] - return - - self.handleWeblinks() - if len(self.package_links) > 0: - self.logDebug("Found %d Web-Links" % len(self.package_links)) - self.packages = [(self.package_name, self.package_links, self.package_folder)] - return - - self.handleDlcContainer() + for handle in (self.handleCNL, self.handleWeblinks, self.handleDlcContainer): + handle() + if self.links: + self.packages = [(pyfile.package().name, self.links, pyfile.package().name)] + return def handleMirrorPages(self): if "mirror=" not in self.siteWithLinks: return - m = re.findall(self.MIRROR_PAGE_PATTERN, self.siteWithLinks) + mirror = re.findall(self.MIRROR_PAGE_PATTERN, self.siteWithLinks) - self.logInfo(_("Found %d mirrors, will try to catch all links") % len(m)) + self.logInfo(_("Found %d mirrors") % len(m)) - for i in m[1:]: + for i in mirror[1:]: self.siteWithLinks = self.siteWithLinks + self.load(i, cookies=True).decode("utf-8", "replace") @@ -80,7 +70,7 @@ class FilecryptCc(Crypter): self.logInfo(_("Folder is password protected")) - if not self.password: + if not self.pyfile.package().password: self.fail(_("Please enter the password in package section and try again")) self.html = self.load(self.pyfile.url, post={"password": self.password}, cookies=True) @@ -90,7 +80,7 @@ class FilecryptCc(Crypter): m = re.search(self.CAPTCHA_PATTERN, self.html) if m: - self.logDebug("Captcha-URL: " + m.group(1)) + self.logDebug("Captcha-URL: %s" % m.group(1)) captcha_code = self.decryptCaptcha("http://filecrypt.cc" + m.group(1), forceUser=True, imgtype="gif") self.siteWithLinks = self.load(self.pyfile.url, post={"recaptcha_response_field":captcha_code}, decode=True, cookies=True) else: @@ -103,31 +93,24 @@ class FilecryptCc(Crypter): def handleDlcContainer(self): - m = re.findall(self.DLC_LINK_PATTERN, self.siteWithLinks) + dlc = re.findall(self.DLC_LINK_PATTERN, self.siteWithLinks) - if m: - self.logDebug("Found DLC-Container") - urls = [] - for i in m: - urls.append("http://filecrypt.cc/DLC/%s.dlc" % i) - pid = self.core.api.addPackage(self.package_name, urls, 1) - else: - self.fail(_("Unable to find any links")) + if not dlc: + return + + for i in dlc: + self.links.append("http://filecrypt.cc/DLC/%s.dlc" % i) def handleWeblinks(self): try: weblinks = re.findall(self.WEBLINK_PATTERN, self.siteWithLinks) - if not weblinks: - self.logDebug("No weblink found") - return - for link in weblinks: response = self.load("http://filecrypt.cc/Link/%s.html" % link, cookies=True) link2 = re.search('<iframe noresize src="(.*)"></iframe>', response) response2 = self.load(link2.group(1), just_header=True, cookies=True) - self.package_links.append(response2['location']) + self.links.append(response2['location']) except Exception, e: self.logDebug("Error decrypting weblinks: %s" % e) @@ -139,7 +122,7 @@ class FilecryptCc(Crypter): vcrypted = re.findall('<input type="hidden" name="crypted" value="(.*)">', self.siteWithLinks) for i in range(0, len(vcrypted)): - self.package_links.extend(self._getLinks(vcrypted[i], vjk[i])) + self.links.extend(self._getLinks(vcrypted[i], vjk[i])) except Exception, e: self.logDebug("Error decrypting CNL: %s" % e) -- cgit v1.2.3 From e8246525f3106c152d6d1436c6a3111e0334520f Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 15 Nov 2014 18:04:47 +0100 Subject: Fix cookie domain --- module/plugins/crypter/FilefactoryComFolder.py | 2 +- module/plugins/crypter/LinkSaveIn.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/FilefactoryComFolder.py b/module/plugins/crypter/FilefactoryComFolder.py index 92e9620f6..52c39c386 100644 --- a/module/plugins/crypter/FilefactoryComFolder.py +++ b/module/plugins/crypter/FilefactoryComFolder.py @@ -21,7 +21,7 @@ class FilefactoryComFolder(SimpleCrypter): NAME_PATTERN = r'<h1>Files in <span>(?P<N>.+)</span></h1>' PAGES_PATTERN = r'data-paginator-totalPages="(\d+)"' - COOKIES = [(".filefactory.com", "locale", "en_US.utf8")] + COOKIES = [("filefactory.com", "locale", "en_US.utf8")] def loadPage(self, page_n): diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index 7015f2ed3..46babd156 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -27,7 +27,7 @@ class LinkSaveIn(SimpleCrypter): __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es")] - COOKIES = [(".linksave.in", "Linksave_Language", "english")] + COOKIES = [("linksave.in", "Linksave_Language", "english")] # Constants _JK_KEY_ = "jk" -- cgit v1.2.3 From d094edc31d18b67ffff8e38610ee091df2e61322 Mon Sep 17 00:00:00 2001 From: jojo141185 <jojo141185@users.noreply.github.com> Date: Sat, 22 Nov 2014 20:23:19 +0100 Subject: [FilecryptCc] Tiny fixup --- module/plugins/crypter/FilecryptCc.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/FilecryptCc.py b/module/plugins/crypter/FilecryptCc.py index db4a8c4ab..dedd284b3 100644 --- a/module/plugins/crypter/FilecryptCc.py +++ b/module/plugins/crypter/FilecryptCc.py @@ -12,7 +12,7 @@ from module.plugins.Crypter import Crypter class FilecryptCc(Crypter): __name__ = "FilecryptCc" __type__ = "crypter" - __version__ = "0.04" + __version__ = "0.05" __pattern__ = r'https?://(?:www\.)?filecrypt\.cc/Container/\w+' @@ -58,7 +58,7 @@ class FilecryptCc(Crypter): mirror = re.findall(self.MIRROR_PAGE_PATTERN, self.siteWithLinks) - self.logInfo(_("Found %d mirrors") % len(m)) + self.logInfo(_("Found %d mirrors") % len(mirror)) for i in mirror[1:]: self.siteWithLinks = self.siteWithLinks + self.load(i, cookies=True).decode("utf-8", "replace") -- cgit v1.2.3 From 37858ae9675f3363e9e7314707a08d79406d6c6a Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sun, 23 Nov 2014 02:10:18 +0100 Subject: Fix missing create_getInfo in dead crypters --- module/plugins/crypter/C1neonCom.py | 5 ++++- module/plugins/crypter/CryptItCom.py | 5 ++++- module/plugins/crypter/DdlstorageComFolder.py | 2 +- module/plugins/crypter/DuploadOrgFolder.py | 5 ++++- module/plugins/crypter/FilebeerInfoFolder.py | 5 ++++- module/plugins/crypter/FilesonicComFolder.py | 5 ++++- module/plugins/crypter/FiredriveComFolder.py | 5 ++++- module/plugins/crypter/HotfileComFolder.py | 5 ++++- module/plugins/crypter/ILoadTo.py | 5 ++++- module/plugins/crypter/LofCc.py | 5 ++++- module/plugins/crypter/MBLinkInfo.py | 5 ++++- module/plugins/crypter/MegauploadComFolder.py | 5 ++++- module/plugins/crypter/Movie2kTo.py | 5 ++++- module/plugins/crypter/MultiuploadCom.py | 5 ++++- module/plugins/crypter/OronComFolder.py | 5 ++++- module/plugins/crypter/RSLayerCom.py | 5 ++++- module/plugins/crypter/SecuredIn.py | 5 ++++- module/plugins/crypter/SharingmatrixComFolder.py | 5 ++++- module/plugins/crypter/SpeedLoadOrgFolder.py | 5 ++++- module/plugins/crypter/StealthTo.py | 5 ++++- module/plugins/crypter/TrailerzoneInfo.py | 5 ++++- module/plugins/crypter/WiiReloadedOrg.py | 5 ++++- module/plugins/crypter/WuploadComFolder.py | 5 ++++- 23 files changed, 89 insertions(+), 23 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/C1neonCom.py b/module/plugins/crypter/C1neonCom.py index 18c0f1e73..cf1d2a211 100644 --- a/module/plugins/crypter/C1neonCom.py +++ b/module/plugins/crypter/C1neonCom.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.DeadCrypter import DeadCrypter +from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class C1neonCom(DeadCrypter): @@ -14,3 +14,6 @@ class C1neonCom(DeadCrypter): __description__ = """C1neon.com decrypter plugin""" __license__ = "GPLv3" __authors__ = [("godofdream", "soilfiction@gmail.com")] + + +getInfo = create_getInfo(C1neonCom) diff --git a/module/plugins/crypter/CryptItCom.py b/module/plugins/crypter/CryptItCom.py index 2c91535bd..2cf4e9f62 100644 --- a/module/plugins/crypter/CryptItCom.py +++ b/module/plugins/crypter/CryptItCom.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.DeadCrypter import DeadCrypter +from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class CryptItCom(DeadCrypter): @@ -14,3 +14,6 @@ class CryptItCom(DeadCrypter): __description__ = """Crypt-it.com decrypter plugin""" __license__ = "GPLv3" __authors__ = [("jeix", "jeix@hasnomail.de")] + + +getInfo = create_getInfo(CryptItCom) diff --git a/module/plugins/crypter/DdlstorageComFolder.py b/module/plugins/crypter/DdlstorageComFolder.py index 6ad586434..e02e77fda 100644 --- a/module/plugins/crypter/DdlstorageComFolder.py +++ b/module/plugins/crypter/DdlstorageComFolder.py @@ -17,4 +17,4 @@ class DdlstorageComFolder(DeadCrypter): ("stickell", "l.stickell@yahoo.it")] -getInfo = create_getInfo(SpeedLoadOrg) +getInfo = create_getInfo(DdlstorageComFolder) diff --git a/module/plugins/crypter/DuploadOrgFolder.py b/module/plugins/crypter/DuploadOrgFolder.py index af83dffd0..066fbe3d7 100644 --- a/module/plugins/crypter/DuploadOrgFolder.py +++ b/module/plugins/crypter/DuploadOrgFolder.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.DeadCrypter import DeadCrypter +from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class DuploadOrgFolder(DeadCrypter): @@ -14,3 +14,6 @@ class DuploadOrgFolder(DeadCrypter): __description__ = """Dupload.org folder decrypter plugin""" __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] + + +getInfo = create_getInfo(DuploadOrgFolder) diff --git a/module/plugins/crypter/FilebeerInfoFolder.py b/module/plugins/crypter/FilebeerInfoFolder.py index fd2843873..d0f3547bc 100644 --- a/module/plugins/crypter/FilebeerInfoFolder.py +++ b/module/plugins/crypter/FilebeerInfoFolder.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.DeadCrypter import DeadCrypter +from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class FilebeerInfoFolder(DeadCrypter): @@ -14,3 +14,6 @@ class FilebeerInfoFolder(DeadCrypter): __description__ = """Filebeer.info folder decrypter plugin""" __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + + +getInfo = create_getInfo(FilebeerInfoFolder) diff --git a/module/plugins/crypter/FilesonicComFolder.py b/module/plugins/crypter/FilesonicComFolder.py index 2d0540d26..d58516986 100644 --- a/module/plugins/crypter/FilesonicComFolder.py +++ b/module/plugins/crypter/FilesonicComFolder.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.DeadCrypter import DeadCrypter +from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class FilesonicComFolder(DeadCrypter): @@ -13,3 +13,6 @@ class FilesonicComFolder(DeadCrypter): __description__ = """Filesonic.com folder decrypter plugin""" __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + + +getInfo = create_getInfo(FilesonicComFolder) diff --git a/module/plugins/crypter/FiredriveComFolder.py b/module/plugins/crypter/FiredriveComFolder.py index b6b22a4e1..7d3a357fd 100644 --- a/module/plugins/crypter/FiredriveComFolder.py +++ b/module/plugins/crypter/FiredriveComFolder.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.DeadCrypter import DeadCrypter +from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class FiredriveComFolder(DeadCrypter): @@ -14,3 +14,6 @@ class FiredriveComFolder(DeadCrypter): __description__ = """Firedrive.com folder decrypter plugin""" __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + + +getInfo = create_getInfo(FiredriveComFolder) diff --git a/module/plugins/crypter/HotfileComFolder.py b/module/plugins/crypter/HotfileComFolder.py index 3fc8f6f63..a294c04e0 100644 --- a/module/plugins/crypter/HotfileComFolder.py +++ b/module/plugins/crypter/HotfileComFolder.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.DeadCrypter import DeadCrypter +from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class HotfileComFolder(DeadCrypter): @@ -14,3 +14,6 @@ class HotfileComFolder(DeadCrypter): __description__ = """Hotfile.com folder decrypter plugin""" __license__ = "GPLv3" __authors__ = [("RaNaN", "RaNaN@pyload.org")] + + +getInfo = create_getInfo(HotfileComFolder) diff --git a/module/plugins/crypter/ILoadTo.py b/module/plugins/crypter/ILoadTo.py index 3dc806b06..f3415706d 100644 --- a/module/plugins/crypter/ILoadTo.py +++ b/module/plugins/crypter/ILoadTo.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.DeadCrypter import DeadCrypter +from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class ILoadTo(DeadCrypter): @@ -14,3 +14,6 @@ class ILoadTo(DeadCrypter): __description__ = """Iload.to decrypter plugin""" __license__ = "GPLv3" __authors__ = [("hzpz", None)] + + +getInfo = create_getInfo(ILoadTo) diff --git a/module/plugins/crypter/LofCc.py b/module/plugins/crypter/LofCc.py index 5819e0375..65c9b18bd 100644 --- a/module/plugins/crypter/LofCc.py +++ b/module/plugins/crypter/LofCc.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.DeadCrypter import DeadCrypter +from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class LofCc(DeadCrypter): @@ -14,3 +14,6 @@ class LofCc(DeadCrypter): __description__ = """Lof.cc decrypter plugin""" __license__ = "GPLv3" __authors__ = [("mkaay", "mkaay@mkaay.de")] + + +getInfo = create_getInfo(LofCc) diff --git a/module/plugins/crypter/MBLinkInfo.py b/module/plugins/crypter/MBLinkInfo.py index 680aa49c0..82c2d9719 100644 --- a/module/plugins/crypter/MBLinkInfo.py +++ b/module/plugins/crypter/MBLinkInfo.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.DeadCrypter import DeadCrypter +from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class MBLinkInfo(DeadCrypter): @@ -15,3 +15,6 @@ class MBLinkInfo(DeadCrypter): __license__ = "GPLv3" __authors__ = [("Gummibaer", "Gummibaer@wiki-bierkiste.de"), ("stickell", "l.stickell@yahoo.it")] + + +getInfo = create_getInfo(MBLinkInfo) diff --git a/module/plugins/crypter/MegauploadComFolder.py b/module/plugins/crypter/MegauploadComFolder.py index 1d487ed61..08f96700d 100644 --- a/module/plugins/crypter/MegauploadComFolder.py +++ b/module/plugins/crypter/MegauploadComFolder.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.DeadCrypter import DeadCrypter +from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class MegauploadComFolder(DeadCrypter): @@ -13,3 +13,6 @@ class MegauploadComFolder(DeadCrypter): __description__ = """Megaupload.com folder decrypter plugin""" __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + + +getInfo = create_getInfo(MegauploadComFolder) diff --git a/module/plugins/crypter/Movie2kTo.py b/module/plugins/crypter/Movie2kTo.py index 2acaa5a28..0be7eb7eb 100644 --- a/module/plugins/crypter/Movie2kTo.py +++ b/module/plugins/crypter/Movie2kTo.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.DeadCrypter import DeadCrypter +from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class Movie2kTo(DeadCrypter): @@ -14,3 +14,6 @@ class Movie2kTo(DeadCrypter): __description__ = """Movie2k.to decrypter plugin""" __license__ = "GPLv3" __authors__ = [("4Christopher", "4Christopher@gmx.de")] + + +getInfo = create_getInfo(Movie2kTo) diff --git a/module/plugins/crypter/MultiuploadCom.py b/module/plugins/crypter/MultiuploadCom.py index 2cfb9537f..347b7e5af 100644 --- a/module/plugins/crypter/MultiuploadCom.py +++ b/module/plugins/crypter/MultiuploadCom.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.DeadCrypter import DeadCrypter +from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class MultiuploadCom(DeadCrypter): @@ -14,3 +14,6 @@ class MultiuploadCom(DeadCrypter): __description__ = """ MultiUpload.com decrypter plugin """ __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + + +getInfo = create_getInfo(MultiuploadCom) diff --git a/module/plugins/crypter/OronComFolder.py b/module/plugins/crypter/OronComFolder.py index 30709ee60..9e06bdf32 100755 --- a/module/plugins/crypter/OronComFolder.py +++ b/module/plugins/crypter/OronComFolder.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.DeadCrypter import DeadCrypter +from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class OronComFolder(DeadCrypter): @@ -14,3 +14,6 @@ class OronComFolder(DeadCrypter): __description__ = """Oron.com folder decrypter plugin""" __license__ = "GPLv3" __authors__ = [("DHMH", "webmaster@pcProfil.de")] + + +getInfo = create_getInfo(OronComFolder) diff --git a/module/plugins/crypter/RSLayerCom.py b/module/plugins/crypter/RSLayerCom.py index 1bcfd05fe..cc3b23bbc 100644 --- a/module/plugins/crypter/RSLayerCom.py +++ b/module/plugins/crypter/RSLayerCom.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.DeadCrypter import DeadCrypter +from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class RSLayerCom(DeadCrypter): @@ -14,3 +14,6 @@ class RSLayerCom(DeadCrypter): __description__ = """RS-Layer.com decrypter plugin""" __license__ = "GPLv3" __authors__ = [("hzpz", None)] + + +getInfo = create_getInfo(RSLayerCom) diff --git a/module/plugins/crypter/SecuredIn.py b/module/plugins/crypter/SecuredIn.py index d2cd6ff4d..cbfa919ac 100644 --- a/module/plugins/crypter/SecuredIn.py +++ b/module/plugins/crypter/SecuredIn.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.DeadCrypter import DeadCrypter +from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class SecuredIn(DeadCrypter): @@ -14,3 +14,6 @@ class SecuredIn(DeadCrypter): __description__ = """Secured.in decrypter plugin""" __license__ = "GPLv3" __authors__ = [("mkaay", "mkaay@mkaay.de")] + + +getInfo = create_getInfo(SecuredIn) diff --git a/module/plugins/crypter/SharingmatrixComFolder.py b/module/plugins/crypter/SharingmatrixComFolder.py index ddc3bdb37..e16bdf814 100644 --- a/module/plugins/crypter/SharingmatrixComFolder.py +++ b/module/plugins/crypter/SharingmatrixComFolder.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.DeadCrypter import DeadCrypter +from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class SharingmatrixComFolder(DeadCrypter): @@ -13,3 +13,6 @@ class SharingmatrixComFolder(DeadCrypter): __description__ = """Sharingmatrix.com folder decrypter plugin""" __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + + +getInfo = create_getInfo(SharingmatrixComFolder) diff --git a/module/plugins/crypter/SpeedLoadOrgFolder.py b/module/plugins/crypter/SpeedLoadOrgFolder.py index f11260345..1d3a7df91 100644 --- a/module/plugins/crypter/SpeedLoadOrgFolder.py +++ b/module/plugins/crypter/SpeedLoadOrgFolder.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.DeadCrypter import DeadCrypter +from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class SpeedLoadOrgFolder(DeadCrypter): @@ -14,3 +14,6 @@ class SpeedLoadOrgFolder(DeadCrypter): __description__ = """Speedload decrypter plugin""" __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] + + +getInfo = create_getInfo(SpeedLoadOrgFolder) diff --git a/module/plugins/crypter/StealthTo.py b/module/plugins/crypter/StealthTo.py index a6e86fb8b..e4da3e7e4 100644 --- a/module/plugins/crypter/StealthTo.py +++ b/module/plugins/crypter/StealthTo.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.DeadCrypter import DeadCrypter +from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class StealthTo(DeadCrypter): @@ -14,3 +14,6 @@ class StealthTo(DeadCrypter): __description__ = """Stealth.to decrypter plugin""" __license__ = "GPLv3" __authors__ = [("spoob", "spoob@pyload.org")] + + +getInfo = create_getInfo(StealthTo) diff --git a/module/plugins/crypter/TrailerzoneInfo.py b/module/plugins/crypter/TrailerzoneInfo.py index 66a00bc74..abdb2307e 100644 --- a/module/plugins/crypter/TrailerzoneInfo.py +++ b/module/plugins/crypter/TrailerzoneInfo.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.DeadCrypter import DeadCrypter +from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class TrailerzoneInfo(DeadCrypter): @@ -14,3 +14,6 @@ class TrailerzoneInfo(DeadCrypter): __description__ = """TrailerZone.info decrypter plugin""" __license__ = "GPLv3" __authors__ = [("godofdream", "soilfiction@gmail.com")] + + +getInfo = create_getInfo(TrailerzoneInfo) diff --git a/module/plugins/crypter/WiiReloadedOrg.py b/module/plugins/crypter/WiiReloadedOrg.py index 9d6f12174..c3c5b8222 100644 --- a/module/plugins/crypter/WiiReloadedOrg.py +++ b/module/plugins/crypter/WiiReloadedOrg.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.DeadCrypter import DeadCrypter +from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class WiiReloadedOrg(DeadCrypter): @@ -14,3 +14,6 @@ class WiiReloadedOrg(DeadCrypter): __description__ = """Wii-Reloaded.org decrypter plugin""" __license__ = "GPLv3" __authors__ = [("hzpz", None)] + + +getInfo = create_getInfo(WiiReloadedOrg) diff --git a/module/plugins/crypter/WuploadComFolder.py b/module/plugins/crypter/WuploadComFolder.py index b77bc3e67..873c71fad 100644 --- a/module/plugins/crypter/WuploadComFolder.py +++ b/module/plugins/crypter/WuploadComFolder.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.DeadCrypter import DeadCrypter +from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class WuploadComFolder(DeadCrypter): @@ -13,3 +13,6 @@ class WuploadComFolder(DeadCrypter): __description__ = """Wupload.com folder decrypter plugin""" __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + + +getInfo = create_getInfo(WuploadComFolder) -- cgit v1.2.3 From 2ca8cc959a587992dc389d6baf71dd3e4f66df1c Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sun, 23 Nov 2014 04:41:17 +0100 Subject: Fix some URL_REPLACEMENTS --- module/plugins/crypter/TusfilesNetFolder.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/TusfilesNetFolder.py b/module/plugins/crypter/TusfilesNetFolder.py index e8da59736..9533a6e76 100644 --- a/module/plugins/crypter/TusfilesNetFolder.py +++ b/module/plugins/crypter/TusfilesNetFolder.py @@ -10,7 +10,7 @@ from module.plugins.internal.XFSCrypter import XFSCrypter class TusfilesNetFolder(XFSCrypter): __name__ = "TusfilesNetFolder" __type__ = "crypter" - __version__ = "0.06" + __version__ = "0.07" __pattern__ = r'https?://(?:www\.)?tusfiles\.net/go/(?P<ID>\w+)' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -26,7 +26,7 @@ class TusfilesNetFolder(XFSCrypter): PAGES_PATTERN = r'>\((\d+) \w+\)<' - URL_REPLACEMENTS = [(__pattern__, r'https://www.tusfiles.net/go/\g<ID>/')] + URL_REPLACEMENTS = [(__pattern__ + ".*", r'https://www.tusfiles.net/go/\g<ID>/')] def loadPage(self, page_n): -- cgit v1.2.3 From a059d5df038f2cb1ba4be32c782aa3878e849555 Mon Sep 17 00:00:00 2001 From: Gummibaer <guthub@wiki-bierkiste.de> Date: Wed, 26 Nov 2014 12:33:40 +0100 Subject: Fix Error [LinkCryptWs.py] Error: global name 'pyfile' is not defined --- module/plugins/crypter/LinkCryptWs.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/LinkCryptWs.py b/module/plugins/crypter/LinkCryptWs.py index 578595228..835a549b2 100644 --- a/module/plugins/crypter/LinkCryptWs.py +++ b/module/plugins/crypter/LinkCryptWs.py @@ -15,14 +15,15 @@ from module.utils import html_unescape class LinkCryptWs(Crypter): __name__ = "LinkCryptWs" __type__ = "crypter" - __version__ = "0.06" + __version__ = "0.07" __pattern__ = r'http://(?:www\.)?linkcrypt\.ws/(dir|container)/(?P<ID>\w+)' __description__ = """LinkCrypt.ws decrypter plugin""" __license__ = "GPLv3" __authors__ = [("kagenoshin", "kagenoshin[AT]gmx[DOT]ch"), - ("glukgluk", None)] + ("glukgluk", None), + ("Gummibaer", None)] CRYPTED_KEY = "crypted" @@ -37,7 +38,7 @@ class LinkCryptWs(Crypter): def prepare(self): # Init - self.fileid = re.match(self.__pattern__, pyfile.url).group('ID') + self.fileid = re.match(self.__pattern__, self.pyfile.url).group('ID') self.req.cj.setCookie("linkcrypt.ws", "language", "en") -- cgit v1.2.3 From f3441978ca039c38924bd3b1d0019ca92f8a12d0 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Wed, 3 Dec 2014 22:38:59 +0100 Subject: [NetloadIn] Syntax fixup --- module/plugins/crypter/FilecryptCc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/FilecryptCc.py b/module/plugins/crypter/FilecryptCc.py index dedd284b3..fb53e616b 100644 --- a/module/plugins/crypter/FilecryptCc.py +++ b/module/plugins/crypter/FilecryptCc.py @@ -121,7 +121,7 @@ class FilecryptCc(Crypter): vjk = re.findall('<input type="hidden" name="jk" value="function f\(\){ return \'(.*)\';}">', self.siteWithLinks) vcrypted = re.findall('<input type="hidden" name="crypted" value="(.*)">', self.siteWithLinks) - for i in range(0, len(vcrypted)): + for i in xrange(len(vcrypted)): self.links.extend(self._getLinks(vcrypted[i], vjk[i])) except Exception, e: -- cgit v1.2.3 From f91994d9f6b9e34ecfcdb54eb1e0f8568277481c Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Thu, 4 Dec 2014 00:48:50 +0100 Subject: New crypter Go4Up --- module/plugins/crypter/Go4Up.py | 46 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 module/plugins/crypter/Go4Up.py (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/Go4Up.py b/module/plugins/crypter/Go4Up.py new file mode 100644 index 000000000..8c2f7ef89 --- /dev/null +++ b/module/plugins/crypter/Go4Up.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- + +import re + +from urlparse import urljoin + +from module.plugins.internal.SimpleCrypter import SimpleCrypter + + +class Go4Up(SimpleCrypter): + __name__ = "Go4Up" + __type__ = "crypter" + __version__ = "0.10" + + __pattern__ = r'http://go4up\.com/(dl/\w{12}|rd/\w{12}/\d+)' + + __description__ = """Go4Up.com decrypter plugin""" + __license__ = "GPLv3" + __authors__ = [("rlindner81", "rlindner81@gmail.com"), + ("Walter Purcaro", "vuolter@gmail.com")] + + + LINK_PATTERN = r'(http://go4up\.com/rd/.+?)<' + + NAME_PATTERN = r'<title>Download (.+?)<' + + OFFLINE_PATTERN = r'>\s*(404 Page Not Found|File not Found|Mirror does not exist)' + + + def getLinks(self + links = [] + + m = re.search(r'(/download/gethosts/.+?)"') + if m: + self.html = self.load(urljoin("http://go4up.com/", m.group(1))) + pages = [self.load(url) for url in re.findall(self.LINK_PATTERN, self.html)] + else: + pages = [self.html] + + for html in pages: + try: + links.append(re.search(r'<b><a href="(.+?)"', html).group(1)) + except: + continue + + return links -- cgit v1.2.3 From c1c91d8dc432f02fab94ada8581b634ca9034e21 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Thu, 4 Dec 2014 01:18:58 +0100 Subject: Go4Up -> Go4UpCom --- module/plugins/crypter/Go4Up.py | 46 ----------------------------------- module/plugins/crypter/Go4UpCom.py | 49 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 46 deletions(-) delete mode 100644 module/plugins/crypter/Go4Up.py create mode 100644 module/plugins/crypter/Go4UpCom.py (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/Go4Up.py b/module/plugins/crypter/Go4Up.py deleted file mode 100644 index 8c2f7ef89..000000000 --- a/module/plugins/crypter/Go4Up.py +++ /dev/null @@ -1,46 +0,0 @@ -# -*- coding: utf-8 -*- - -import re - -from urlparse import urljoin - -from module.plugins.internal.SimpleCrypter import SimpleCrypter - - -class Go4Up(SimpleCrypter): - __name__ = "Go4Up" - __type__ = "crypter" - __version__ = "0.10" - - __pattern__ = r'http://go4up\.com/(dl/\w{12}|rd/\w{12}/\d+)' - - __description__ = """Go4Up.com decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("rlindner81", "rlindner81@gmail.com"), - ("Walter Purcaro", "vuolter@gmail.com")] - - - LINK_PATTERN = r'(http://go4up\.com/rd/.+?)<' - - NAME_PATTERN = r'<title>Download (.+?)<' - - OFFLINE_PATTERN = r'>\s*(404 Page Not Found|File not Found|Mirror does not exist)' - - - def getLinks(self - links = [] - - m = re.search(r'(/download/gethosts/.+?)"') - if m: - self.html = self.load(urljoin("http://go4up.com/", m.group(1))) - pages = [self.load(url) for url in re.findall(self.LINK_PATTERN, self.html)] - else: - pages = [self.html] - - for html in pages: - try: - links.append(re.search(r'<b><a href="(.+?)"', html).group(1)) - except: - continue - - return links diff --git a/module/plugins/crypter/Go4UpCom.py b/module/plugins/crypter/Go4UpCom.py new file mode 100644 index 000000000..102bc32b5 --- /dev/null +++ b/module/plugins/crypter/Go4UpCom.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- + +import re + +from urlparse import urljoin + +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo + + +class Go4UpCom(SimpleCrypter): + __name__ = "Go4UpCom" + __type__ = "crypter" + __version__ = "0.11" + + __pattern__ = r'http://go4up\.com/(dl/\w{12}|rd/\w{12}/\d+)' + + __description__ = """Go4Up.com decrypter plugin""" + __license__ = "GPLv3" + __authors__ = [("rlindner81", "rlindner81@gmail.com"), + ("Walter Purcaro", "vuolter@gmail.com")] + + + LINK_PATTERN = r'(http://go4up\.com/rd/.+?)<' + + NAME_PATTERN = r'<title>Download (.+?)<' + + OFFLINE_PATTERN = r'>\s*(404 Page Not Found|File not Found|Mirror does not exist)' + + + def getLinks(self + links = [] + + m = re.search(r'(/download/gethosts/.+?)"') + if m: + self.html = self.load(urljoin("http://go4up.com/", m.group(1))) + pages = [self.load(url) for url in re.findall(self.LINK_PATTERN, self.html)] + else: + pages = [self.html] + + for html in pages: + try: + links.append(re.search(r'<b><a href="(.+?)"', html).group(1)) + except: + continue + + return links + + +getInfo = create_getInfo(Go4UpCom) -- cgit v1.2.3 From 52664e6fe8dd99fc9bb78ea8cf158c17705b6ded Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Fri, 5 Dec 2014 19:18:11 +0100 Subject: Fix with statement on old env like python 2.5 (2) --- module/plugins/crypter/RelinkUs.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index 4c84b62f7..1111118b2 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -1,5 +1,7 @@ # -*- coding: utf-8 -*- +from __future__ import with_statement + import base64 import binascii import re @@ -12,7 +14,7 @@ from module.plugins.Crypter import Crypter class RelinkUs(Crypter): __name__ = "RelinkUs" __type__ = "crypter" - __version__ = "3.1" + __version__ = "3.11" __pattern__ = r'http://(?:www\.)?relink\.us/(f/|((view|go)\.php\?id=))(?P<id>.+)' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), -- cgit v1.2.3 From 67587fbe0335cacfde28a86ba729b9d567ce1da7 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sun, 7 Dec 2014 00:27:18 +0100 Subject: Plugin code cosmetics (3) --- module/plugins/crypter/MediafireComFolder.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/MediafireComFolder.py b/module/plugins/crypter/MediafireComFolder.py index c83de4715..d1dc89518 100644 --- a/module/plugins/crypter/MediafireComFolder.py +++ b/module/plugins/crypter/MediafireComFolder.py @@ -42,8 +42,10 @@ class MediafireComFolder(Crypter): folder_key = m.group(1) self.logDebug("FOLDER KEY: %s" % folder_key) - json_resp = json_loads(self.load( - "http://www.mediafire.com/api/folder/get_info.php?folder_key=%s&response_format=json&version=1" % folder_key)) + json_resp = json_loads(self.load("http://www.mediafire.com/api/folder/get_info.php", + get={'folder_key' : folder_key, + 'response_format': "json", + 'version' : 1})) #self.logInfo(json_resp) if json_resp['response']['result'] == "Success": for link in json_resp['response']['folder_info']['files']: -- cgit v1.2.3 From 6151e81fa0b325dffda3da4228d5821e73db3ef3 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Tue, 9 Dec 2014 01:19:46 +0100 Subject: Fix __version__ format in some plugins --- module/plugins/crypter/ChipDe.py | 2 +- module/plugins/crypter/CzshareComFolder.py | 2 +- module/plugins/crypter/DDLMusicOrg.py | 2 +- module/plugins/crypter/Dereferer.py | 2 +- module/plugins/crypter/DontKnowMe.py | 2 +- module/plugins/crypter/FourChanOrg.py | 2 +- module/plugins/crypter/HoerbuchIn.py | 2 +- module/plugins/crypter/HotfileComFolder.py | 2 +- module/plugins/crypter/LetitbitNetFolder.py | 2 +- module/plugins/crypter/MultiloadCz.py | 2 +- module/plugins/crypter/OneKhDe.py | 2 +- module/plugins/crypter/QuickshareCzFolder.py | 2 +- module/plugins/crypter/SpeedLoadOrgFolder.py | 2 +- module/plugins/crypter/StealthTo.py | 2 +- module/plugins/crypter/UlozToFolder.py | 2 +- module/plugins/crypter/XupPl.py | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/ChipDe.py b/module/plugins/crypter/ChipDe.py index 59ed6559e..b342cd1bf 100644 --- a/module/plugins/crypter/ChipDe.py +++ b/module/plugins/crypter/ChipDe.py @@ -7,7 +7,7 @@ from module.plugins.Crypter import Crypter class ChipDe(Crypter): __name__ = "ChipDe" __type__ = "crypter" - __version__ = "0.1" + __version__ = "0.10" __pattern__ = r'http://(?:www\.)?chip\.de/video/.*\.html' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), diff --git a/module/plugins/crypter/CzshareComFolder.py b/module/plugins/crypter/CzshareComFolder.py index 669f469b2..67376c6e6 100644 --- a/module/plugins/crypter/CzshareComFolder.py +++ b/module/plugins/crypter/CzshareComFolder.py @@ -7,7 +7,7 @@ from module.plugins.Crypter import Crypter class CzshareComFolder(Crypter): __name__ = "CzshareComFolder" __type__ = "crypter" - __version__ = "0.2" + __version__ = "0.20" __pattern__ = r'http://(?:www\.)?(czshare|sdilej)\.(com|cz)/folders/.*' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), diff --git a/module/plugins/crypter/DDLMusicOrg.py b/module/plugins/crypter/DDLMusicOrg.py index c2524b180..55181e9ad 100644 --- a/module/plugins/crypter/DDLMusicOrg.py +++ b/module/plugins/crypter/DDLMusicOrg.py @@ -10,7 +10,7 @@ from module.plugins.Crypter import Crypter class DDLMusicOrg(Crypter): __name__ = "DDLMusicOrg" __type__ = "crypter" - __version__ = "0.3" + __version__ = "0.30" __pattern__ = r'http://(?:www\.)?ddl-music\.org/captcha/ddlm_cr\d\.php\?\d+\?\d+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), diff --git a/module/plugins/crypter/Dereferer.py b/module/plugins/crypter/Dereferer.py index 70b42b00c..dadc3c8b3 100644 --- a/module/plugins/crypter/Dereferer.py +++ b/module/plugins/crypter/Dereferer.py @@ -10,7 +10,7 @@ from module.plugins.Crypter import Crypter class Dereferer(Crypter): __name__ = "Dereferer" __type__ = "crypter" - __version__ = "0.1" + __version__ = "0.10" __pattern__ = r'https?://([^/]+)/.*?(?P<url>(ht|f)tps?(://|%3A%2F%2F).*)' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), diff --git a/module/plugins/crypter/DontKnowMe.py b/module/plugins/crypter/DontKnowMe.py index 6783abd7c..8d2a52c2c 100644 --- a/module/plugins/crypter/DontKnowMe.py +++ b/module/plugins/crypter/DontKnowMe.py @@ -10,7 +10,7 @@ from module.plugins.Crypter import Crypter class DontKnowMe(Crypter): __name__ = "DontKnowMe" __type__ = "crypter" - __version__ = "0.1" + __version__ = "0.10" __pattern__ = r'http://(?:www\.)?dontknow\.me/at/\?.+$' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), diff --git a/module/plugins/crypter/FourChanOrg.py b/module/plugins/crypter/FourChanOrg.py index 48592d30a..d6c5c86cc 100644 --- a/module/plugins/crypter/FourChanOrg.py +++ b/module/plugins/crypter/FourChanOrg.py @@ -10,7 +10,7 @@ from module.plugins.Crypter import Crypter class FourChanOrg(Crypter): __name__ = "FourChanOrg" __type__ = "crypter" - __version__ = "0.3" + __version__ = "0.30" __pattern__ = r'http://(?:www\.)?boards\.4chan\.org/\w+/res/(\d+)' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), diff --git a/module/plugins/crypter/HoerbuchIn.py b/module/plugins/crypter/HoerbuchIn.py index 4d4b8fbef..a347e4232 100644 --- a/module/plugins/crypter/HoerbuchIn.py +++ b/module/plugins/crypter/HoerbuchIn.py @@ -10,7 +10,7 @@ from module.plugins.Crypter import Crypter class HoerbuchIn(Crypter): __name__ = "HoerbuchIn" __type__ = "crypter" - __version__ = "0.6" + __version__ = "0.60" __pattern__ = r'http://(?:www\.)?hoerbuch\.in/(wp/horbucher/\d+/.+/|tp/out\.php\?.+|protection/folder_\d+\.html)' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), diff --git a/module/plugins/crypter/HotfileComFolder.py b/module/plugins/crypter/HotfileComFolder.py index a294c04e0..4f40587ad 100644 --- a/module/plugins/crypter/HotfileComFolder.py +++ b/module/plugins/crypter/HotfileComFolder.py @@ -6,7 +6,7 @@ from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class HotfileComFolder(DeadCrypter): __name__ = "HotfileComFolder" __type__ = "crypter" - __version__ = "0.3" + __version__ = "0.30" __pattern__ = r'https?://(?:www\.)?hotfile\.com/list/\w+/\w+' __config__ = [] diff --git a/module/plugins/crypter/LetitbitNetFolder.py b/module/plugins/crypter/LetitbitNetFolder.py index e3848e2ab..56ecbc7f8 100644 --- a/module/plugins/crypter/LetitbitNetFolder.py +++ b/module/plugins/crypter/LetitbitNetFolder.py @@ -7,7 +7,7 @@ from module.plugins.Crypter import Crypter class LetitbitNetFolder(Crypter): __name__ = "LetitbitNetFolder" __type__ = "crypter" - __version__ = "0.1" + __version__ = "0.10" __pattern__ = r'http://(?:www\.)?letitbit\.net/folder/\w+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), diff --git a/module/plugins/crypter/MultiloadCz.py b/module/plugins/crypter/MultiloadCz.py index 127fe068a..b096f63ef 100644 --- a/module/plugins/crypter/MultiloadCz.py +++ b/module/plugins/crypter/MultiloadCz.py @@ -7,7 +7,7 @@ from module.plugins.Crypter import Crypter class MultiloadCz(Crypter): __name__ = "MultiloadCz" __type__ = "crypter" - __version__ = "0.4" + __version__ = "0.40" __pattern__ = r'http://(?:[^/]*\.)?multiload\.cz/(stahnout|slozka)/.*' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), diff --git a/module/plugins/crypter/OneKhDe.py b/module/plugins/crypter/OneKhDe.py index 540f14568..cfb084da8 100644 --- a/module/plugins/crypter/OneKhDe.py +++ b/module/plugins/crypter/OneKhDe.py @@ -9,7 +9,7 @@ from module.plugins.Crypter import Crypter class OneKhDe(Crypter): __name__ = "OneKhDe" __type__ = "crypter" - __version__ = "0.1" + __version__ = "0.10" __pattern__ = r'http://(?:www\.)?1kh\.de/f/' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), diff --git a/module/plugins/crypter/QuickshareCzFolder.py b/module/plugins/crypter/QuickshareCzFolder.py index 52d558af7..f84f43fa4 100644 --- a/module/plugins/crypter/QuickshareCzFolder.py +++ b/module/plugins/crypter/QuickshareCzFolder.py @@ -7,7 +7,7 @@ from module.plugins.Crypter import Crypter class QuickshareCzFolder(Crypter): __name__ = "QuickshareCzFolder" __type__ = "crypter" - __version__ = "0.1" + __version__ = "0.10" __pattern__ = r'http://(?:www\.)?quickshare\.cz/slozka-\d+.*' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), diff --git a/module/plugins/crypter/SpeedLoadOrgFolder.py b/module/plugins/crypter/SpeedLoadOrgFolder.py index 1d3a7df91..ddde7dec2 100644 --- a/module/plugins/crypter/SpeedLoadOrgFolder.py +++ b/module/plugins/crypter/SpeedLoadOrgFolder.py @@ -6,7 +6,7 @@ from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class SpeedLoadOrgFolder(DeadCrypter): __name__ = "SpeedLoadOrgFolder" __type__ = "crypter" - __version__ = "0.3" + __version__ = "0.30" __pattern__ = r'http://(?:www\.)?speedload\.org/(\d+~f$|folder/\d+/)' __config__ = [] diff --git a/module/plugins/crypter/StealthTo.py b/module/plugins/crypter/StealthTo.py index e4da3e7e4..5173421f1 100644 --- a/module/plugins/crypter/StealthTo.py +++ b/module/plugins/crypter/StealthTo.py @@ -6,7 +6,7 @@ from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo class StealthTo(DeadCrypter): __name__ = "StealthTo" __type__ = "crypter" - __version__ = "0.2" + __version__ = "0.20" __pattern__ = r'http://(?:www\.)?stealth\.to/folder/.+' __config__ = [] diff --git a/module/plugins/crypter/UlozToFolder.py b/module/plugins/crypter/UlozToFolder.py index 59c828174..cfb756413 100644 --- a/module/plugins/crypter/UlozToFolder.py +++ b/module/plugins/crypter/UlozToFolder.py @@ -7,7 +7,7 @@ from module.plugins.Crypter import Crypter class UlozToFolder(Crypter): __name__ = "UlozToFolder" __type__ = "crypter" - __version__ = "0.2" + __version__ = "0.20" __pattern__ = r'http://(?:www\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj\.cz|zachowajto\.pl)/(m|soubory)/.*' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), diff --git a/module/plugins/crypter/XupPl.py b/module/plugins/crypter/XupPl.py index c456723b3..25b80860c 100644 --- a/module/plugins/crypter/XupPl.py +++ b/module/plugins/crypter/XupPl.py @@ -6,7 +6,7 @@ from module.plugins.Crypter import Crypter class XupPl(Crypter): __name__ = "XupPl" __type__ = "crypter" - __version__ = "0.1" + __version__ = "0.10" __pattern__ = r'https?://(?:[^/]*\.)?xup\.pl/.*' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), -- cgit v1.2.3 From 4d578cb15f3d6edd036e438e504739b97660f93e Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Tue, 9 Dec 2014 16:58:35 +0100 Subject: Spare code cosmetics --- module/plugins/crypter/FilecryptCc.py | 8 ++++---- module/plugins/crypter/NCryptIn.py | 4 ++-- module/plugins/crypter/RelinkUs.py | 25 +++++++++++++++++-------- module/plugins/crypter/SafelinkingNet.py | 2 +- 4 files changed, 24 insertions(+), 15 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/FilecryptCc.py b/module/plugins/crypter/FilecryptCc.py index fb53e616b..0aa730744 100644 --- a/module/plugins/crypter/FilecryptCc.py +++ b/module/plugins/crypter/FilecryptCc.py @@ -107,10 +107,10 @@ class FilecryptCc(Crypter): weblinks = re.findall(self.WEBLINK_PATTERN, self.siteWithLinks) for link in weblinks: - response = self.load("http://filecrypt.cc/Link/%s.html" % link, cookies=True) - link2 = re.search('<iframe noresize src="(.*)"></iframe>', response) - response2 = self.load(link2.group(1), just_header=True, cookies=True) - self.links.append(response2['location']) + res = self.load("http://filecrypt.cc/Link/%s.html" % link, cookies=True) + link2 = re.search('<iframe noresize src="(.*)"></iframe>', res) + res2 = self.load(link2.group(1), just_header=True, cookies=True) + self.links.append(res2['location']) except Exception, e: self.logDebug("Error decrypting weblinks: %s" % e) diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index 3c08e26c1..1d572e538 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -156,9 +156,9 @@ class NCryptIn(Crypter): captcha_key = re.search(r'\?k=(.*?)"', form).group(1) self.logDebug("Resolving ReCaptcha with key [%s]" % captcha_key) recaptcha = ReCaptcha(self) - challenge, code = recaptcha.challenge(captcha_key) + challenge, response = recaptcha.challenge(captcha_key) postData['recaptcha_challenge_field'] = challenge - postData['recaptcha_response_field'] = code + postData['recaptcha_response_field'] = response # Resolve circlecaptcha if "circlecaptcha" in form: diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index 1111118b2..94a73cded 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -228,20 +228,29 @@ class RelinkUs(Crypter): def handleWEBLinks(self): self.logDebug("Search for WEB links") + package_links = [] - fw_params = re.findall(self.WEB_FORWARD_REGEX, self.html) - self.logDebug("Decrypting %d Web links" % len(fw_params)) - for index, fw_param in enumerate(fw_params): + params = re.findall(self.WEB_FORWARD_REGEX, self.html) + + self.logDebug("Decrypting %d Web links" % len(params)) + + for index, param in enumerate(params): try: - fw_url = self.WEB_FORWARD_URL + "?%s" % fw_param - self.logDebug("Decrypting Web link %d, %s" % (index + 1, fw_url)) - fw_response = self.load(fw_url, decode=True) - dl_link = re.search(self.WEB_LINK_REGEX, fw_response).group('link') - package_links.append(dl_link) + url = self.WEB_FORWARD_URL + "?%s" % param + + self.logDebug("Decrypting Web link %d, %s" % (index + 1, url)) + + res = self.load(url, decode=True) + link = re.search(self.WEB_LINK_REGEX, res).group('link') + + package_links.append(link) + except Exception, detail: self.logDebug("Error decrypting Web link %s, %s" % (index, detail)) + self.setWait(4) self.wait() + return package_links diff --git a/module/plugins/crypter/SafelinkingNet.py b/module/plugins/crypter/SafelinkingNet.py index 9bb6c3229..709083b51 100644 --- a/module/plugins/crypter/SafelinkingNet.py +++ b/module/plugins/crypter/SafelinkingNet.py @@ -57,7 +57,7 @@ class SafelinkingNet(Crypter): challenge, response = captcha.challenge(captchaKey) postData['adcopy_challenge'] = challenge - postData['adcopy_response'] = response + postData['adcopy_response'] = response self.html = self.load(url, post=postData) if "The password you entered was incorrect" in self.html: -- cgit v1.2.3 From 5981ad8ebf968642d433c3aeb8b8da9202f7615c Mon Sep 17 00:00:00 2001 From: zapp-brannigan <zapp-brannigan@users.noreply.github.com> Date: Thu, 11 Dec 2014 17:13:58 +0100 Subject: [FilecryptCc.py] Upgrade captcha handling Added support for "click the open circle" captchas. --- module/plugins/crypter/FilecryptCc.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/FilecryptCc.py b/module/plugins/crypter/FilecryptCc.py index fb53e616b..9623ffdee 100644 --- a/module/plugins/crypter/FilecryptCc.py +++ b/module/plugins/crypter/FilecryptCc.py @@ -12,7 +12,7 @@ from module.plugins.Crypter import Crypter class FilecryptCc(Crypter): __name__ = "FilecryptCc" __type__ = "crypter" - __version__ = "0.05" + __version__ = "0.06" __pattern__ = r'https?://(?:www\.)?filecrypt\.cc/Container/\w+' @@ -27,6 +27,7 @@ class FilecryptCc(Crypter): WEBLINK_PATTERN = r"openLink.?'([\w_-]*)'," CAPTCHA_PATTERN = r'<img id="nc" src="(.+?)"' + CIRCLECAPTCHA_PATTERN = r'<input type="image" src="(.+?)"' MIRROR_PAGE_PATTERN = r'"[\w]*" href="(http://filecrypt.cc/Container/\w+\.html\?mirror=\d+)">' @@ -38,7 +39,7 @@ class FilecryptCc(Crypter): def decrypt(self, pyfile): self.html = self.load(pyfile.url, cookies=True) - if "content not found" in self.html: + if "content notfound" in self.html: #@pyload-devs: this is _not_ a typo self.offline() self.handlePasswordProtection() @@ -78,16 +79,21 @@ class FilecryptCc(Crypter): def handleCaptcha(self): m = re.search(self.CAPTCHA_PATTERN, self.html) + found = re.search(self.CIRCLECAPTCHA_PATTERN, self.html) - if m: + if m: #normal captcha self.logDebug("Captcha-URL: %s" % m.group(1)) captcha_code = self.decryptCaptcha("http://filecrypt.cc" + m.group(1), forceUser=True, imgtype="gif") self.siteWithLinks = self.load(self.pyfile.url, post={"recaptcha_response_field":captcha_code}, decode=True, cookies=True) + elif found: #circle captcha + self.logDebug("Captcha-URL: %s" % found.group(1)) + captcha_code = self.decryptCaptcha("http://filecrypt.cc" + found.group(1), forceUser=True, imgtype="gif", result_type='positional') + self.siteWithLinks = self.load(self.pyfile.url, post={"button.x":captcha_code[0], "button.y":captcha_code[1]}, decode=True, cookies=True) else: self.logDebug("No captcha found") self.siteWithLinks = self.html - if "recaptcha_response_field" in self.siteWithLinks: + if "recaptcha_image" in self.siteWithLinks: self.invalidCaptcha() self.retry() -- cgit v1.2.3 From 0f530be2642c63759cb6156866f1d4ab119760da Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Fri, 12 Dec 2014 20:33:34 +0100 Subject: Fix missing create_getInfo --- module/plugins/crypter/BitshareComFolder.py | 5 ++++- module/plugins/crypter/CrockoComFolder.py | 5 ++++- module/plugins/crypter/DataHuFolder.py | 5 ++++- module/plugins/crypter/DepositfilesComFolder.py | 5 ++++- module/plugins/crypter/DevhostStFolder.py | 5 ++++- module/plugins/crypter/DlProtectCom.py | 5 ++++- module/plugins/crypter/EasybytezComFolder.py | 5 ++++- module/plugins/crypter/FilecloudIoFolder.py | 5 ++++- module/plugins/crypter/FilefactoryComFolder.py | 5 ++++- module/plugins/crypter/FilerNetFolder.py | 5 ++++- module/plugins/crypter/FilestubeCom.py | 5 ++++- module/plugins/crypter/FiletramCom.py | 5 ++++- module/plugins/crypter/FreakhareComFolder.py | 5 ++++- module/plugins/crypter/FreetexthostCom.py | 5 ++++- module/plugins/crypter/FshareVnFolder.py | 5 ++++- module/plugins/crypter/ImgurComAlbum.py | 5 ++++- module/plugins/crypter/JunocloudMeFolder.py | 5 ++++- module/plugins/crypter/LinkSaveIn.py | 5 ++++- module/plugins/crypter/MegaRapidCzFolder.py | 5 ++++- module/plugins/crypter/MultiUpOrg.py | 5 ++++- module/plugins/crypter/NetfolderIn.py | 5 ++++- module/plugins/crypter/NosvideoCom.py | 5 ++++- module/plugins/crypter/PastebinCom.py | 5 ++++- module/plugins/crypter/RapidfileshareNetFolder.py | 5 ++++- module/plugins/crypter/TnyCz.py | 5 ++++- module/plugins/crypter/TurbobitNetFolder.py | 5 ++++- module/plugins/crypter/TusfilesNetFolder.py | 5 ++++- module/plugins/crypter/UploadableChFolder.py | 5 ++++- module/plugins/crypter/UploadedToFolder.py | 5 ++++- module/plugins/crypter/XFileSharingProFolder.py | 5 ++++- 30 files changed, 120 insertions(+), 30 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/BitshareComFolder.py b/module/plugins/crypter/BitshareComFolder.py index e4038aebf..c70a849b6 100644 --- a/module/plugins/crypter/BitshareComFolder.py +++ b/module/plugins/crypter/BitshareComFolder.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo class BitshareComFolder(SimpleCrypter): @@ -19,3 +19,6 @@ class BitshareComFolder(SimpleCrypter): LINK_PATTERN = r'<a href="(http://bitshare\.com/files/.+)">.+</a></td>' NAME_PATTERN = r'View public folder "(?P<N>.+)"</h1>' + + +getInfo = create_getInfo(BitshareComFolder) diff --git a/module/plugins/crypter/CrockoComFolder.py b/module/plugins/crypter/CrockoComFolder.py index 64a1f8bce..bf91b0afc 100644 --- a/module/plugins/crypter/CrockoComFolder.py +++ b/module/plugins/crypter/CrockoComFolder.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo class CrockoComFolder(SimpleCrypter): @@ -18,3 +18,6 @@ class CrockoComFolder(SimpleCrypter): LINK_PATTERN = r'<td class="last"><a href="([^"]+)">download</a>' + + +getInfo = create_getInfo(CrockoComFolder) diff --git a/module/plugins/crypter/DataHuFolder.py b/module/plugins/crypter/DataHuFolder.py index 0399e686d..a5602d6c6 100644 --- a/module/plugins/crypter/DataHuFolder.py +++ b/module/plugins/crypter/DataHuFolder.py @@ -2,7 +2,7 @@ import re -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo class DataHuFolder(SimpleCrypter): @@ -38,3 +38,6 @@ class DataHuFolder(SimpleCrypter): if u'Hib\xe1s jelsz\xf3' in self.html: # Wrong password self.fail(_("Wrong password")) + + +getInfo = create_getInfo(DataHuFolder) diff --git a/module/plugins/crypter/DepositfilesComFolder.py b/module/plugins/crypter/DepositfilesComFolder.py index 79c31c97a..147f093c3 100644 --- a/module/plugins/crypter/DepositfilesComFolder.py +++ b/module/plugins/crypter/DepositfilesComFolder.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo class DepositfilesComFolder(SimpleCrypter): @@ -18,3 +18,6 @@ class DepositfilesComFolder(SimpleCrypter): LINK_PATTERN = r'<div class="progressName"[^>]*>\s*<a href="([^"]+)" title="[^"]*" target="_blank">' + + +getInfo = create_getInfo(DepositfilesComFolder) diff --git a/module/plugins/crypter/DevhostStFolder.py b/module/plugins/crypter/DevhostStFolder.py index 192c5962c..5ac9d4faf 100644 --- a/module/plugins/crypter/DevhostStFolder.py +++ b/module/plugins/crypter/DevhostStFolder.py @@ -7,7 +7,7 @@ import re from urlparse import urljoin -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo class DevhostStFolder(SimpleCrypter): @@ -56,3 +56,6 @@ class DevhostStFolder(SimpleCrypter): def getLinks(self): return [urljoin("http://d-h.st", link) for link in re.findall(self.LINK_PATTERN, self.html)] + + +getInfo = create_getInfo(DevhostStFolder) diff --git a/module/plugins/crypter/DlProtectCom.py b/module/plugins/crypter/DlProtectCom.py index 5efb03c15..0f59e925e 100644 --- a/module/plugins/crypter/DlProtectCom.py +++ b/module/plugins/crypter/DlProtectCom.py @@ -5,7 +5,7 @@ import re from base64 import urlsafe_b64encode from time import time -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo class DlProtectCom(SimpleCrypter): @@ -63,3 +63,6 @@ class DlProtectCom(SimpleCrypter): pattern = r'<a href="([^/].+?)" target="_blank">' return re.findall(pattern, self.html) + + +getInfo = create_getInfo(DlProtectCom) diff --git a/module/plugins/crypter/EasybytezComFolder.py b/module/plugins/crypter/EasybytezComFolder.py index fa3e6165c..04f9b853b 100644 --- a/module/plugins/crypter/EasybytezComFolder.py +++ b/module/plugins/crypter/EasybytezComFolder.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.XFSCrypter import XFSCrypter +from module.plugins.internal.XFSCrypter import XFSCrypter, create_getInfo class EasybytezComFolder(XFSCrypter): @@ -20,3 +20,6 @@ class EasybytezComFolder(XFSCrypter): HOSTER_DOMAIN = "easybytez.com" LOGIN_ACCOUNT = True + + +getInfo = create_getInfo(EasybytezComFolder) diff --git a/module/plugins/crypter/FilecloudIoFolder.py b/module/plugins/crypter/FilecloudIoFolder.py index 5640ab5c9..83cce352d 100644 --- a/module/plugins/crypter/FilecloudIoFolder.py +++ b/module/plugins/crypter/FilecloudIoFolder.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo class FilecloudIoFolder(SimpleCrypter): @@ -19,3 +19,6 @@ class FilecloudIoFolder(SimpleCrypter): LINK_PATTERN = r'href="(http://filecloud\.io/\w+)" title' NAME_PATTERN = r'>(?P<N>.+?) - filecloud\.io<' + + +getInfo = create_getInfo(FilecloudIoFolder) diff --git a/module/plugins/crypter/FilefactoryComFolder.py b/module/plugins/crypter/FilefactoryComFolder.py index 52c39c386..26e28acbd 100644 --- a/module/plugins/crypter/FilefactoryComFolder.py +++ b/module/plugins/crypter/FilefactoryComFolder.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo class FilefactoryComFolder(SimpleCrypter): @@ -26,3 +26,6 @@ class FilefactoryComFolder(SimpleCrypter): def loadPage(self, page_n): return self.load(self.pyfile.url, get={'page': page_n}) + + +getInfo = create_getInfo(FilefactoryComFolder) diff --git a/module/plugins/crypter/FilerNetFolder.py b/module/plugins/crypter/FilerNetFolder.py index a2daba136..00db173bb 100644 --- a/module/plugins/crypter/FilerNetFolder.py +++ b/module/plugins/crypter/FilerNetFolder.py @@ -1,6 +1,6 @@ import re -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo class FilerNetFolder(SimpleCrypter): @@ -24,3 +24,6 @@ class FilerNetFolder(SimpleCrypter): def getLinks(self): return ['http://filer.net%s' % link for link in re.findall(self.LINK_PATTERN, self.html)] + + +getInfo = create_getInfo(FilerNetFolder) diff --git a/module/plugins/crypter/FilestubeCom.py b/module/plugins/crypter/FilestubeCom.py index 29de108e5..16ebdda37 100644 --- a/module/plugins/crypter/FilestubeCom.py +++ b/module/plugins/crypter/FilestubeCom.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo class FilestubeCom(SimpleCrypter): @@ -19,3 +19,6 @@ class FilestubeCom(SimpleCrypter): LINK_PATTERN = r'<a class=\"file-link-main(?: noref)?\" [^>]* href=\"(http://[^\"]+)' NAME_PATTERN = r'<h1\s*> (?P<N>.+) download\s*</h1>' + + +getInfo = create_getInfo(FilestubeCom) diff --git a/module/plugins/crypter/FiletramCom.py b/module/plugins/crypter/FiletramCom.py index e4c8b6360..76530c589 100644 --- a/module/plugins/crypter/FiletramCom.py +++ b/module/plugins/crypter/FiletramCom.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo class FiletramCom(SimpleCrypter): @@ -20,3 +20,6 @@ class FiletramCom(SimpleCrypter): LINK_PATTERN = r'\s+(http://.+)' NAME_PATTERN = r'<title>(?P<N>.+?) - Free Download' + + +getInfo = create_getInfo(FiletramCom) diff --git a/module/plugins/crypter/FreakhareComFolder.py b/module/plugins/crypter/FreakhareComFolder.py index d4d3c6d3c..7c1b7de2b 100644 --- a/module/plugins/crypter/FreakhareComFolder.py +++ b/module/plugins/crypter/FreakhareComFolder.py @@ -2,7 +2,7 @@ import re -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo class FreakhareComFolder(SimpleCrypter): @@ -36,3 +36,6 @@ class FreakhareComFolder(SimpleCrypter): 'entrys': '20', 'page': page_n - 1, 'order': ''}, decode=True) + + +getInfo = create_getInfo(FreakhareComFolder) diff --git a/module/plugins/crypter/FreetexthostCom.py b/module/plugins/crypter/FreetexthostCom.py index 36bc61d35..c33c9ff64 100644 --- a/module/plugins/crypter/FreetexthostCom.py +++ b/module/plugins/crypter/FreetexthostCom.py @@ -2,7 +2,7 @@ import re -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo class FreetexthostCom(SimpleCrypter): @@ -25,3 +25,6 @@ class FreetexthostCom(SimpleCrypter): self.error(_("Unable to extract links")) links = m.group(1) return links.strip().split("<br />\r\n") + + +getInfo = create_getInfo(FreetexthostCom) diff --git a/module/plugins/crypter/FshareVnFolder.py b/module/plugins/crypter/FshareVnFolder.py index e6e67ea13..d31a5c6a0 100644 --- a/module/plugins/crypter/FshareVnFolder.py +++ b/module/plugins/crypter/FshareVnFolder.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo class FshareVnFolder(SimpleCrypter): @@ -18,3 +18,6 @@ class FshareVnFolder(SimpleCrypter): LINK_PATTERN = r'<li class="w_80pc"><a href="([^"]+)" target="_blank">' + + +getInfo = create_getInfo(FshareVnFolder) diff --git a/module/plugins/crypter/ImgurComAlbum.py b/module/plugins/crypter/ImgurComAlbum.py index f8f226a1b..6c074f5f1 100644 --- a/module/plugins/crypter/ImgurComAlbum.py +++ b/module/plugins/crypter/ImgurComAlbum.py @@ -1,6 +1,6 @@ import re -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo from module.utils import uniqify @@ -25,3 +25,6 @@ class ImgurComAlbum(SimpleCrypter): def getLinks(self): f = lambda url: "http://" + re.sub(r'(\w{7})s\.', r'\1.', url) return uniqify(map(f, re.findall(self.LINK_PATTERN, self.html))) + + +getInfo = create_getInfo(ImgurComAlbum) diff --git a/module/plugins/crypter/JunocloudMeFolder.py b/module/plugins/crypter/JunocloudMeFolder.py index 509f1f7ec..990f25902 100644 --- a/module/plugins/crypter/JunocloudMeFolder.py +++ b/module/plugins/crypter/JunocloudMeFolder.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.XFSCrypter import XFSCrypter +from module.plugins.internal.XFSCrypter import XFSCrypter, create_getInfo class JunocloudMeFolder(XFSCrypter): @@ -18,3 +18,6 @@ class JunocloudMeFolder(XFSCrypter): HOSTER_DOMAIN = "junocloud.me" + + +getInfo = create_getInfo(JunocloudMeFolder) diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index 46babd156..22aba8afc 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -9,7 +9,7 @@ import re from Crypto.Cipher import AES -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo from module.unescape import unescape @@ -244,3 +244,6 @@ class LinkSaveIn(SimpleCrypter): # Log and return self.logDebug("Package has %d links" % len(links)) return links + + +getInfo = create_getInfo(LinkSaveIn) diff --git a/module/plugins/crypter/MegaRapidCzFolder.py b/module/plugins/crypter/MegaRapidCzFolder.py index d9fb828a8..e7dff6c8a 100644 --- a/module/plugins/crypter/MegaRapidCzFolder.py +++ b/module/plugins/crypter/MegaRapidCzFolder.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo class MegaRapidCzFolder(SimpleCrypter): @@ -18,3 +18,6 @@ class MegaRapidCzFolder(SimpleCrypter): LINK_PATTERN = r'<td class="soubor"[^>]*><a href="([^"]+)">' + + +getInfo = create_getInfo(MegaRapidCzFolder) diff --git a/module/plugins/crypter/MultiUpOrg.py b/module/plugins/crypter/MultiUpOrg.py index 5f3fc8b17..ada8d0728 100644 --- a/module/plugins/crypter/MultiUpOrg.py +++ b/module/plugins/crypter/MultiUpOrg.py @@ -3,7 +3,7 @@ import re from urlparse import urljoin -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo class MultiUpOrg(SimpleCrypter): @@ -36,3 +36,6 @@ class MultiUpOrg(SimpleCrypter): self.html = self.load(miror_page) return re.findall(pattern, self.html) + + +getInfo = create_getInfo(MultiUpOrg) diff --git a/module/plugins/crypter/NetfolderIn.py b/module/plugins/crypter/NetfolderIn.py index a47bd0503..bfdf5cb82 100644 --- a/module/plugins/crypter/NetfolderIn.py +++ b/module/plugins/crypter/NetfolderIn.py @@ -2,7 +2,7 @@ import re -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo class NetfolderIn(SimpleCrypter): @@ -68,3 +68,6 @@ class NetfolderIn(SimpleCrypter): links = re.search(r'name="list" value="(.*?)"', self.html).group(1).split(",") self.logDebug("Package has %d links" % len(links)) return links + + +getInfo = create_getInfo(NetfolderIn) diff --git a/module/plugins/crypter/NosvideoCom.py b/module/plugins/crypter/NosvideoCom.py index 3abefdadb..1e280abd2 100644 --- a/module/plugins/crypter/NosvideoCom.py +++ b/module/plugins/crypter/NosvideoCom.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo class NosvideoCom(SimpleCrypter): @@ -19,3 +19,6 @@ class NosvideoCom(SimpleCrypter): LINK_PATTERN = r'href="(http://(?:w{3}\.)?nosupload\.com/\?d=\w+)"' NAME_PATTERN = r'<[tT]itle>Watch (?P<N>.+?)<' + + +getInfo = create_getInfo(NosvideoCom) diff --git a/module/plugins/crypter/PastebinCom.py b/module/plugins/crypter/PastebinCom.py index 1dae39bb8..b3d5a4bea 100644 --- a/module/plugins/crypter/PastebinCom.py +++ b/module/plugins/crypter/PastebinCom.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo class PastebinCom(SimpleCrypter): @@ -19,3 +19,6 @@ class PastebinCom(SimpleCrypter): LINK_PATTERN = r'<div class="de\d+">(https?://[^ <]+)(?:[^<]*)</div>' NAME_PATTERN = r'<div class="paste_box_line1" title="(?P<N>[^"]+)">' + + +getInfo = create_getInfo(PastebinCom) diff --git a/module/plugins/crypter/RapidfileshareNetFolder.py b/module/plugins/crypter/RapidfileshareNetFolder.py index 5531d5a90..fc3d4241e 100644 --- a/module/plugins/crypter/RapidfileshareNetFolder.py +++ b/module/plugins/crypter/RapidfileshareNetFolder.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.XFSCrypter import XFSCrypter +from module.plugins.internal.XFSCrypter import XFSCrypter, create_getInfo class RapidfileshareNetFolder(XFSCrypter): @@ -18,3 +18,6 @@ class RapidfileshareNetFolder(XFSCrypter): HOSTER_DOMAIN = "rapidfileshare.net" + + +getInfo = create_getInfo(RapidfileshareNetFolder) diff --git a/module/plugins/crypter/TnyCz.py b/module/plugins/crypter/TnyCz.py index 6dde729f5..d36128550 100644 --- a/module/plugins/crypter/TnyCz.py +++ b/module/plugins/crypter/TnyCz.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo import re @@ -25,3 +25,6 @@ class TnyCz(SimpleCrypter): def getLinks(self): m = re.search(r'<a id=\'save_paste\' href="(.+save\.php\?hash=.+)">', self.html) return re.findall(".+", self.load(m.group(1), decode=True)) if m else None + + +getInfo = create_getInfo(TnyCz) diff --git a/module/plugins/crypter/TurbobitNetFolder.py b/module/plugins/crypter/TurbobitNetFolder.py index 4e07564af..64fcefac6 100644 --- a/module/plugins/crypter/TurbobitNetFolder.py +++ b/module/plugins/crypter/TurbobitNetFolder.py @@ -2,7 +2,7 @@ import re -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo from module.common.json_layer import json_loads @@ -42,3 +42,6 @@ class TurbobitNetFolder(SimpleCrypter): id = re.match(self.__pattern__, self.pyfile.url).group("ID") fixurl = lambda id: "http://turbobit.net/%s.html" % id return map(fixurl, self._getLinks(id)) + + +getInfo = create_getInfo(TurbobitNetFolder) diff --git a/module/plugins/crypter/TusfilesNetFolder.py b/module/plugins/crypter/TusfilesNetFolder.py index 9533a6e76..0db3470cc 100644 --- a/module/plugins/crypter/TusfilesNetFolder.py +++ b/module/plugins/crypter/TusfilesNetFolder.py @@ -4,7 +4,7 @@ import math import re from urlparse import urljoin -from module.plugins.internal.XFSCrypter import XFSCrypter +from module.plugins.internal.XFSCrypter import XFSCrypter, create_getInfo class TusfilesNetFolder(XFSCrypter): @@ -43,3 +43,6 @@ class TusfilesNetFolder(XFSCrypter): for p in xrange(2, pages + 1): self.html = self.loadPage(p) self.links += self.getLinks() + + +getInfo = create_getInfo(TusfilesNetFolder) diff --git a/module/plugins/crypter/UploadableChFolder.py b/module/plugins/crypter/UploadableChFolder.py index 070753ac0..22f9ca2ed 100644 --- a/module/plugins/crypter/UploadableChFolder.py +++ b/module/plugins/crypter/UploadableChFolder.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo class UploadableChFolder(SimpleCrypter): @@ -22,3 +22,6 @@ class UploadableChFolder(SimpleCrypter): NAME_PATTERN = r'<div class="folder"><span> </span>(?P<N>.+?)</div>' OFFLINE_PATTERN = r'We are sorry... The URL you entered cannot be found on the server.' TEMP_OFFLINE_PATTERN = r'<div class="icon_err">' + + +getInfo = create_getInfo(UploadableChFolder) diff --git a/module/plugins/crypter/UploadedToFolder.py b/module/plugins/crypter/UploadedToFolder.py index 359ba92d0..3e77d73a9 100644 --- a/module/plugins/crypter/UploadedToFolder.py +++ b/module/plugins/crypter/UploadedToFolder.py @@ -4,7 +4,7 @@ import re from urlparse import urljoin -from module.plugins.internal.SimpleCrypter import SimpleCrypter +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo class UploadedToFolder(SimpleCrypter): @@ -32,3 +32,6 @@ class UploadedToFolder(SimpleCrypter): plain_link = urljoin("http://uploaded.net/", m.group('plain')) return self.load(plain_link).split('\n')[:-1] + + +getInfo = create_getInfo(UploadedToFolder) diff --git a/module/plugins/crypter/XFileSharingProFolder.py b/module/plugins/crypter/XFileSharingProFolder.py index dffd8909c..10e4d8c83 100644 --- a/module/plugins/crypter/XFileSharingProFolder.py +++ b/module/plugins/crypter/XFileSharingProFolder.py @@ -2,7 +2,7 @@ import re -from module.plugins.internal.XFSCrypter import XFSCrypter +from module.plugins.internal.XFSCrypter import XFSCrypter, create_getInfo class XFileSharingProFolder(XFSCrypter): @@ -45,3 +45,6 @@ class XFileSharingProFolder(XFSCrypter): self.user, data = self.account.selectAccount() self.req = self.account.getAccountRequest(self.user) self.premium = self.account.isPremium(self.user) + + +getInfo = create_getInfo(XFileSharingProFolder) -- cgit v1.2.3 From 5cb925f5d23ca05c8e9bd5df75a68b0b4c2dc408 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Tue, 16 Dec 2014 02:06:02 +0100 Subject: Update plugins --- module/plugins/crypter/FilecryptCc.py | 42 ++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 13 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/FilecryptCc.py b/module/plugins/crypter/FilecryptCc.py index 9793d4e5b..087f377ff 100644 --- a/module/plugins/crypter/FilecryptCc.py +++ b/module/plugins/crypter/FilecryptCc.py @@ -5,6 +5,7 @@ import binascii import re from Crypto.Cipher import AES +from urlparse import urljoin from module.plugins.Crypter import Crypter @@ -12,7 +13,7 @@ from module.plugins.Crypter import Crypter class FilecryptCc(Crypter): __name__ = "FilecryptCc" __type__ = "crypter" - __version__ = "0.06" + __version__ = "0.07" __pattern__ = r'https?://(?:www\.)?filecrypt\.cc/Container/\w+' @@ -24,10 +25,10 @@ class FilecryptCc(Crypter): # URL_REPLACEMENTS = [(r'.html$', ""), (r'$', ".html")] #@TODO: Extend SimpleCrypter DLC_LINK_PATTERN = r'<button class="dlcdownload" type="button" title="Download \*.dlc" onclick="DownloadDLC\(\'(.+)\'\);"><i></i><span>dlc<' - WEBLINK_PATTERN = r"openLink.?'([\w_-]*)'," + WEBLINK_PATTERN = r"openLink.?'([\w_-]*)'," - CAPTCHA_PATTERN = r'<img id="nc" src="(.+?)"' - CIRCLECAPTCHA_PATTERN = r'<input type="image" src="(.+?)"' + CAPTCHA_PATTERN = r'<img id="nc" src="(.+?)"' + CIRCLE_CAPTCHA_PATTERN = r'<input type="image" src="(.+?)"' MIRROR_PAGE_PATTERN = r'"[\w]*" href="(http://filecrypt.cc/Container/\w+\.html\?mirror=\d+)">' @@ -39,7 +40,7 @@ class FilecryptCc(Crypter): def decrypt(self, pyfile): self.html = self.load(pyfile.url, cookies=True) - if "content notfound" in self.html: #@pyload-devs: this is _not_ a typo + if "content notfound" in self.html: #@NOTE: "content notfound" is NOT a typo self.offline() self.handlePasswordProtection() @@ -79,16 +80,31 @@ class FilecryptCc(Crypter): def handleCaptcha(self): m = re.search(self.CAPTCHA_PATTERN, self.html) - found = re.search(self.CIRCLECAPTCHA_PATTERN, self.html) + m2 = re.search(self.CIRCLE_CAPTCHA_PATTERN, self.html) - if m: #normal captcha + if m: #: normal captcha self.logDebug("Captcha-URL: %s" % m.group(1)) - captcha_code = self.decryptCaptcha("http://filecrypt.cc" + m.group(1), forceUser=True, imgtype="gif") - self.siteWithLinks = self.load(self.pyfile.url, post={"recaptcha_response_field":captcha_code}, decode=True, cookies=True) - elif found: #circle captcha - self.logDebug("Captcha-URL: %s" % found.group(1)) - captcha_code = self.decryptCaptcha("http://filecrypt.cc" + found.group(1), forceUser=True, imgtype="gif", result_type='positional') - self.siteWithLinks = self.load(self.pyfile.url, post={"button.x":captcha_code[0], "button.y":captcha_code[1]}, decode=True, cookies=True) + + captcha_code = self.decryptCaptcha(urljoin("http://filecrypt.cc", m.group(1)), + forceUser=True, + imgtype="gif") + + self.siteWithLinks = self.load(self.pyfile.url, + post={'recaptcha_response_field': captcha_code}, + cookies=True, + decode=True) + elif m2: #: circle captcha + self.logDebug("Captcha-URL: %s" % m2.group(1)) + + captcha_code = self.decryptCaptcha(urljoin("http://filecrypt.cc", m2.group(1)), + forceUser=True, + imgtype="gif", + result_type='positional') + + self.siteWithLinks = self.load(self.pyfile.url, + post={'button.x': captcha_code[0], 'button.y': captcha_code[1]}, + cookies=True, + decode=True) else: self.logDebug("No captcha found") self.siteWithLinks = self.html -- cgit v1.2.3 From 854efeb463bd98cb8e22f1f78f5ce97e6c0ab49f Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Mon, 22 Dec 2014 16:45:04 +0100 Subject: Spare code cosmetics --- module/plugins/crypter/DailymotionBatch.py | 4 ++-- module/plugins/crypter/Dereferer.py | 4 ++-- module/plugins/crypter/DlProtectCom.py | 2 +- module/plugins/crypter/LinkSaveIn.py | 4 ++-- module/plugins/crypter/LixIn.py | 10 +++++----- module/plugins/crypter/MultiUpOrg.py | 2 +- module/plugins/crypter/NCryptIn.py | 4 ++-- module/plugins/crypter/RelinkUs.py | 10 +++++----- module/plugins/crypter/TurbobitNetFolder.py | 2 +- module/plugins/crypter/UploadedToFolder.py | 6 +++--- module/plugins/crypter/YoutubeBatch.py | 4 ++-- 11 files changed, 26 insertions(+), 26 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/DailymotionBatch.py b/module/plugins/crypter/DailymotionBatch.py index 28e01c084..8d4cb64df 100644 --- a/module/plugins/crypter/DailymotionBatch.py +++ b/module/plugins/crypter/DailymotionBatch.py @@ -84,8 +84,8 @@ class DailymotionBatch(Crypter): def decrypt(self, pyfile): m = re.match(self.__pattern__, pyfile.url) - m_id = m.group("ID") - m_type = m.group("TYPE") + m_id = m.group('ID') + m_type = m.group('TYPE') if m_type == "playlist": self.logDebug("Url recognized as Playlist") diff --git a/module/plugins/crypter/Dereferer.py b/module/plugins/crypter/Dereferer.py index dadc3c8b3..398cadce7 100644 --- a/module/plugins/crypter/Dereferer.py +++ b/module/plugins/crypter/Dereferer.py @@ -12,7 +12,7 @@ class Dereferer(Crypter): __type__ = "crypter" __version__ = "0.10" - __pattern__ = r'https?://([^/]+)/.*?(?P<url>(ht|f)tps?(://|%3A%2F%2F).*)' + __pattern__ = r'https?://([^/]+)/.*?(?P<URL>(ht|f)tps?(://|%3A%2F%2F).*)' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] @@ -22,5 +22,5 @@ class Dereferer(Crypter): def decrypt(self, pyfile): - link = re.match(self.__pattern__, pyfile.url).group('url') + link = re.match(self.__pattern__, pyfile.url).group('URL') self.urls = [unquote(link).rstrip('+')] diff --git a/module/plugins/crypter/DlProtectCom.py b/module/plugins/crypter/DlProtectCom.py index 0f59e925e..a99ed0be9 100644 --- a/module/plugins/crypter/DlProtectCom.py +++ b/module/plugins/crypter/DlProtectCom.py @@ -30,7 +30,7 @@ class DlProtectCom(SimpleCrypter): if not re.match(r"http://(?:www\.)?dl-protect\.com", self.req.http.lastEffectiveURL): return [self.req.http.lastEffectiveURL] - #id = re.match(self.__pattern__, self.pyfile.url).group("ID") + #id = re.match(self.__pattern__, self.pyfile.url).group('ID') key = re.search(r'name="id_key" value="(.+?)"', self.html).group(1) post_req = {"id_key": key, "submitform": ""} diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index 22aba8afc..842310853 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -18,7 +18,7 @@ class LinkSaveIn(SimpleCrypter): __type__ = "crypter" __version__ = "2.02" - __pattern__ = r'http://(?:www\.)?linksave\.in/(?P<id>\w+)$' + __pattern__ = r'http://(?:www\.)?linksave\.in/(?P<ID>\w+)$' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] @@ -44,7 +44,7 @@ class LinkSaveIn(SimpleCrypter): def decrypt(self, pyfile): # Init self.package = pyfile.package() - self.fileid = re.match(self.__pattern__, pyfile.url).group('id') + self.fileid = re.match(self.__pattern__, pyfile.url).group('ID') # Request package self.html = self.load(pyfile.url) diff --git a/module/plugins/crypter/LixIn.py b/module/plugins/crypter/LixIn.py index 50ad217d4..d899d58c7 100644 --- a/module/plugins/crypter/LixIn.py +++ b/module/plugins/crypter/LixIn.py @@ -19,9 +19,9 @@ class LixIn(Crypter): __authors__ = [("spoob", "spoob@pyload.org")] - CAPTCHA_PATTERN = r'<img src="(?P<image>captcha_img\.php\?.*?)"' + CAPTCHA_PATTERN = r'<img src="(captcha_img\.php\?.*?)"' SUBMIT_PATTERN = r'value=\'continue.*?\'' - LINK_PATTERN = r'name="ifram" src="(?P<link>.*?)"' + LINK_PATTERN = r'name="ifram" src="(.*?)"' def decrypt(self, pyfile): @@ -31,7 +31,7 @@ class LixIn(Crypter): if m is None: self.error(_("Unable to identify file ID")) - id = m.group("ID") + id = m.group('ID') self.logDebug("File id is %s" % id) self.html = self.load(url, decode=True) @@ -46,7 +46,7 @@ class LixIn(Crypter): m = re.search(self.CAPTCHA_PATTERN, self.html) if m: self.logDebug("Trying captcha") - captcharesult = self.decryptCaptcha("http://lix.in/" + m.group("image")) + captcharesult = self.decryptCaptcha("http://lix.in/" + m.group(1)) self.html = self.load(url, decode=True, post={"capt": captcharesult, "submit": "submit", "tiny": id}) else: @@ -58,5 +58,5 @@ class LixIn(Crypter): if m is None: self.error(_("Unable to find destination url")) else: - self.urls = [m.group("link")] + self.urls = [m.group(1)] self.logDebug("Found link %s, adding to package" % self.urls[0]) diff --git a/module/plugins/crypter/MultiUpOrg.py b/module/plugins/crypter/MultiUpOrg.py index ada8d0728..5209ebf09 100644 --- a/module/plugins/crypter/MultiUpOrg.py +++ b/module/plugins/crypter/MultiUpOrg.py @@ -24,7 +24,7 @@ class MultiUpOrg(SimpleCrypter): def getLinks(self): - m_type = re.match(self.__pattern__, self.pyfile.url).group("TYPE") + m_type = re.match(self.__pattern__, self.pyfile.url).group('TYPE') if m_type == "project": pattern = r'\n(http://www\.multiup\.org/(?:en|fr)/download/.*)' diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index 1d572e538..8b7214157 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -15,7 +15,7 @@ class NCryptIn(Crypter): __type__ = "crypter" __version__ = "1.33" - __pattern__ = r'http://(?:www\.)?ncrypt\.in/(?P<type>folder|link|frame)-([^/\?]+)' + __pattern__ = r'http://(?:www\.)?ncrypt\.in/(?P<TYPE>folder|link|frame)-([^/\?]+)' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] @@ -80,7 +80,7 @@ class NCryptIn(Crypter): def isSingleLink(self): - link_type = re.match(self.__pattern__, self.pyfile.url).group('type') + link_type = re.match(self.__pattern__, self.pyfile.url).group('TYPE') return link_type in ("link", "frame") diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index 94a73cded..5933839ec 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -16,7 +16,7 @@ class RelinkUs(Crypter): __type__ = "crypter" __version__ = "3.11" - __pattern__ = r'http://(?:www\.)?relink\.us/(f/|((view|go)\.php\?id=))(?P<id>.+)' + __pattern__ = r'http://(?:www\.)?relink\.us/(f/|((view|go)\.php\?id=))(?P<ID>.+)' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] @@ -50,9 +50,9 @@ class RelinkUs(Crypter): DLC_LINK_REGEX = r'<a href=".*?" class="dlc_button" target="_blank">' DLC_DOWNLOAD_URL = r'http://www.relink.us/download.php' - WEB_FORWARD_REGEX = r'getFile\(\'(?P<link>.+)\'\)' + WEB_FORWARD_REGEX = r'getFile\(\'(.+)\'\)' WEB_FORWARD_URL = r'http://www.relink.us/frame.php' - WEB_LINK_REGEX = r'<iframe name="Container" height="100%" frameborder="no" width="100%" src="(?P<link>.+)"></iframe>' + WEB_LINK_REGEX = r'<iframe name="Container" height="100%" frameborder="no" width="100%" src="(.+)"></iframe>' def setup(self): @@ -100,7 +100,7 @@ class RelinkUs(Crypter): def initPackage(self, pyfile): - self.fileid = re.match(self.__pattern__, pyfile.url).group('id') + self.fileid = re.match(self.__pattern__, pyfile.url).group('ID') self.package = pyfile.package() self.password = self.getPassword() @@ -241,7 +241,7 @@ class RelinkUs(Crypter): self.logDebug("Decrypting Web link %d, %s" % (index + 1, url)) res = self.load(url, decode=True) - link = re.search(self.WEB_LINK_REGEX, res).group('link') + link = re.search(self.WEB_LINK_REGEX, res).group(1) package_links.append(link) diff --git a/module/plugins/crypter/TurbobitNetFolder.py b/module/plugins/crypter/TurbobitNetFolder.py index 64fcefac6..c6734c997 100644 --- a/module/plugins/crypter/TurbobitNetFolder.py +++ b/module/plugins/crypter/TurbobitNetFolder.py @@ -39,7 +39,7 @@ class TurbobitNetFolder(SimpleCrypter): def getLinks(self): - id = re.match(self.__pattern__, self.pyfile.url).group("ID") + id = re.match(self.__pattern__, self.pyfile.url).group('ID') fixurl = lambda id: "http://turbobit.net/%s.html" % id return map(fixurl, self._getLinks(id)) diff --git a/module/plugins/crypter/UploadedToFolder.py b/module/plugins/crypter/UploadedToFolder.py index 3e77d73a9..0a71add70 100644 --- a/module/plugins/crypter/UploadedToFolder.py +++ b/module/plugins/crypter/UploadedToFolder.py @@ -12,7 +12,7 @@ class UploadedToFolder(SimpleCrypter): __type__ = "crypter" __version__ = "0.42" - __pattern__ = r'http://(?:www\.)?(uploaded|ul)\.(to|net)/(f|folder|list)/(?P<id>\w+)' + __pattern__ = r'http://(?:www\.)?(uploaded|ul)\.(to|net)/(f|folder|list)/(?P<ID>\w+)' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] @@ -21,7 +21,7 @@ class UploadedToFolder(SimpleCrypter): __authors__ = [("stickell", "l.stickell@yahoo.it")] - PLAIN_PATTERN = r'<small class="date"><a href="(?P<plain>[\w/]+)" onclick=' + PLAIN_PATTERN = r'<small class="date"><a href="([\w/]+)" onclick=' NAME_PATTERN = r'<title>(?P<N>.+?)<' @@ -30,7 +30,7 @@ class UploadedToFolder(SimpleCrypter): if m is None: self.error(_("PLAIN_PATTERN not found")) - plain_link = urljoin("http://uploaded.net/", m.group('plain')) + plain_link = urljoin("http://uploaded.net/", m.group(1)) return self.load(plain_link).split('\n')[:-1] diff --git a/module/plugins/crypter/YoutubeBatch.py b/module/plugins/crypter/YoutubeBatch.py index c66f94753..73ebf5fb3 100644 --- a/module/plugins/crypter/YoutubeBatch.py +++ b/module/plugins/crypter/YoutubeBatch.py @@ -96,8 +96,8 @@ class YoutubeBatch(Crypter): def decrypt(self, pyfile): m = re.match(self.__pattern__, pyfile.url) - m_id = m.group("ID") - m_type = m.group("TYPE") + m_id = m.group('ID') + m_type = m.group('TYPE') if m_type == "user": self.logDebug("Url recognized as Channel") -- cgit v1.2.3 From e1d4186c62512d8bb76d35b6f8d1828d8d0aa94e Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Tue, 23 Dec 2014 13:26:32 +0100 Subject: [SimpleHoster] Improve multi-hoster feature --- module/plugins/crypter/NetfolderIn.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/NetfolderIn.py b/module/plugins/crypter/NetfolderIn.py index bfdf5cb82..62dc5c914 100644 --- a/module/plugins/crypter/NetfolderIn.py +++ b/module/plugins/crypter/NetfolderIn.py @@ -10,7 +10,7 @@ class NetfolderIn(SimpleCrypter): __type__ = "crypter" __version__ = "0.72" - __pattern__ = r'http://(?:www\.)?netfolder\.in/((?P<id1>\w+)/\w+|folder\.php\?folder_id=(?P<id2>\w+))' + __pattern__ = r'http://(?:www\.)?netfolder\.in/(folder\.php\?folder_id=)?(?P<ID>\w+)(?(1)|/\w+)' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] @@ -43,8 +43,8 @@ class NetfolderIn(SimpleCrypter): def submitPassword(self): # Gather data try: - m = re.match(self.__pattern__, self.pyfile.url) - id = max(m.group('id1'), m.group('id2')) + m = re.match(self.__pattern__, self.pyfile.url) + id = m.group('ID') except AttributeError: self.logDebug("Unable to get package id from url [%s]" % self.pyfile.url) return -- cgit v1.2.3 From 220747611a0aec0fbbc1cf106cc0549bd77fb6a3 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Tue, 23 Dec 2014 17:20:50 +0100 Subject: New plugin: CloudzillaToFolder --- module/plugins/crypter/CloudzillaToFolder.py | 43 ++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 module/plugins/crypter/CloudzillaToFolder.py (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/CloudzillaToFolder.py b/module/plugins/crypter/CloudzillaToFolder.py new file mode 100644 index 000000000..c156d4de4 --- /dev/null +++ b/module/plugins/crypter/CloudzillaToFolder.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- + +import re + +from urlparse import urljoin + +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo + + +class CloudzillaToFolder(SimpleHoster): + __name__ = "CloudzillaToFolder" + __type__ = "crypter" + __version__ = "0.01" + + __pattern__ = r'http://(?:www\.)?cloudzilla\.to/share/folder/(?P<ID>[\w^_]+)' + + __description__ = """Cloudzilla.to folder decrypter plugin""" + __license__ = "GPLv3" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + + + INFO_PATTERN = r'<span class="name" title="(?P<N>.+?)"' + OFFLINE_PATTERN = r'>File not found...<' + + LINK_PATTERN = r'<a href="(.+?)" class="item_href">' + + PASSWORD_PATTERN = r'<div id="pwd_protected">' + + + def checkErrors(self): + m = re.search(self.PASSWORD_PATTERN, self.html) + if m: + self.html = self.load(self.pyfile.url, get={'key': self.getPassword()}) + + if re.search(self.PASSWORD_PATTERN, self.html): + self.retry(reason="Wrong password") + + + def getLinks(self): + return [urljoin("http://www.cloudzilla.to", link) for link in super(CloudzillaToFolder, self).getLinks()] + + +getInfo = create_getInfo(CloudzillaToFolder) -- cgit v1.2.3 From ea93f9b02ba59b026a35299798b71727db44b0c5 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 27 Dec 2014 13:42:52 +0100 Subject: [Dereferer][DontKnowMe] Extend SimpleDereferer --- module/plugins/crypter/Dereferer.py | 17 ++++------------- module/plugins/crypter/DontKnowMe.py | 22 +++++----------------- 2 files changed, 9 insertions(+), 30 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/Dereferer.py b/module/plugins/crypter/Dereferer.py index 398cadce7..0729c8cb6 100644 --- a/module/plugins/crypter/Dereferer.py +++ b/module/plugins/crypter/Dereferer.py @@ -1,26 +1,17 @@ # -*- coding: utf-8 -*- -import re +from module.plugins.internal.SimpleDereferer import SimpleDereferer -from urllib import unquote -from module.plugins.Crypter import Crypter - - -class Dereferer(Crypter): +class Dereferer(SimpleDereferer): __name__ = "Dereferer" __type__ = "crypter" - __version__ = "0.10" + __version__ = "0.11" - __pattern__ = r'https?://([^/]+)/.*?(?P<URL>(ht|f)tps?(://|%3A%2F%2F).*)' + __pattern__ = r'https?://([^/]+)/.*?(?P<LINK>(ht|f)tps?(://|%3A%2F%2F).+)' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Crypter for dereferers""" __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] - - - def decrypt(self, pyfile): - link = re.match(self.__pattern__, pyfile.url).group('URL') - self.urls = [unquote(link).rstrip('+')] diff --git a/module/plugins/crypter/DontKnowMe.py b/module/plugins/crypter/DontKnowMe.py index 8d2a52c2c..d656cde4c 100644 --- a/module/plugins/crypter/DontKnowMe.py +++ b/module/plugins/crypter/DontKnowMe.py @@ -1,29 +1,17 @@ # -*- coding: utf-8 -*- -import re +from module.plugins.internal.SimpleDereferer import SimpleDereferer -from urllib import unquote -from module.plugins.Crypter import Crypter - - -class DontKnowMe(Crypter): +class DontKnowMe(SimpleDereferer): __name__ = "DontKnowMe" __type__ = "crypter" - __version__ = "0.10" + __version__ = "0.11" - __pattern__ = r'http://(?:www\.)?dontknow\.me/at/\?.+$' + __pattern__ = r'http://(?:www\.)?dontknow\.me/at/\?(?P<LINK>.+)' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """DontKnow.me decrypter plugin""" __license__ = "GPLv3" - __authors__ = [("selaux", None)] - - - LINK_PATTERN = r'http://dontknow\.me/at/\?(.+)$' - - - def decrypt(self, pyfile): - link = re.findall(self.LINK_PATTERN, pyfile.url)[0] - self.urls = [unquote(link)] + __authors__ = [("selaux", "")] -- cgit v1.2.3 From fff27d3f639c5260b234c054682559744f1a00be Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 27 Dec 2014 13:54:24 +0100 Subject: [LinkSaveIn] Update --- module/plugins/crypter/LinkSaveIn.py | 239 +---------------------------------- 1 file changed, 6 insertions(+), 233 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index 842310853..e96d0438e 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -1,249 +1,22 @@ # -*- coding: utf-8 -*- -# -# * cnl2 and web links are skipped if JS is not available (instead of failing the package) -# * only best available link source is used (priority: cnl2>rsdf>ccf>dlc>web -import base64 -import binascii -import re +from module.plugins.internal.SimpleDereferer import SimpleDereferer -from Crypto.Cipher import AES -from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo -from module.unescape import unescape - - -class LinkSaveIn(SimpleCrypter): +class LinkSaveIn(SimpleDereferer): __name__ = "LinkSaveIn" __type__ = "crypter" - __version__ = "2.02" + __version__ = "2.03" - __pattern__ = r'http://(?:www\.)?linksave\.in/(?P<ID>\w+)$' + __pattern__ = r'https?://(?:www\.)?linksave\.in/\w+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """LinkSave.in decrypter plugin""" __license__ = "GPLv3" - __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es")] + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] COOKIES = [("linksave.in", "Linksave_Language", "english")] - # Constants - _JK_KEY_ = "jk" - _CRYPTED_KEY_ = "crypted" - - - def setup(self): - self.fileid = None - self.captcha = False - self.package = None - self.preferred_sources = ["cnl2", "rsdf", "ccf", "dlc", "web"] - - - def decrypt(self, pyfile): - # Init - self.package = pyfile.package() - self.fileid = re.match(self.__pattern__, pyfile.url).group('ID') - - # Request package - self.html = self.load(pyfile.url) - if not self.isOnline(): - self.offline() - - # Check for protection - if self.isPasswordProtected(): - self.unlockPasswordProtection() - self.handleErrors() - - if self.isCaptchaProtected(): - self.captcha = True - self.unlockCaptchaProtection() - self.handleErrors() - - # Get package name and folder - (package_name, folder_name) = self.getPackageInfo() - - # Extract package links - package_links = [] - for type_ in self.preferred_sources: - package_links.extend(self.handleLinkSource(type_)) - if package_links: # use only first source which provides links - break - package_links = set(package_links) - - # Pack - if package_links: - self.packages = [(package_name, package_links, folder_name)] - - - def isOnline(self): - if "<big>Error 404 - Folder not found!</big>" in self.html: - self.logDebug("File not found") - return False - return True - - - def isPasswordProtected(self): - if re.search(r'''<input.*?type="password"''', self.html): - self.logDebug("Links are password protected") - return True - - - def isCaptchaProtected(self): - if "<b>Captcha:</b>" in self.html: - self.logDebug("Links are captcha protected") - return True - return False - - - def unlockPasswordProtection(self): - password = self.getPassword() - self.logDebug("Submitting password [%s] for protected links" % password) - post = {"id": self.fileid, "besucherpasswort": password, 'login': 'submit'} - self.html = self.load(self.pyfile.url, post=post) - - - def unlockCaptchaProtection(self): - captcha_hash = re.search(r'name="hash" value="([^"]+)', self.html).group(1) - captcha_url = re.search(r'src=".(/captcha/cap.php\?hsh=[^"]+)', self.html).group(1) - captcha_code = self.decryptCaptcha("http://linksave.in" + captcha_url, forceUser=True) - self.html = self.load(self.pyfile.url, post={"id": self.fileid, "hash": captcha_hash, "code": captcha_code}) - - - def getPackageInfo(self): - name = self.pyfile.package().name - folder = self.pyfile.package().folder - self.logDebug("Defaulting to pyfile name [%s] and folder [%s] for package" % (name, folder)) - return name, folder - - - def handleErrors(self): - if "The visitorpassword you have entered is wrong" in self.html: - self.logDebug("Incorrect password, please set right password on 'Edit package' form and retry") - self.fail(_("Incorrect password, please set right password on 'Edit package' form and retry")) - - if self.captcha: - if "Wrong code. Please retry" in self.html: - self.invalidCaptcha() - self.retry() - else: - self.correctCaptcha() - - - def handleLinkSource(self, type_): - if type_ == "cnl2": - return self.handleCNL2() - elif type_ in ("rsdf", "ccf", "dlc"): - return self.handleContainer(type_) - elif type_ == "web": - return self.handleWebLinks() - else: - self.error('Unknown source type "%s" (this is probably a bug)' % type_) - - - def handleWebLinks(self): - package_links = [] - self.logDebug("Search for Web links") - if not self.js: - self.logDebug("No JS -> skip Web links") - else: - #@TODO: Gather paginated web links - pattern = r'<a href="http://linksave\.in/(\w{43})"' - ids = re.findall(pattern, self.html) - self.logDebug("Decrypting %d Web links" % len(ids)) - for i, weblink_id in enumerate(ids): - try: - webLink = "http://linksave.in/%s" % weblink_id - - self.logDebug("Decrypting Web link %d, %s" % (i + 1, webLink)) - - fwLink = "http://linksave.in/fw-%s" % weblink_id - res = self.load(fwLink) - - jscode = re.findall(r'<script type="text/javascript">(.*)</script>', res)[-1] - jseval = self.js.eval("document = { write: function(e) { return e; } }; %s" % jscode) - dlLink = re.search(r'http://linksave\.in/dl-\w+', jseval).group(0) - self.logDebug("JsEngine returns value [%s] for redirection link" % dlLink) - - res = self.load(dlLink) - link = unescape(re.search(r'<iframe src="(.+?)"', res).group(1)) - - package_links.append(link) - - except Exception, detail: - self.logDebug("Error decrypting Web link %s, %s" % (webLink, detail)) - - return package_links - - - def handleContainer(self, type_): - package_links = [] - type_ = type_.lower() - self.logDebug("Seach for %s Container links" % type_.upper()) - if not type_.isalnum(): # check to prevent broken re-pattern (cnl2,rsdf,ccf,dlc,web are all alpha-numeric) - self.error('Unknown container type "%s" (this is probably a bug)' % type_) - pattern = r'\(\'%s_link\'\).href=unescape\(\'(.*?\.%s)\'\)' % (type_, type_) - containersLinks = re.findall(pattern, self.html) - self.logDebug("Found %d %s Container links" % (len(containersLinks), type_.upper())) - for containerLink in containersLinks: - link = "http://linksave.in/%s" % unescape(containerLink) - package_links.append(link) - return package_links - - - def handleCNL2(self): - package_links = [] - self.logDebug("Search for CNL2 links") - if not self.js: - self.logDebug("No JS -> skip CNL2 links") - elif 'cnl2_load' in self.html: - try: - (vcrypted, vjk) = self._getCipherParams() - for (crypted, jk) in zip(vcrypted, vjk): - package_links.extend(self._getLinks(crypted, jk)) - except: - self.fail(_("Unable to decrypt CNL2 links")) - return package_links - - - def _getCipherParams(self): - # Get jk - jk_re = r'<INPUT.*?NAME="%s".*?VALUE="(.*?)"' % LinkSaveIn._JK_KEY_ - vjk = re.findall(jk_re, self.html) - - # Get crypted - crypted_re = r'<INPUT.*?NAME="%s".*?VALUE="(.*?)"' % LinkSaveIn._CRYPTED_KEY_ - vcrypted = re.findall(crypted_re, self.html) - - # Log and return - self.logDebug("Detected %d crypted blocks" % len(vcrypted)) - return vcrypted, vjk - - - def _getLinks(self, crypted, jk): - # Get key - jreturn = self.js.eval("%s f()" % jk) - self.logDebug("JsEngine returns value [%s]" % jreturn) - key = binascii.unhexlify(jreturn) - - # Decode crypted - crypted = base64.standard_b64decode(crypted) - - # Decrypt - Key = key - IV = key - obj = AES.new(Key, AES.MODE_CBC, IV) - text = obj.decrypt(crypted) - - # Extract links - text = text.replace("\x00", "").replace("\r", "") - links = text.split("\n") - links = filter(lambda x: x != "", links) - - # Log and return - self.logDebug("Package has %d links" % len(links)) - return links - - -getInfo = create_getInfo(LinkSaveIn) + OFFLINE_PATTERN = r'>(Error )?404 -' -- cgit v1.2.3 From 717faa6d2f2a0017b81516a9d01656487f03be28 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 27 Dec 2014 13:56:01 +0100 Subject: More plugin __pattern__ improved (crypter ones this time) --- module/plugins/crypter/C1neonCom.py | 2 +- module/plugins/crypter/ChipDe.py | 2 +- module/plugins/crypter/CrockoComFolder.py | 2 +- module/plugins/crypter/CzshareComFolder.py | 2 +- module/plugins/crypter/EmbeduploadCom.py | 2 +- module/plugins/crypter/FilebeerInfoFolder.py | 2 +- module/plugins/crypter/FshareVnFolder.py | 2 +- module/plugins/crypter/LofCc.py | 2 +- module/plugins/crypter/Movie2kTo.py | 2 +- module/plugins/crypter/MultiloadCz.py | 2 +- module/plugins/crypter/QuickshareCzFolder.py | 2 +- module/plugins/crypter/TrailerzoneInfo.py | 2 +- module/plugins/crypter/UlozToFolder.py | 2 +- module/plugins/crypter/XupPl.py | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/C1neonCom.py b/module/plugins/crypter/C1neonCom.py index cf1d2a211..bc58fbf1c 100644 --- a/module/plugins/crypter/C1neonCom.py +++ b/module/plugins/crypter/C1neonCom.py @@ -8,7 +8,7 @@ class C1neonCom(DeadCrypter): __type__ = "crypter" __version__ = "0.05" - __pattern__ = r'http://(?:www\.)?c1neon\.com/.*?' + __pattern__ = r'http://(?:www\.)?c1neon\.com/.+' __config__ = [] __description__ = """C1neon.com decrypter plugin""" diff --git a/module/plugins/crypter/ChipDe.py b/module/plugins/crypter/ChipDe.py index b342cd1bf..133e5a005 100644 --- a/module/plugins/crypter/ChipDe.py +++ b/module/plugins/crypter/ChipDe.py @@ -9,7 +9,7 @@ class ChipDe(Crypter): __type__ = "crypter" __version__ = "0.10" - __pattern__ = r'http://(?:www\.)?chip\.de/video/.*\.html' + __pattern__ = r'http://(?:www\.)?chip\.de/video/.+\.html' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] diff --git a/module/plugins/crypter/CrockoComFolder.py b/module/plugins/crypter/CrockoComFolder.py index bf91b0afc..57bb339ff 100644 --- a/module/plugins/crypter/CrockoComFolder.py +++ b/module/plugins/crypter/CrockoComFolder.py @@ -8,7 +8,7 @@ class CrockoComFolder(SimpleCrypter): __type__ = "crypter" __version__ = "0.01" - __pattern__ = r'http://(?:www\.)?crocko\.com/f/.*' + __pattern__ = r'http://(?:www\.)?crocko\.com/f/.+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] diff --git a/module/plugins/crypter/CzshareComFolder.py b/module/plugins/crypter/CzshareComFolder.py index 67376c6e6..5623a4093 100644 --- a/module/plugins/crypter/CzshareComFolder.py +++ b/module/plugins/crypter/CzshareComFolder.py @@ -9,7 +9,7 @@ class CzshareComFolder(Crypter): __type__ = "crypter" __version__ = "0.20" - __pattern__ = r'http://(?:www\.)?(czshare|sdilej)\.(com|cz)/folders/.*' + __pattern__ = r'http://(?:www\.)?(czshare|sdilej)\.(com|cz)/folders/.+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] diff --git a/module/plugins/crypter/EmbeduploadCom.py b/module/plugins/crypter/EmbeduploadCom.py index 1c372c1ca..be3181793 100644 --- a/module/plugins/crypter/EmbeduploadCom.py +++ b/module/plugins/crypter/EmbeduploadCom.py @@ -10,7 +10,7 @@ class EmbeduploadCom(Crypter): __type__ = "crypter" __version__ = "0.02" - __pattern__ = r'http://(?:www\.)?embedupload\.com/\?d=.*' + __pattern__ = r'http://(?:www\.)?embedupload\.com/\?d=.+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), ("subfolder_per_package", "bool", "Create a subfolder for each package", True), ("preferedHoster", "str", "Prefered hoster list (bar-separated)", "embedupload"), diff --git a/module/plugins/crypter/FilebeerInfoFolder.py b/module/plugins/crypter/FilebeerInfoFolder.py index d0f3547bc..a3c7ee74c 100644 --- a/module/plugins/crypter/FilebeerInfoFolder.py +++ b/module/plugins/crypter/FilebeerInfoFolder.py @@ -8,7 +8,7 @@ class FilebeerInfoFolder(DeadCrypter): __type__ = "crypter" __version__ = "0.02" - __pattern__ = r'http://(?:www\.)?filebeer\.info/(\d+~f).*' + __pattern__ = r'http://(?:www\.)?filebeer\.info/\d*~f\w+' __config__ = [] __description__ = """Filebeer.info folder decrypter plugin""" diff --git a/module/plugins/crypter/FshareVnFolder.py b/module/plugins/crypter/FshareVnFolder.py index d31a5c6a0..474364e40 100644 --- a/module/plugins/crypter/FshareVnFolder.py +++ b/module/plugins/crypter/FshareVnFolder.py @@ -8,7 +8,7 @@ class FshareVnFolder(SimpleCrypter): __type__ = "crypter" __version__ = "0.01" - __pattern__ = r'http://(?:www\.)?fshare\.vn/folder/.*' + __pattern__ = r'http://(?:www\.)?fshare\.vn/folder/.+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] diff --git a/module/plugins/crypter/LofCc.py b/module/plugins/crypter/LofCc.py index 65c9b18bd..3cac0fbf2 100644 --- a/module/plugins/crypter/LofCc.py +++ b/module/plugins/crypter/LofCc.py @@ -8,7 +8,7 @@ class LofCc(DeadCrypter): __type__ = "crypter" __version__ = "0.21" - __pattern__ = r'http://(?:www\.)?lof\.cc/(.*)' + __pattern__ = r'http://(?:www\.)?lof\.cc/(.+)' __config__ = [] __description__ = """Lof.cc decrypter plugin""" diff --git a/module/plugins/crypter/Movie2kTo.py b/module/plugins/crypter/Movie2kTo.py index 0be7eb7eb..7d71950fd 100644 --- a/module/plugins/crypter/Movie2kTo.py +++ b/module/plugins/crypter/Movie2kTo.py @@ -8,7 +8,7 @@ class Movie2kTo(DeadCrypter): __type__ = "crypter" __version__ = "0.51" - __pattern__ = r'http://(?:www\.)?movie2k\.to/(.*)\.html' + __pattern__ = r'http://(?:www\.)?movie2k\.to/(.+)\.html' __config__ = [] __description__ = """Movie2k.to decrypter plugin""" diff --git a/module/plugins/crypter/MultiloadCz.py b/module/plugins/crypter/MultiloadCz.py index b096f63ef..fa1eb02d7 100644 --- a/module/plugins/crypter/MultiloadCz.py +++ b/module/plugins/crypter/MultiloadCz.py @@ -9,7 +9,7 @@ class MultiloadCz(Crypter): __type__ = "crypter" __version__ = "0.40" - __pattern__ = r'http://(?:[^/]*\.)?multiload\.cz/(stahnout|slozka)/.*' + __pattern__ = r'http://(?:[^/]*\.)?multiload\.cz/(stahnout|slozka)/.+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), ("subfolder_per_package", "bool", "Create a subfolder for each package", True), ("usedHoster", "str", "Prefered hoster list (bar-separated)", ""), diff --git a/module/plugins/crypter/QuickshareCzFolder.py b/module/plugins/crypter/QuickshareCzFolder.py index f84f43fa4..70666b55a 100644 --- a/module/plugins/crypter/QuickshareCzFolder.py +++ b/module/plugins/crypter/QuickshareCzFolder.py @@ -9,7 +9,7 @@ class QuickshareCzFolder(Crypter): __type__ = "crypter" __version__ = "0.10" - __pattern__ = r'http://(?:www\.)?quickshare\.cz/slozka-\d+.*' + __pattern__ = r'http://(?:www\.)?quickshare\.cz/slozka-\d+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] diff --git a/module/plugins/crypter/TrailerzoneInfo.py b/module/plugins/crypter/TrailerzoneInfo.py index abdb2307e..10780dd45 100644 --- a/module/plugins/crypter/TrailerzoneInfo.py +++ b/module/plugins/crypter/TrailerzoneInfo.py @@ -8,7 +8,7 @@ class TrailerzoneInfo(DeadCrypter): __type__ = "crypter" __version__ = "0.03" - __pattern__ = r'http://(?:www\.)?trailerzone\.info/.*?' + __pattern__ = r'http://(?:www\.)?trailerzone\.info/.+' __config__ = [] __description__ = """TrailerZone.info decrypter plugin""" diff --git a/module/plugins/crypter/UlozToFolder.py b/module/plugins/crypter/UlozToFolder.py index cfb756413..a1f3ed5ea 100644 --- a/module/plugins/crypter/UlozToFolder.py +++ b/module/plugins/crypter/UlozToFolder.py @@ -9,7 +9,7 @@ class UlozToFolder(Crypter): __type__ = "crypter" __version__ = "0.20" - __pattern__ = r'http://(?:www\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj\.cz|zachowajto\.pl)/(m|soubory)/.*' + __pattern__ = r'http://(?:www\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj\.cz|zachowajto\.pl)/(m|soubory)/.+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] diff --git a/module/plugins/crypter/XupPl.py b/module/plugins/crypter/XupPl.py index 25b80860c..f2ecbee5a 100644 --- a/module/plugins/crypter/XupPl.py +++ b/module/plugins/crypter/XupPl.py @@ -8,7 +8,7 @@ class XupPl(Crypter): __type__ = "crypter" __version__ = "0.10" - __pattern__ = r'https?://(?:[^/]*\.)?xup\.pl/.*' + __pattern__ = r'https?://(?:[^/]*\.)?xup\.pl/.+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] -- cgit v1.2.3 From 14969d23d20180733a07117a661fedd487bd6ac3 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 27 Dec 2014 15:23:49 +0100 Subject: New plugin: MegaCoNzFolder --- module/plugins/crypter/MegaCoNzFolder.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 module/plugins/crypter/MegaCoNzFolder.py (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/MegaCoNzFolder.py b/module/plugins/crypter/MegaCoNzFolder.py new file mode 100644 index 000000000..7c6a5cdb6 --- /dev/null +++ b/module/plugins/crypter/MegaCoNzFolder.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- + +from module.plugins.internal.Crypter import Crypter + + +class MegaCoNzFolder(Crypter): + __name__ = "MegaCoNzFolder" + __type__ = "crypter" + __version__ = "0.01" + + __pattern__ = r'https?://(?:www\.)?mega\.co\.nz/#F![\w+^_]![\w,\\-]+' + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] + + __description__ = """Mega.co.nz folder decrypter plugin""" + __license__ = "GPLv3" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + + + def decrypt(self, pyfile): + self.html = self.load("http://rapidgen.org/linkfinder", post={'linklisturl': self.pyfile.url}) + self.urls = re.findall(r'(https://mega.co.nz/#N!.+?)<', self.html) + + if not self.urls: #@TODO: Remove in 0.4.10 + self.fail("No link grabbed") -- cgit v1.2.3 From c0a7430ef5218da41787de001de04d3ded89d8b5 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 27 Dec 2014 21:21:47 +0100 Subject: [LinkdecrypterCom] Extend MultiHook --- module/plugins/crypter/LinkdecrypterCom.py | 35 ++++++++++++++++-------------- 1 file changed, 19 insertions(+), 16 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/LinkdecrypterCom.py b/module/plugins/crypter/LinkdecrypterCom.py index 91318eadf..7eb5d3096 100644 --- a/module/plugins/crypter/LinkdecrypterCom.py +++ b/module/plugins/crypter/LinkdecrypterCom.py @@ -7,13 +7,13 @@ from module.plugins.Crypter import Crypter class LinkdecrypterCom(Crypter): __name__ = "LinkdecrypterCom" __type__ = "crypter" - __version__ = "0.27" + __version__ = "0.28" __pattern__ = r'^unmatchable$' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] - __description__ = """Linkdecrypter.com""" + __description__ = """Linkdecrypter.com decrypter plugin""" __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz"), ("flowlee", None)] @@ -21,13 +21,16 @@ class LinkdecrypterCom(Crypter): TEXTAREA_PATTERN = r'<textarea name="links" wrap="off" readonly="1" class="caja_des">(.+)</textarea>' PASSWORD_PATTERN = r'<input type="text" name="password"' - CAPTCHA_PATTERN = r'<img class="captcha" src="(.+?)"(.*?)>' - REDIR_PATTERN = r'<i>(Click <a href="./">here</a> if your browser does not redirect you).</i>' + CAPTCHA_PATTERN = r'<img class="captcha" src="(.+?)"(.*?)>' + REDIR_PATTERN = r'<i>(Click <a href="./">here</a> if your browser does not redirect you).</i>' - def decrypt(self, pyfile): - self.passwords = self.getPassword().splitlines() + def setup(self): + self.password = self.getPassword() + self.req.setOption("timeout", 300) + + def decrypt(self, pyfile): # API not working anymore self.urls = self.decryptHTML() @@ -39,10 +42,11 @@ class LinkdecrypterCom(Crypter): return self.html.splitlines() if self.html == 'INTERRUPTION(PASSWORD)': - for get_dict['pass'] in self.passwords: - self.html = self.load('http://linkdecrypter.com/api', get=get_dict) - if self.html.startswith('http://'): - return self.html.splitlines() + get_dict['pass'] = self.password + + self.html = self.load('http://linkdecrypter.com/api', get=get_dict) + if self.html.startswith('http://'): + return self.html.splitlines() self.logError("API", self.html) if self.html == 'INTERRUPTION(PASSWORD)': @@ -57,7 +61,7 @@ class LinkdecrypterCom(Crypter): post_dict = {"link_cache": "on", "pro_links": self.pyfile.url, "modo_links": "text"} self.html = self.load('http://linkdecrypter.com/', post=post_dict, cookies=True, decode=True) - while self.passwords or retries: + while retries: m = re.search(self.TEXTAREA_PATTERN, self.html, flags=re.S) if m: return [x for x in m.group(1).splitlines() if '[LINK-ERROR]' not in x] @@ -78,12 +82,11 @@ class LinkdecrypterCom(Crypter): retries -= 1 elif self.PASSWORD_PATTERN in self.html: - if self.passwords: - password = self.passwords.pop(0) - self.logInfo(_("Password protected link, trying ") + password) - self.html = self.load('http://linkdecrypter.com/', post={'password': password}, decode=True) + if self.password: + self.logInfo(_("Password protected link")) + self.html = self.load('http://linkdecrypter.com/', post={'password': self.password}, decode=True) else: - self.fail(_("No or incorrect password")) + self.fail(_("Missing password")) else: retries -= 1 -- cgit v1.2.3 From e437fc0ba03537c8ea0e58139be731c16505b8ac Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 27 Dec 2014 21:25:20 +0100 Subject: [FilecryptCc] ReCaptcha 2.0 support --- module/plugins/crypter/FilecryptCc.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/FilecryptCc.py b/module/plugins/crypter/FilecryptCc.py index 087f377ff..59960ab24 100644 --- a/module/plugins/crypter/FilecryptCc.py +++ b/module/plugins/crypter/FilecryptCc.py @@ -8,12 +8,13 @@ from Crypto.Cipher import AES from urlparse import urljoin from module.plugins.Crypter import Crypter +from module.plugins.internal.CaptchaService import ReCaptcha class FilecryptCc(Crypter): __name__ = "FilecryptCc" __type__ = "crypter" - __version__ = "0.07" + __version__ = "0.08" __pattern__ = r'https?://(?:www\.)?filecrypt\.cc/Container/\w+' @@ -79,7 +80,7 @@ class FilecryptCc(Crypter): def handleCaptcha(self): - m = re.search(self.CAPTCHA_PATTERN, self.html) + m = re.search(self.CAPTCHA_PATTERN, self.html) m2 = re.search(self.CIRCLE_CAPTCHA_PATTERN, self.html) if m: #: normal captcha @@ -106,8 +107,17 @@ class FilecryptCc(Crypter): cookies=True, decode=True) else: - self.logDebug("No captcha found") - self.siteWithLinks = self.html + recaptcha = ReCaptcha(self) + captcha_key = recaptcha.detect_key() + + if captcha_key: + self.siteWithLinks = self.load(self.pyfile.url, + post={'g-recaptcha-response': recaptcha.challenge(captcha_key, True)}, + cookies=True, + decode=True) + else: + self.logDebug("No captcha found") + self.siteWithLinks = self.html if "recaptcha_image" in self.siteWithLinks: self.invalidCaptcha() -- cgit v1.2.3 From bf1a74a22dcc3a31a60367eab24e56e1fafe987a Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 27 Dec 2014 21:27:49 +0100 Subject: [MegaCoNzFolder] Increase loading timeout --- module/plugins/crypter/MegaCoNzFolder.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/MegaCoNzFolder.py b/module/plugins/crypter/MegaCoNzFolder.py index 7c6a5cdb6..caa2ab563 100644 --- a/module/plugins/crypter/MegaCoNzFolder.py +++ b/module/plugins/crypter/MegaCoNzFolder.py @@ -6,7 +6,7 @@ from module.plugins.internal.Crypter import Crypter class MegaCoNzFolder(Crypter): __name__ = "MegaCoNzFolder" __type__ = "crypter" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'https?://(?:www\.)?mega\.co\.nz/#F![\w+^_]![\w,\\-]+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -17,6 +17,10 @@ class MegaCoNzFolder(Crypter): __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + def setup(self): + self.req.setOption("timeout", 300) + + def decrypt(self, pyfile): self.html = self.load("http://rapidgen.org/linkfinder", post={'linklisturl': self.pyfile.url}) self.urls = re.findall(r'(https://mega.co.nz/#N!.+?)<', self.html) -- cgit v1.2.3 From 30c5ee2d8d69c59ca15ca1700b34be73a89a59ee Mon Sep 17 00:00:00 2001 From: Gummibaer <guthub@wiki-bierkiste.de> Date: Sat, 27 Dec 2014 23:32:31 +0100 Subject: Update LinkCryptWs.py key captcha recognition improved (works faster) --- module/plugins/crypter/LinkCryptWs.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/LinkCryptWs.py b/module/plugins/crypter/LinkCryptWs.py index 835a549b2..a2afce4dc 100644 --- a/module/plugins/crypter/LinkCryptWs.py +++ b/module/plugins/crypter/LinkCryptWs.py @@ -15,7 +15,7 @@ from module.utils import html_unescape class LinkCryptWs(Crypter): __name__ = "LinkCryptWs" __type__ = "crypter" - __version__ = "0.07" + __version__ = "0.08" __pattern__ = r'http://(?:www\.)?linkcrypt\.ws/(dir|container)/(?P<ID>\w+)' @@ -57,7 +57,7 @@ class LinkCryptWs(Crypter): self.offline() if self.isKeyCaptchaProtected(): - self.retry(4, 30, _("Can't handle Key-Captcha")) + self.retry(8, 15, _("Can't handle Key-Captcha")) if self.isCaptchaProtected(): self.captcha = True @@ -115,10 +115,9 @@ class LinkCryptWs(Crypter): def isKeyCaptchaProtected(self): - if re.search(r'Key[ -]', self.html, re.I): + if(re.search(r'<br />If the folder does not open after klick on <b>Enter Folder</ b>', self.html, re.I)): return True - else: - return False + return False def unlockPasswordProtection(self): -- cgit v1.2.3 From b8ad0c72e6b7b309806be3ea55111b42f733dc9b Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sun, 28 Dec 2014 01:38:03 +0100 Subject: [LinkCryptWs] Tiny code cosmetic --- module/plugins/crypter/LinkCryptWs.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/LinkCryptWs.py b/module/plugins/crypter/LinkCryptWs.py index a2afce4dc..996a92c7b 100644 --- a/module/plugins/crypter/LinkCryptWs.py +++ b/module/plugins/crypter/LinkCryptWs.py @@ -115,9 +115,10 @@ class LinkCryptWs(Crypter): def isKeyCaptchaProtected(self): - if(re.search(r'<br />If the folder does not open after klick on <b>Enter Folder</ b>', self.html, re.I)): + if re.search(r'>If the folder does not open after klick on <', self.html, re.I): return True - return False + else: + return False def unlockPasswordProtection(self): -- cgit v1.2.3