diff options
Diffstat (limited to 'pyload/plugins/internal')
-rw-r--r-- | pyload/plugins/internal/DeadCrypter.py | 14 | ||||
-rw-r--r-- | pyload/plugins/internal/SimpleCrypter.py | 30 | ||||
-rw-r--r-- | pyload/plugins/internal/SimpleHoster.py | 11 |
3 files changed, 34 insertions, 21 deletions
diff --git a/pyload/plugins/internal/DeadCrypter.py b/pyload/plugins/internal/DeadCrypter.py new file mode 100644 index 000000000..805f781af --- /dev/null +++ b/pyload/plugins/internal/DeadCrypter.py @@ -0,0 +1,14 @@ +from module.plugins.Crypter import Crypter as _Crypter + + +class DeadCrypter(_Crypter): + __name__ = "DeadCrypter" + __type__ = "crypter" + __pattern__ = r"" + __version__ = "0.01" + __description__ = """Crypter is no longer available""" + __author_name__ = ("stickell") + __author_mail__ = ("l.stickell@yahoo.it") + + def setup(self): + self.fail("Crypter is no longer available") diff --git a/pyload/plugins/internal/SimpleCrypter.py b/pyload/plugins/internal/SimpleCrypter.py index f0fe0b764..e26bf6644 100644 --- a/pyload/plugins/internal/SimpleCrypter.py +++ b/pyload/plugins/internal/SimpleCrypter.py @@ -19,9 +19,8 @@ import re -from module.plugins.Crypter import Crypter -from module.utils import html_unescape - +from pyload.plugins.Crypter import Crypter, Package +from pyload.utils import html_unescape class SimpleCrypter(Crypter): __name__ = "SimpleCrypter" @@ -52,11 +51,10 @@ class SimpleCrypter(Crypter): must return the html of the page number 'page_n' """ - def decrypt(self, pyfile): - self.html = self.load(pyfile.url, decode=True) - - package_name, folder_name = self.getPackageNameAndFolder() + def decryptURL(self, url): + self.html = self.load(url, decode=True) + package_name = self.getPackageName() self.package_links = self.getLinks() if hasattr(self, 'PAGES_PATTERN') and hasattr(self, 'loadPage'): @@ -65,10 +63,11 @@ class SimpleCrypter(Crypter): self.logDebug('Package has %d links' % len(self.package_links)) if self.package_links: - self.packages = [(package_name, self.package_links, folder_name)] + return Package(package_name, self.package_links) else: self.fail('Could not extract any links') + def getLinks(self): """ Returns the links extracted from self.html @@ -76,18 +75,15 @@ class SimpleCrypter(Crypter): """ return re.findall(self.LINK_PATTERN, self.html) - def getPackageNameAndFolder(self): + def getPackageName(self): if hasattr(self, 'TITLE_PATTERN'): m = re.search(self.TITLE_PATTERN, self.html) if m: - name = folder = html_unescape(m.group('title').strip()) - self.logDebug("Found name [%s] and folder [%s] in package info" % (name, folder)) - return name, folder - - name = self.pyfile.package().name - folder = self.pyfile.package().folder - self.logDebug("Package info not found, defaulting to pyfile name [%s] and folder [%s]" % (name, folder)) - return name, folder + name = html_unescape(m.group('title').strip()) + self.logDebug("Found name [%s] in package info" % (name)) + return name + + return None def handleMultiPages(self): pages = re.search(self.PAGES_PATTERN, self.html) diff --git a/pyload/plugins/internal/SimpleHoster.py b/pyload/plugins/internal/SimpleHoster.py index 7b1d7323a..745cbfd8f 100644 --- a/pyload/plugins/internal/SimpleHoster.py +++ b/pyload/plugins/internal/SimpleHoster.py @@ -146,7 +146,7 @@ class PluginParseError(Exception): class SimpleHoster(Hoster): __name__ = "SimpleHoster" - __version__ = "0.28" + __version__ = "0.29" __pattern__ = None __type__ = "hoster" __description__ = """Base hoster plugin""" @@ -173,13 +173,16 @@ class SimpleHoster(Hoster): self.file_info = {} def setup(self): - self.resumeDownload = self.multiDL = True if self.premium else False - if isinstance(self.SH_COOKIES, list): set_cookies(self.req.cj, self.SH_COOKIES) + self.resumeDownload = self.multiDL = self.premium + if isinstance(self.SH_COOKIES, list): + set_cookies(self.req.cj, self.SH_COOKIES) def process(self, pyfile): pyfile.url = replace_patterns(pyfile.url, self.FILE_URL_REPLACEMENTS) self.req.setOption("timeout", 120) - self.html = self.load(pyfile.url, decode = not self.SH_BROKEN_ENCODING, cookies = self.SH_COOKIES) + # Due to a 0.4.9 core bug self.load would keep previous cookies even if overridden by cookies parameter. + # Workaround using getURL. Can be reverted in 0.5 as the cookies bug has been fixed. + self.html = getURL(pyfile.url, decode=not self.SH_BROKEN_ENCODING, cookies=self.SH_COOKIES) self.getFileInfo() if self.premium and (not self.SH_CHECK_TRAFFIC or self.checkTrafficLeft()): self.handlePremium() |