diff options
Diffstat (limited to 'pyload/plugins/hoster/MovReelCom.py')
-rw-r--r-- | pyload/plugins/hoster/MovReelCom.py | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/pyload/plugins/hoster/MovReelCom.py b/pyload/plugins/hoster/MovReelCom.py new file mode 100644 index 000000000..6f5f1d3f1 --- /dev/null +++ b/pyload/plugins/hoster/MovReelCom.py @@ -0,0 +1,106 @@ +# -*- coding: utf-8 -*- +import re +from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo +from module.utils import html_unescape +from module.network.RequestFactory import getURL + +class MovReelCom(SimpleHoster): + __name__ = "MovReelCom" + __type__ = "hoster" + __pattern__ = r"http://movreel.com/.*" + __version__ = "1.00" + __description__ = """MovReel.com hoster plugin""" + __author_name__ = ("JorisV83") + __author_mail__ = ("jorisv83-pyload@yahoo.com") + + FILE_INFO_PATTERN = r'You have requested <font color="red">http://movreel.com/.*/(?P<N>.+?)</font>.*\((?P<S>[\d.]+) (?P<U>..)\)</font>' + FILE_OFFLINE_PATTERN = r'<b>File Not Found</b>' + + def setup(self): + self.resumeDownload = True + self.multiDL = False + + def handleFree(self): + + # Define search patterns + op_pattern = '<input type="hidden" name="op" value="(.*)">' + id_pattern = '<input type="hidden" name="id" value="(.*)">' + fn_pattern = '<input type="hidden" name="fname" value="(.*)">' + re_pattern = '<input type="hidden" name="referer" value="(.*)">' + ul_pattern = '<input type="hidden" name="usr_login" value="(.*)">' + rand_pattern = '<input type="hidden" name="rand" value="(.*)">' + link_pattern = "var file_link = '(.*)';" + downlimit_pattern = '<br><p class="err">You have reached the download-limit: .*</p>' + + # Get HTML source + self.logDebug("Getting first HTML source") + html = self.load(self.pyfile.url) + self.logDebug(" > Done") + + op_val = re.search(op_pattern, html).group(1) + id_val = re.search(id_pattern, html).group(1) + fn_val = re.search(fn_pattern, html).group(1) + re_val = re.search(re_pattern, html).group(1) + ul_val = re.search(ul_pattern, html).group(1) + + # Debug values + self.logDebug(" > Op " + op_val) + self.logDebug(" > Id " + id_val) + self.logDebug(" > Fname " + fn_val) + self.logDebug(" > Referer " + re_val) + self.logDebug(" > User Login " + ul_val) + + # Create post data + post_data = {"op" : op_val, "usr_login" : ul_val, "id" : id_val, "fname" : fn_val, "referer" : re_val, "method_free" : "+Free+Download"} + + # Post and get new HTML source + self.logDebug("Getting second HTML source") + html = self.load(self.pyfile.url, post = post_data, decode=True) + self.logDebug(" > Done") + + # Check download limit + if re.search(downlimit_pattern, html) is not None: + self.retry(3, 7200, "Download limit reached, wait 2h") + + # Retrieve data + if re.search(op_pattern, html) is not None: + op_val = re.search(op_pattern, html).group(1) + else: + self.retry(3, 10, "Second html: no op found!!") + + if re.search(id_pattern, html) is not None: + id_val = re.search(id_pattern, html).group(1) + else: + self.retry(3, 10, "Second html: no id found!!") + + if re.search(rand_pattern, html) is not None: + rand_val = re.search(rand_pattern, html).group(1) + else: + self.retry(3, 10, "Second html: no rand found!!") + + re_val = self.pyfile.url + + # Debug values + self.logDebug(" > Op " + op_val) + self.logDebug(" > Id " + id_val) + self.logDebug(" > Rand " + rand_val) + self.logDebug(" > Referer " + re_val) + + # Create post data + post_data = {"op" : op_val, "id" : id_val, "rand" : rand_val, "referer" : re_val, "method_free" : "+Free+Download", "method_premium" : "", "down_direct" : "1"} + + # Post and get new HTML source + self.logDebug("Getting third HTML source") + html = self.load(self.pyfile.url, post = post_data, decode=True) + self.logDebug(" > Done") + + # Get link value + if re.search(link_pattern, html) is not None: + link_val = re.search(link_pattern, html).group(1) + self.logDebug(" > Link " + link_val) + self.download(link_val) + else: + self.logDebug("No link found!!") + self.retry(3, 10, "No link found!!") + +getInfo = create_getInfo(MovReelCom)
\ No newline at end of file |