diff options
Diffstat (limited to 'module/plugins/accounts')
| -rw-r--r-- | module/plugins/accounts/BoltsharingCom.py | 12 | ||||
| -rw-r--r-- | module/plugins/accounts/HellshareCz.py | 28 | 
2 files changed, 35 insertions, 5 deletions
diff --git a/module/plugins/accounts/BoltsharingCom.py b/module/plugins/accounts/BoltsharingCom.py new file mode 100644 index 000000000..678591d1d --- /dev/null +++ b/module/plugins/accounts/BoltsharingCom.py @@ -0,0 +1,12 @@ +# -*- coding: utf-8 -*- +from module.plugins.internal.XFSPAccount import XFSPAccount + +class BoltsharingCom(XFSPAccount): +    __name__ = "BoltsharingCom" +    __version__ = "0.01" +    __type__ = "account" +    __description__ = """Boltsharing.com account plugin""" +    __author_name__ = ("zoidberg") +    __author_mail__ = ("zoidberg@mujmail.cz") + +    MAIN_PAGE = "http://boltsharing.com/" diff --git a/module/plugins/accounts/HellshareCz.py b/module/plugins/accounts/HellshareCz.py index 312b1e76b..c7a918dec 100644 --- a/module/plugins/accounts/HellshareCz.py +++ b/module/plugins/accounts/HellshareCz.py @@ -19,16 +19,17 @@  from module.plugins.Account import Account  import re +import time  class HellshareCz(Account):      __name__ = "HellshareCz" -    __version__ = "0.13" +    __version__ = "0.14"      __type__ = "account"      __description__ = """hellshare.cz account plugin"""      __author_name__ = ("zoidberg")      __author_mail__ = ("zoidberg@mujmail.cz") -    CREDIT_LEFT_PATTERN = r'<div class="credit-link">\s*<table>\s*<tr>\s*<th>(\d+)</th>' +    CREDIT_LEFT_PATTERN = r'<div class="credit-link">\s*<table>\s*<tr>\s*<th>(\d+|\d\d\.\d\d\.)</th>'      def loadAccountInfo(self, user, req):          self.relogin(user) @@ -36,13 +37,30 @@ class HellshareCz(Account):          found = re.search(self.CREDIT_LEFT_PATTERN, html)          if found is None: -            credits = 0 +            trafficleft = None +            validuntil = None              premium = False          else: -            credits = int(found.group(1)) * 1024 +            credit = found.group(1)              premium = True +            try: +                if "." in credit: +                    #Time-based account +                    vt = [int(x) for x in credit.split('.')[:2]] +                    lt = time.localtime() +                    year = lt.tm_year + int(vt[1] < lt.tm_mon or (vt[1] == lt.tm_mon and vt[0] < lt.tm_mday)) +                    validuntil = time.mktime(time.strptime("%s%d 23:59:59" % (credit,year), "%d.%m.%Y %H:%M:%S"))  +                    trafficleft = -1 +                else: +                    #Traffic-based account +                    trafficleft = int(credit) * 1024 +                    validuntil = -1 +            except Exception, e: +                self.logError('Unable to parse credit info', e) +                validuntil = -1 +                trafficleft = -1 -        return {"validuntil": -1, "trafficleft": credits, "premium": premium} +        return {"validuntil": validuntil, "trafficleft": trafficleft, "premium": premium}      def login(self, user, data, req):          html = req.load('http://www.hellshare.com/')  | 
