summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--module/plugins/accounts/LomafileCom.py19
-rw-r--r--module/plugins/hoster/LomafileCom.py72
2 files changed, 39 insertions, 52 deletions
diff --git a/module/plugins/accounts/LomafileCom.py b/module/plugins/accounts/LomafileCom.py
new file mode 100644
index 000000000..feefdbf47
--- /dev/null
+++ b/module/plugins/accounts/LomafileCom.py
@@ -0,0 +1,19 @@
+# -*- coding: utf-8 -*-
+
+from module.plugins.internal.XFSPAccount import XFSPAccount
+
+
+class LomafileCom(XFSPAccount):
+ __name__ = "LomafileCom"
+ __type__ = "account"
+ __version__ = "0.01"
+
+ __description__ = """Lomafile.com account plugin"""
+ __author_name__ = "guidobelix"
+ __author_mail__ = "guidobelix@hotmail.it"
+
+
+ HOSTER_URL = "http://www.lomafile.com/"
+
+ VALID_UNTIL_PATTERN = r'<b>Premium account expire:([^<]+)</b>'
+ TRAFFIC_LEFT_PATTERN = r'<TR><TD>Traffic available today:</TD><TD><b>(?P<S>[^<]+)</b>'
diff --git a/module/plugins/hoster/LomafileCom.py b/module/plugins/hoster/LomafileCom.py
index 98bf21751..c089650a8 100644
--- a/module/plugins/hoster/LomafileCom.py
+++ b/module/plugins/hoster/LomafileCom.py
@@ -1,61 +1,29 @@
# -*- coding: utf-8 -*-
-import re
+from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo
-from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
-
-class LomafileCom(SimpleHoster):
+class LomafileCom(XFileSharingPro):
__name__ = "LomafileCom"
__type__ = "hoster"
- __version__ = "0.2"
-
- __pattern__ = r'https?://lomafile\.com/.+/[\w\.]+'
-
- __description__ = """ Lomafile.com hoster plugin """
- __author_name__ = "nath_schwarz"
- __author_mail__ = "nathan.notwhite@gmail.com"
-
- FILE_NAME_PATTERN = r'Filename:[^>]*>(?P<N>[\w\.]+)'
- FILE_SIZE_PATTERN = r'\((?P<S>\d+)\s(?P<U>\w+)\)'
- OFFLINE_PATTERN = r'Software error'
-
-
- def handleFree(self):
- for _ in xrange(3):
- captcha_id = re.search(r'src="http://lomafile\.com/captchas/(?P<id>\w+)\.jpg"', self.html)
- if not captcha_id:
- self.parseError("Unable to parse captcha id.")
- else:
- captcha_id = captcha_id.group("id")
-
- form_id = re.search(r'name="id" value="(?P<id>\w+)"', self.html)
- if not form_id:
- self.parseError("Unable to parse form id")
- else:
- form_id = form_id.group("id")
-
- captcha = self.decryptCaptcha("http://lomafile.com/captchas/" + captcha_id + ".jpg")
-
- self.wait(60)
-
- self.html = self.load(self.pyfile.url, post={
- "op": "download2",
- "id": form_id,
- "rand": captcha_id,
- "code": captcha,
- "down_direct": "1"})
-
- download_url = re.search(r'http://[\d\.]+:\d+/d/\w+/[\w\.]+', self.html)
- if download_url is None:
- self.invalidCaptcha()
- self.logDebug("Invalid captcha.")
- else:
- download_url = download_url.group(0)
- self.logDebug("Download URL: %s" % download_url)
- self.download(download_url)
- else:
- self.fail("Invalid captcha-code entered.")
+ __version__ = "0.3"
+
+ __pattern__ = r'http://lomafile\.com/\w{12}'
+
+ __description__ = """Lomafile.com hoster plugin"""
+ __author_name__ = ("nath_schwarz", "guidobelix")
+ __author_mail__ = ("nathan.notwhite@gmail.com", "guidobelix@hotmail.it")
+
+
+ HOSTER_NAME = "lomafile.com"
+
+ FILE_NAME_PATTERN = r'<a href="http://lomafile\.com/w{12}/(?P<N>.+?)">'
+ FILE_SIZE_PATTERN = r'Size:</b></td><td>(?P<S>[\d.]+) (?P<U>\w+)'
+
+ OFFLINE_PATTERN = r'>(No such file|Software error:<)'
+ TEMP_OFFLINE_PATTERN = r'The page may have been renamed, removed or be temporarily unavailable.<'
+
+ CAPTCHA_URL_PATTERN = r'(http://lomafile\.com/captchas/[^"\']+)'
getInfo = create_getInfo(LomafileCom)