From 68d662e689cd42687341c550fb6ebb74e6968d21 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Mon, 8 Sep 2014 00:29:57 +0200 Subject: module -> pyload --- pyload/plugins/hoster/PromptfileCom.py | 45 ++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 pyload/plugins/hoster/PromptfileCom.py (limited to 'pyload/plugins/hoster/PromptfileCom.py') diff --git a/pyload/plugins/hoster/PromptfileCom.py b/pyload/plugins/hoster/PromptfileCom.py new file mode 100644 index 000000000..108f470d2 --- /dev/null +++ b/pyload/plugins/hoster/PromptfileCom.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- + +import re + +from pyload.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo + + +class PromptfileCom(SimpleHoster): + __name__ = "PromptfileCom" + __type__ = "hoster" + __version__ = "0.1" + + __pattern__ = r'https?://(?:www\.)?promptfile\.com/' + + __description__ = """Promptfile.com hoster plugin""" + __author_name__ = "igel" + __author_mail__ = "igelkun@myopera.com" + + FILE_INFO_PATTERN = r'(?P.*?) \((?P[\d.]+) (?P\w+)\)' + OFFLINE_PATTERN = r'File Not Found' + + CHASH_PATTERN = r'' + LINK_PATTERN = r"clip: {\s*url: '(https?://(?:www\.)promptfile[^']*)'," + + + def handleFree(self): + # STAGE 1: get link to continue + m = re.search(self.CHASH_PATTERN, self.html) + if m is None: + self.parseError("Unable to detect chash") + chash = m.group(1) + self.logDebug("read chash %s" % chash) + # continue to stage2 + self.html = self.load(self.pyfile.url, decode=True, post={'chash': chash}) + + # STAGE 2: get the direct link + m = re.search(self.LINK_PATTERN, self.html, re.MULTILINE | re.DOTALL) + if m is None: + self.parseError("Unable to detect direct link") + direct = m.group(1) + self.logDebug("found direct link: " + direct) + self.download(direct, disposition=True) + + +getInfo = create_getInfo(PromptfileCom) -- cgit v1.2.3