From ae15749449563f5adaabd250ea62460c18af6498 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Mon, 3 Nov 2014 12:16:40 +0100 Subject: Update crypters --- module/plugins/crypter/BitshareComFolder.py | 2 +- module/plugins/crypter/DataHuFolder.py | 25 ++++++++++--------------- module/plugins/crypter/DevhostStFolder.py | 9 ++++++--- module/plugins/crypter/FilecloudIoFolder.py | 2 +- module/plugins/crypter/FilefactoryComFolder.py | 2 +- module/plugins/crypter/FilerNetFolder.py | 2 +- module/plugins/crypter/FilestubeCom.py | 2 +- module/plugins/crypter/FiletramCom.py | 2 +- module/plugins/crypter/FreakhareComFolder.py | 2 +- module/plugins/crypter/ImgurComAlbum.py | 2 +- module/plugins/crypter/MultiUpOrg.py | 2 +- module/plugins/crypter/NetfolderIn.py | 18 ++++-------------- module/plugins/crypter/NosvideoCom.py | 2 +- module/plugins/crypter/PastebinCom.py | 2 +- module/plugins/crypter/SexuriaCom.py | 6 ++---- module/plugins/crypter/TnyCz.py | 2 +- module/plugins/crypter/TurbobitNetFolder.py | 2 +- module/plugins/crypter/TusfilesNetFolder.py | 4 ++-- module/plugins/crypter/UploadableChFolder.py | 2 +- module/plugins/crypter/UploadedToFolder.py | 25 +++++++++---------------- 20 files changed, 47 insertions(+), 68 deletions(-) (limited to 'module') diff --git a/module/plugins/crypter/BitshareComFolder.py b/module/plugins/crypter/BitshareComFolder.py index e77870d26..e4038aebf 100644 --- a/module/plugins/crypter/BitshareComFolder.py +++ b/module/plugins/crypter/BitshareComFolder.py @@ -18,4 +18,4 @@ class BitshareComFolder(SimpleCrypter): LINK_PATTERN = r'.+' - NAME_PATTERN = r'View public folder "(.+)"' + NAME_PATTERN = r'View public folder "(?P.+)"' diff --git a/module/plugins/crypter/DataHuFolder.py b/module/plugins/crypter/DataHuFolder.py index 39523c05d..0399e686d 100644 --- a/module/plugins/crypter/DataHuFolder.py +++ b/module/plugins/crypter/DataHuFolder.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DataHuFolder(SimpleCrypter): __name__ = "DataHuFolder" __type__ = "crypter" - __version__ = "0.05" + __version__ = "0.06" __pattern__ = r'http://(?:www\.)?data\.hu/dir/\w+' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -21,25 +21,20 @@ class DataHuFolder(SimpleCrypter): LINK_PATTERN = r'\1' - NAME_PATTERN = ur'(.+) Let\xf6lt\xe9se' + NAME_PATTERN = ur'(?P<N>.+) Let\xf6lt\xe9se' - def decrypt(self, pyfile): - self.html = self.load(pyfile.url, decode=True) + def prepare(self): + super(DataHuFolder, self).prepare() if u'K\xe9rlek add meg a jelsz\xf3t' in self.html: # Password protected password = self.getPassword() - if password is '': - self.fail(_("No password specified, please set right password on Add package form and retry")) - self.logDebug("The folder is password protected', 'Using password: " + password) - self.html = self.load(pyfile.url, post={'mappa_pass': password}, decode=True) - if u'Hib\xe1s jelsz\xf3' in self.html: # Wrong password - self.fail(_("Incorrect password, please set right password on Add package form and retry")) + if not password: + self.fail(_("Password required")) - package_name, folder_name = self.getPackageNameAndFolder() + self.logDebug("The folder is password protected', 'Using password: " + password) - package_links = re.findall(self.LINK_PATTERN, self.html) - self.logDebug("Package has %d links" % len(package_links)) + self.html = self.load(self.pyfile.url, post={'mappa_pass': password}, decode=True) - if package_links: - self.packages = [(package_name, package_links, folder_name)] + if u'Hib\xe1s jelsz\xf3' in self.html: # Wrong password + self.fail(_("Wrong password")) diff --git a/module/plugins/crypter/DevhostStFolder.py b/module/plugins/crypter/DevhostStFolder.py index 397a72ac4..16931984b 100644 --- a/module/plugins/crypter/DevhostStFolder.py +++ b/module/plugins/crypter/DevhostStFolder.py @@ -13,7 +13,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DevhostStFolder(SimpleCrypter): __name__ = "DevhostStFolder" __type__ = "crypter" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?d-h\.st/users/(?P\w+)(/\?fld_id=(?P\d+))?' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -29,7 +29,10 @@ class DevhostStFolder(SimpleCrypter): OFFLINE_PATTERN = r'"/cHP">test\.png<' - def getPackageNameAndFolder(self): + def getFileInfo(self): + if re.search(self.OFFLINE_PATTERN, self.html): + self.offline() + try: id = re.match(self.__pattern__, self.pyfile.url).group('ID') if id == "0": @@ -48,7 +51,7 @@ class DevhostStFolder(SimpleCrypter): self.logDebug(str(e)) name = folder = re.match(self.__pattern__, self.pyfile.url).group('USER') - return name, folder + return {'name': name, 'folder': folder} def getLinks(self): diff --git a/module/plugins/crypter/FilecloudIoFolder.py b/module/plugins/crypter/FilecloudIoFolder.py index cc5c2a160..5640ab5c9 100644 --- a/module/plugins/crypter/FilecloudIoFolder.py +++ b/module/plugins/crypter/FilecloudIoFolder.py @@ -18,4 +18,4 @@ class FilecloudIoFolder(SimpleCrypter): LINK_PATTERN = r'href="(http://filecloud\.io/\w+)" title' - NAME_PATTERN = r'>(.+?) - filecloud\.io<' + NAME_PATTERN = r'>(?P.+?) - filecloud\.io<' diff --git a/module/plugins/crypter/FilefactoryComFolder.py b/module/plugins/crypter/FilefactoryComFolder.py index 4975ba506..ab4e76092 100644 --- a/module/plugins/crypter/FilefactoryComFolder.py +++ b/module/plugins/crypter/FilefactoryComFolder.py @@ -18,7 +18,7 @@ class FilefactoryComFolder(SimpleCrypter): LINK_PATTERN = r'' - NAME_PATTERN = r'

Files in (.+)

' + NAME_PATTERN = r'

Files in (?P.+)

' PAGES_PATTERN = r'data-paginator-totalPages="(\d+)"' COOKIES = [('.filefactory.com', 'locale', 'en_US.utf8')] diff --git a/module/plugins/crypter/FilerNetFolder.py b/module/plugins/crypter/FilerNetFolder.py index 37c958e87..a2daba136 100644 --- a/module/plugins/crypter/FilerNetFolder.py +++ b/module/plugins/crypter/FilerNetFolder.py @@ -19,7 +19,7 @@ class FilerNetFolder(SimpleCrypter): LINK_PATTERN = r'href="(/get/\w{16})">(?!<)' - NAME_PATTERN = r'

(.+?) - (?P.+?) - ]* href=\"(http://[^\"]+)' - NAME_PATTERN = r' (.+) download\s*

' + NAME_PATTERN = r' (?P.+) download\s*' diff --git a/module/plugins/crypter/FiletramCom.py b/module/plugins/crypter/FiletramCom.py index 50233e903..e4c8b6360 100644 --- a/module/plugins/crypter/FiletramCom.py +++ b/module/plugins/crypter/FiletramCom.py @@ -19,4 +19,4 @@ class FiletramCom(SimpleCrypter): LINK_PATTERN = r'\s+(http://.+)' - NAME_PATTERN = r'(.+?) - Free Download' + NAME_PATTERN = r'<title>(?P<N>.+?) - Free Download' diff --git a/module/plugins/crypter/FreakhareComFolder.py b/module/plugins/crypter/FreakhareComFolder.py index 4d9ffca1d..d4d3c6d3c 100644 --- a/module/plugins/crypter/FreakhareComFolder.py +++ b/module/plugins/crypter/FreakhareComFolder.py @@ -20,7 +20,7 @@ class FreakhareComFolder(SimpleCrypter): LINK_PATTERN = r'<a href="(http://freakshare\.com/files/[^"]+)" target="_blank">' - NAME_PATTERN = r'Folder:</b> (.+)' + NAME_PATTERN = r'Folder:</b> (?P<N>.+)' PAGES_PATTERN = r'Pages: +(\d+)' diff --git a/module/plugins/crypter/ImgurComAlbum.py b/module/plugins/crypter/ImgurComAlbum.py index 5402ed43f..f8f226a1b 100644 --- a/module/plugins/crypter/ImgurComAlbum.py +++ b/module/plugins/crypter/ImgurComAlbum.py @@ -18,7 +18,7 @@ class ImgurComAlbum(SimpleCrypter): __authors__ = [("nath_schwarz", "nathan.notwhite@gmail.com")] - NAME_PATTERN = r'(.+?) - Imgur' + NAME_PATTERN = r'(?P<N>.+?) - Imgur' LINK_PATTERN = r'i\.imgur\.com/\w{7}s?\.(?:jpeg|jpg|png|gif|apng)' diff --git a/module/plugins/crypter/MultiUpOrg.py b/module/plugins/crypter/MultiUpOrg.py index 717b209ec..5f3fc8b17 100644 --- a/module/plugins/crypter/MultiUpOrg.py +++ b/module/plugins/crypter/MultiUpOrg.py @@ -20,7 +20,7 @@ class MultiUpOrg(SimpleCrypter): __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] - NAME_PATTERN = r'<title>.*(?:Project|Projet|ownload|élécharger) (.+?) (?:\(|- )' + NAME_PATTERN = r'<title>.*(?:Project|Projet|ownload|élécharger) (?P<N>.+?) (\(|- )' def getLinks(self): diff --git a/module/plugins/crypter/NetfolderIn.py b/module/plugins/crypter/NetfolderIn.py index d94b88af1..a47bd0503 100644 --- a/module/plugins/crypter/NetfolderIn.py +++ b/module/plugins/crypter/NetfolderIn.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class NetfolderIn(SimpleCrypter): __name__ = "NetfolderIn" __type__ = "crypter" - __version__ = "0.71" + __version__ = "0.72" __pattern__ = r'http://(?:www\.)?netfolder\.in/((?P<id1>\w+)/\w+|folder\.php\?folder_id=(?P<id2>\w+))' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -20,12 +20,11 @@ class NetfolderIn(SimpleCrypter): ("fragonib", "fragonib[AT]yahoo[DOT]es")] - NAME_PATTERN = r'<div class="Text">Inhalt des Ordners <span.*>(.+)</span></div>' + NAME_PATTERN = r'<div class="Text">Inhalt des Ordners <span.*>(?P<N>.+)</span></div>' - def decrypt(self, pyfile): - # Request package - self.html = self.load(pyfile.url) + def prepare(self): + super(NetfolderIn, self).prepare() # Check for password protection if self.isPasswordProtected(): @@ -33,15 +32,6 @@ class NetfolderIn(SimpleCrypter): if not self.html: self.fail(_("Incorrect password, please set right password on Add package form and retry")) - # Get package name and folder - (package_name, folder_name) = self.getPackageNameAndFolder() - - # Get package links - package_links = self.getLinks() - - # Set package - self.packages = [(package_name, package_links, folder_name)] - def isPasswordProtected(self): if '<input type="password" name="password"' in self.html: diff --git a/module/plugins/crypter/NosvideoCom.py b/module/plugins/crypter/NosvideoCom.py index bc908279f..3abefdadb 100644 --- a/module/plugins/crypter/NosvideoCom.py +++ b/module/plugins/crypter/NosvideoCom.py @@ -18,4 +18,4 @@ class NosvideoCom(SimpleCrypter): LINK_PATTERN = r'href="(http://(?:w{3}\.)?nosupload\.com/\?d=\w+)"' - NAME_PATTERN = r'<[tT]itle>Watch (.+?)<' + NAME_PATTERN = r'<[tT]itle>Watch (?P<N>.+?)<' diff --git a/module/plugins/crypter/PastebinCom.py b/module/plugins/crypter/PastebinCom.py index e0dfa4fd8..1dae39bb8 100644 --- a/module/plugins/crypter/PastebinCom.py +++ b/module/plugins/crypter/PastebinCom.py @@ -18,4 +18,4 @@ class PastebinCom(SimpleCrypter): LINK_PATTERN = r'<div class="de\d+">(https?://[^ <]+)(?:[^<]*)</div>' - NAME_PATTERN = r'<div class="paste_box_line1" title="([^"]+)">' + NAME_PATTERN = r'<div class="paste_box_line1" title="(?P<N>[^"]+)">' diff --git a/module/plugins/crypter/SexuriaCom.py b/module/plugins/crypter/SexuriaCom.py index 6166c2023..3c952fd6b 100644 --- a/module/plugins/crypter/SexuriaCom.py +++ b/module/plugins/crypter/SexuriaCom.py @@ -34,10 +34,8 @@ class SexuriaCom(Crypter): self.package = pyfile.package() # Get package links - (package_name, package_links, folder_name, package_pwd) = self.decryptLinks(self.pyfile.url) - if package_pwd: - self.pyfile.package().password = package_pwd - self.packages.append((package_name, package_links, folder_name)) + package_name, self.links, folder_name, package_pwd = self.decryptLinks(self.pyfile.url) + self.packages = [(package_name, self.links, folder_name)] def decryptLinks(self, url): diff --git a/module/plugins/crypter/TnyCz.py b/module/plugins/crypter/TnyCz.py index 4e29d1032..6dde729f5 100644 --- a/module/plugins/crypter/TnyCz.py +++ b/module/plugins/crypter/TnyCz.py @@ -19,7 +19,7 @@ class TnyCz(SimpleCrypter): __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] - NAME_PATTERN = r'<title>(.+) - .+' + NAME_PATTERN = r'(?P<N>.+) - .+' def getLinks(self): diff --git a/module/plugins/crypter/TurbobitNetFolder.py b/module/plugins/crypter/TurbobitNetFolder.py index 79fd7d7e0..4e07564af 100644 --- a/module/plugins/crypter/TurbobitNetFolder.py +++ b/module/plugins/crypter/TurbobitNetFolder.py @@ -21,7 +21,7 @@ class TurbobitNetFolder(SimpleCrypter): ("Walter Purcaro", "vuolter@gmail.com")] - NAME_PATTERN = r'src=\'/js/lib/grid/icon/folder.png\'> (.+?)' + NAME_PATTERN = r'src=\'/js/lib/grid/icon/folder.png\'> (?P.+?)' def _getLinks(self, id, page=1): diff --git a/module/plugins/crypter/TusfilesNetFolder.py b/module/plugins/crypter/TusfilesNetFolder.py index 7c1375f93..e8da59736 100644 --- a/module/plugins/crypter/TusfilesNetFolder.py +++ b/module/plugins/crypter/TusfilesNetFolder.py @@ -10,7 +10,7 @@ from module.plugins.internal.XFSCrypter import XFSCrypter class TusfilesNetFolder(XFSCrypter): __name__ = "TusfilesNetFolder" __type__ = "crypter" - __version__ = "0.05" + __version__ = "0.06" __pattern__ = r'https?://(?:www\.)?tusfiles\.net/go/(?P\w+)' __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), @@ -42,4 +42,4 @@ class TusfilesNetFolder(XFSCrypter): for p in xrange(2, pages + 1): self.html = self.loadPage(p) - self.package_links += self.getLinks() + self.links += self.getLinks() diff --git a/module/plugins/crypter/UploadableChFolder.py b/module/plugins/crypter/UploadableChFolder.py index 9653d8891..070753ac0 100644 --- a/module/plugins/crypter/UploadableChFolder.py +++ b/module/plugins/crypter/UploadableChFolder.py @@ -19,6 +19,6 @@ class UploadableChFolder(SimpleCrypter): LINK_PATTERN = r'"(.+?)" class="icon_zipfile">' - NAME_PATTERN = r'
 (.+?)
' + NAME_PATTERN = r'
 (?P.+?)
' OFFLINE_PATTERN = r'We are sorry... The URL you entered cannot be found on the server.' TEMP_OFFLINE_PATTERN = r'