diff options
author | Walter Purcaro <vuolter@gmail.com> | 2014-10-07 13:52:47 +0200 |
---|---|---|
committer | Walter Purcaro <vuolter@gmail.com> | 2014-10-07 13:52:47 +0200 |
commit | dd24571c5015e3fea1877671b464104557463f6f (patch) | |
tree | 2c9be7d2870a0dc75dfb2b9203e3d4f86db7bae9 /module/plugins/internal/SimpleCrypter.py | |
parent | Marked some hosters as dead (diff) | |
download | pyload-dd24571c5015e3fea1877671b464104557463f6f.tar.xz |
[SimpleCrypter][SimpleHoster] Better exception handling
Diffstat (limited to 'module/plugins/internal/SimpleCrypter.py')
-rw-r--r-- | module/plugins/internal/SimpleCrypter.py | 20 |
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): |