summaryrefslogtreecommitdiffstats
path: root/module/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins')
-rw-r--r--module/plugins/hoster/DepositfilesCom.py2
-rw-r--r--module/plugins/hoster/MovReelCom.py113
-rw-r--r--module/plugins/hoster/TusfilesNet.py11
3 files changed, 24 insertions, 102 deletions
diff --git a/module/plugins/hoster/DepositfilesCom.py b/module/plugins/hoster/DepositfilesCom.py
index 01589f206..99c0d13a1 100644
--- a/module/plugins/hoster/DepositfilesCom.py
+++ b/module/plugins/hoster/DepositfilesCom.py
@@ -10,7 +10,7 @@ from module.plugins.internal.CaptchaService import ReCaptcha
class DepositfilesCom(SimpleHoster):
__name__ = "DepositfilesCom"
__type__ = "hoster"
- __pattern__ = r"http://[\w\.]*?(depositfiles\.com|dfiles\.eu)(/\w{1,3})?/files/[\w]+"
+ __pattern__ = r"https?://[\w\.]*?(depositfiles\.com|dfiles\.eu)(/\w{1,3})?/files/[\w]+"
__version__ = "0.45"
__description__ = """Depositfiles.com Download Hoster"""
__author_name__ = ("spoob", "zoidberg")
diff --git a/module/plugins/hoster/MovReelCom.py b/module/plugins/hoster/MovReelCom.py
index 2fbff66a6..5d8754ee7 100644
--- a/module/plugins/hoster/MovReelCom.py
+++ b/module/plugins/hoster/MovReelCom.py
@@ -1,110 +1,23 @@
# -*- 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
+#import re
+from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo
+#from pycurl import FOLLOWLOCATION, LOW_SPEED_TIME
-
-class MovReelCom(SimpleHoster):
+class MovReelCom(XFileSharingPro):
__name__ = "MovReelCom"
__type__ = "hoster"
__pattern__ = r"http://movreel.com/.*"
- __version__ = "1.00"
+ __version__ = "1.20"
__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!!")
-
-
+ #FILE_NAME_PATTERN = r'<b>Filename:</b>(?P<N>.*?)<br>'
+ #FILE_SIZE_PATTERN = r'<b>Size:</b>(?P<S>.*?)<br>'
+ FILE_INFO_PATTERN = r'<h3>(?P<N>.+?) <small><sup>(?P<S>[\d.]+) (?P<U>..)</sup> </small></h3>'
+ FILE_OFFLINE_PATTERN = r'<b>File Not Found</b><br><br>'
+ DIRECT_LINK_PATTERN = r'<a href="(http://[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*/.*)">Download Link</a>'
+ #OVR_DOWNLOAD_LINK_PATTERN = "var file_link = '(.*)';"
+ HOSTER_NAME = "movreel.com"
+
getInfo = create_getInfo(MovReelCom)
diff --git a/module/plugins/hoster/TusfilesNet.py b/module/plugins/hoster/TusfilesNet.py
index a155439b2..e4a64cfdc 100644
--- a/module/plugins/hoster/TusfilesNet.py
+++ b/module/plugins/hoster/TusfilesNet.py
@@ -13,8 +13,17 @@ class TusfilesNet(XFileSharingPro):
FILE_INFO_PATTERN = r'<li>(?P<N>[^<]+)</li>\s+<li><b>Size:</b> <small>(?P<S>[\d.]+) (?P<U>\w+)</small></li>'
FILE_OFFLINE_PATTERN = r'The file you were looking for could not be found'
-
HOSTER_NAME = "tusfiles.net"
+ def setup(self):
+ self.chunkLimit = 1
+ self.resumeDownload = self.multiDL = True
+ if self.premium:
+ self.limitDL = 5
+ elif self.account:
+ self.limitDL = 3
+ else:
+ self.limitDL = 2
+
getInfo = create_getInfo(TusfilesNet)