summaryrefslogtreecommitdiffstats
path: root/pyload/plugins/internal
diff options
context:
space:
mode:
Diffstat (limited to 'pyload/plugins/internal')
-rw-r--r--pyload/plugins/internal/DeadCrypter.py14
-rw-r--r--pyload/plugins/internal/SimpleCrypter.py30
-rw-r--r--pyload/plugins/internal/SimpleHoster.py11
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()