From 821ed8c027a19c4a76d6fb81b161711b50ad773d Mon Sep 17 00:00:00 2001 From: nath_schwarz 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.+) - 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' 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\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'.*?\: (?P<title>.+) folder' PAGES_PATTERN = r'>\((?P\d+) \w+\)<' - FILE_URL_REPLACEMENTS = [(__pattern__, r'https://www.tusfiles.net/go/\g/')] + URL_REPLACEMENTS = [(__pattern__, r'https://www.tusfiles.net/go/\g/')] 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 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 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 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/(?Puser|playlist|view_play_list)(/|.*?[?&](?:list|p)=)(?P[\w-]+)' + __pattern__ = r'https?://(?:www\.|m\.)?youtube\.com/(?Puser|playlist|view_play_list)(/|.*?[?&](?:list|p)=)(?P[\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 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 . +############################################################################### + +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'
.+)" | 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 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 . +############################################################################### + +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.+?) - 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[^<]*" + LINK_PATTERN = r'\s+(http://.+)' + TITLE_PATTERN = r'(?P<title>[^<]+) - Free Download[^<]*' 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 = '' + 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.+)</[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' + 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(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\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'(.*)' + 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\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'
]*>\s*' + 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'

(?P.+) - <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>.+) - .+' + def getLinks(self): m = re.search(r'', 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\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'> (?P.+?)</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>[^<]+)' + 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 . """ -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/(?Puser|playlist|view_play_list)(/|.*?[?&](?:list|p)=)(?P[\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 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 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'\s*\s*(.*?)
' LINK_PATTERN = r'
info' - #NEXT_PAGE_PATTERN = r'' 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"
", 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"", 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 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'
\s*(.+)
', 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("
\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'(.*?)', self.cleanedHtml, re.DOTALL) - if form_match: - form_content = form_match.group(1) + form = re.search(r'(.*?)', 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 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"

([^<]+)

", self.html) - msg = found.group(1) if found else "" + m = re.search(r"

([^<]+)

", 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 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 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 . # -############################################################################ 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 . -""" +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/)?(?Pplaylist|user)/)?(?P[\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 . # -############################################################################ 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 . # -############################################################################ 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 . -""" - 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(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 . -############################################################################### 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\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 . # -############################################################################ 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 . # -############################################################################ 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\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 . -############################################################################### 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 . # -############################################################################ 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 . # -############################################################################ 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 . -############################################################################### 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 . # -############################################################################ 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 . # -############################################################################ 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 . # -############################################################################ 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\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 . -""" - 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.*)' 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 . -############################################################################### - 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)/(?Pproject|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/(?Pfolder|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\w+)/\w+|folder.php\?folder_id=(?P\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 . # -############################################################################ 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.+)' @@ -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_?\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 . # -############################################################################ 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 . -""" - 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 . -############################################################################### 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\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 . -############################################################################### 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\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 . # -############################################################################ 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\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 . -""" - 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/(?Puser|playlist|view_play_list)(/|.*?[?&](?:list|p)=)(?P[\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 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'
' + +getInfo = create_getInfo(SpeedLoadOrg) -- cgit v1.2.3 From da05c51747ec742dd019f689cf73be10721b1f8e Mon Sep 17 00:00:00 2001 From: Walter Purcaro 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'
 (?P.+?)</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