diff options
Diffstat (limited to 'module/plugins/accounts')
| -rw-r--r-- | module/plugins/accounts/FilesonicCom.py | 49 | ||||
| -rw-r--r-- | module/plugins/accounts/ShareonlineBiz.py | 7 | 
2 files changed, 54 insertions, 2 deletions
| diff --git a/module/plugins/accounts/FilesonicCom.py b/module/plugins/accounts/FilesonicCom.py new file mode 100644 index 000000000..f80a4a638 --- /dev/null +++ b/module/plugins/accounts/FilesonicCom.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- + +""" +    This program is free software; you can redistribute it and/or modify +    it under the terms of the GNU General Public License as published by +    the Free Software Foundation; either version 3 of the License, +    or (at your option) any later version. + +    This program is distributed in the hope that it will be useful, +    but WITHOUT ANY WARRANTY; without even the implied warranty of +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +    See the GNU General Public License for more details. + +    You should have received a copy of the GNU General Public License +    along with this program; if not, see <http://www.gnu.org/licenses/>. + +    @author: RaNaN +""" + +import re +from time import mktime, strptime + +from module.plugins.Account import Account + +class FilesonicCom(Account): +    __name__ = "FilesonicCom" +    __version__ = "0.2" +    __type__ = "account" +    __description__ = """filesonic.com account plugin""" +    __author_name__ = ("RaNaN") +    __author_mail__ = ("RaNaN@pyload.org") + +    def loadAccountInfo(self, user, req): +        src = req.load("http://www.filesonic.com/user/settings") + +        validuntil = re.search(r'\d+-\d+-\d+ \d+:\d+:\d+', src).group(0) +        validuntil = int(mktime(strptime(validuntil, "%Y-%m-%d %H:%M:%S"))) +        tmp = {"validuntil": validuntil, "trafficleft": -1} +        return tmp + +    def login(self, user, data, req): +        post_vars = { +            "email": user, +            "password": data["password"], +        } +        page = req.load("http://www.filesonic.com/user/login", cookies=True, post=post_vars) + +        if "Provided password does not match." in page: +            self.wrongPassword() diff --git a/module/plugins/accounts/ShareonlineBiz.py b/module/plugins/accounts/ShareonlineBiz.py index 3564d489c..c5e4477be 100644 --- a/module/plugins/accounts/ShareonlineBiz.py +++ b/module/plugins/accounts/ShareonlineBiz.py @@ -31,8 +31,11 @@ class ShareonlineBiz(Account):      def loadAccountInfo(self, user, req):          src = req.load("http://www.share-online.biz/members.php?setlang=en") -        validuntil = re.search(r'<td align="left"><b>Package Expire Date:</b></td>\s*<td align="left">(\d+/\d+/\d+)</td>', src).group(1) -        validuntil = int(mktime(strptime(validuntil, "%m/%d/%y"))) +        validuntil = re.search(r'<td align="left"><b>Package Expire Date:</b></td>\s*<td align="left">(\d+/\d+/\d+)</td>', src) +        if validuntil: +            validuntil = int(mktime(strptime(validuntil.group(1), "%m/%d/%y"))) +        else: +            validuntil = -1          tmp = {"validuntil":validuntil, "trafficleft":-1}          return tmp | 
