diff options
Diffstat (limited to 'module')
| -rw-r--r-- | module/plugins/accounts/LomafileCom.py | 19 | ||||
| -rw-r--r-- | module/plugins/hoster/LomafileCom.py | 72 | 
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) | 
