summaryrefslogtreecommitdiffstats
path: root/module/plugins/internal/SimpleCrypter.py
diff options
context:
space:
mode:
authorGravatar Walter Purcaro <vuolter@gmail.com> 2014-10-07 13:52:47 +0200
committerGravatar Walter Purcaro <vuolter@gmail.com> 2014-10-07 13:52:47 +0200
commitdd24571c5015e3fea1877671b464104557463f6f (patch)
tree2c9be7d2870a0dc75dfb2b9203e3d4f86db7bae9 /module/plugins/internal/SimpleCrypter.py
parentMarked some hosters as dead (diff)
downloadpyload-dd24571c5015e3fea1877671b464104557463f6f.tar.xz
[SimpleCrypter][SimpleHoster] Better exception handling
Diffstat (limited to 'module/plugins/internal/SimpleCrypter.py')
-rw-r--r--module/plugins/internal/SimpleCrypter.py20
1 files changed, 12 insertions, 8 deletions
diff --git a/module/plugins/internal/SimpleCrypter.py b/module/plugins/internal/SimpleCrypter.py
index d69995402..43e8b46cb 100644
--- a/module/plugins/internal/SimpleCrypter.py
+++ b/module/plugins/internal/SimpleCrypter.py
@@ -18,11 +18,12 @@ class SimpleCrypter(Crypter):
__author_name__ = ("stickell", "zoidberg", "Walter Purcaro")
__author_mail__ = ("l.stickell@yahoo.it", "zoidberg@mujmail.cz", "vuolter@gmail.com")
+
"""
Following patterns should be defined by each crypter:
LINK_PATTERN: group(1) must be a download link or a regex to catch more links
- example: LINK_PATTERN = r'<div class="link"><a href="(http://speedload.org/\w+)'
+ example: LINK_PATTERN = r'<div class="link"><a href="(.+?)"'
TITLE_PATTERN: (optional) group(1) should be the folder name or the webpage title
example: TITLE_PATTERN = r'<title>Files of: ([^<]+) folder</title>'
@@ -48,7 +49,6 @@ class SimpleCrypter(Crypter):
return the html of the page number page_n
"""
-
TITLE_REPLACEMENTS = [("&#?\w+;", fixup)]
URL_REPLACEMENTS = []
@@ -111,24 +111,28 @@ class SimpleCrypter(Crypter):
def getPackageNameAndFolder(self):
if hasattr(self, 'TITLE_PATTERN'):
- m = re.search(self.TITLE_PATTERN, self.html)
- if m:
+ try:
+ m = re.search(self.TITLE_PATTERN, self.html)
name = replace_patterns(m.group(1).strip(), self.TITLE_REPLACEMENTS)
folder = html_unescape(name)
+ except:
+ pass
+ else:
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
def handleMultiPages(self):
- pages = re.search(self.PAGES_PATTERN, self.html)
- if pages:
- pages = int(pages.group(1))
- else:
+ try:
+ m = re.search(self.PAGES_PATTERN, self.html)
+ pages = int(m.group(1))
+ except:
pages = 1
for p in xrange(2, pages + 1):