summaryrefslogtreecommitdiffstats
path: root/module/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins')
-rw-r--r--module/plugins/internal/SimpleHoster.py30
1 files changed, 27 insertions, 3 deletions
diff --git a/module/plugins/internal/SimpleHoster.py b/module/plugins/internal/SimpleHoster.py
index 3625f171e..160125cdf 100644
--- a/module/plugins/internal/SimpleHoster.py
+++ b/module/plugins/internal/SimpleHoster.py
@@ -153,7 +153,7 @@ class PluginParseError(Exception):
class SimpleHoster(Hoster):
__name__ = "SimpleHoster"
__type__ = "hoster"
- __version__ = "0.36"
+ __version__ = "0.37"
__pattern__ = None
@@ -255,11 +255,35 @@ class SimpleHoster(Hoster):
def handleFree(self):
- self.fail("Free download not implemented")
+ if not hasattr(self, 'LINK_FREE_PATTERN'):
+ self.fail("Free download not implemented")
+
+ m = re.search(self.LINK_FREE_PATTERN, self.html)
+ if m is None:
+ self.parseError("Free download link not found")
+
+ try:
+ link = m.group(1)
+ except Exception, e:
+ self.logError(str(e))
+ else:
+ self.download(link, ref=True, cookies=True, disposition=True)
def handlePremium(self):
- self.fail("Premium download not implemented")
+ if not hasattr(self, 'LINK_PREMIUM_PATTERN'):
+ self.fail("Premium download not implemented")
+
+ m = re.search(self.LINK_PREMIUM_PATTERN, self.html)
+ if m is None:
+ self.parseError("Premium download link not found")
+
+ try:
+ link = m.group(1)
+ except Exception, e:
+ self.logError(str(e))
+ else:
+ self.download(link, ref=True, cookies=True, disposition=True)
def parseError(self, msg):