old_contents: # -*- coding: utf-8 -*-
  
  import re
  import time
  
  from module.plugins.internal.Account import Account
  from module.plugins.internal.misc import set_cookie
  
  
  class TurbobitNet(Account):
      __name__    = "TurbobitNet"
      __type__    = "account"
      __version__ = "0.09"
      __status__  = "testing"
  
      __description__ = """TurbobitNet account plugin"""
      __license__     = "GPLv3"
      __authors__     = [("zoidberg", "zoidberg@mujmail.cz")]
  
  
      def grab_info(self, user, password, data):
          html = self.load("http://turbobit.net")
  
          m = re.search(r'<u>Turbo Access</u> to ([\d.]+)', html)
          if m is not None:
              premium = True
              validuntil = time.mktime(time.strptime(m.group(1), "%d.%m.%Y"))
          else:
              premium = False
              validuntil = -1
  
          return {'premium': premium, 'trafficleft': -1, 'validuntil': validuntil}
  
  
      def signin(self, user, password, data):
          set_cookie(self.req.cj, "turbobit.net", "user_lang", "en")
  
          html = self.load("http://turbobit.net/user/login",
                           post={"user[login]" : user,
                                 "user[pass]"  : password,
                                 "user[submit]": "Login"})
  
          if not '<div class="menu-item user-name">' in html:
              self.fail_login()
  
new_contents: # -*- coding: utf-8 -*-
  
  import re
  import time
  
  from module.plugins.internal.Account import Account
  from module.plugins.internal.misc import parse_html_form, set_cookie
  
  
  class TurbobitNet(Account):
      __name__    = "TurbobitNet"
      __type__    = "account"
      __version__ = "0.10"
      __status__  = "testing"
  
      __description__ = """TurbobitNet account plugin"""
      __license__     = "GPLv3"
      __authors__     = [("zoidberg",  "zoidberg@mujmail.cz"       ),
                         ("GammaC0de", "nitzo2001[AT]yahoo[DOT]com")]
  
      LOGIN_FAIL_PATTERN = r'>(?:E-Mail address appears to be invalid\. Please try again|Incorrect login or password)</div>'
  
  
      def grab_info(self, user, password, data):
          html = self.load("http://turbobit.net/")
  
          m = re.search(r'>Turbo access till ([\d.]+)<', html)
          if m is not None:
              premium = True
              validuntil = time.mktime(time.strptime(m.group(1), "%d.%m.%Y"))
          else:
              premium = False
              validuntil = -1
  
          return {'premium': premium, 'trafficleft': -1, 'validuntil': validuntil}
  
  
      def signin(self, user, password, data):
          set_cookie(self.req.cj, "turbobit.net", "user_lang", "en")
  
          self.data = self.load("http://turbobit.net/login")
  
          if "<a href='/user/logout'" in self.data:
              self.skip_login()
  
          action, inputs = parse_html_form('class="form-horizontal login mail"', self.data)
          if not inputs:
              self.fail_login(_("Login form not found"))
  
          inputs['user[login]']  = user
          inputs['user[pass]']   = password
          inputs['user[submit]'] = "Sign in"
  
          if inputs.get('user[captcha_type]'):
              self.fail_login(_("Logging in with captcha is not supported, please disable catcha in turbobit's account settings"))
  
          self.data = self.load("http://turbobit.net/user/login", post=inputs)
  
          if "<a href='/user/logout'" in self.data:
              self.log_debug(_("Login successful"))
  
          elif re.search(self.LOGIN_FAIL_PATTERN, self.data):
              self.fail_login()
  
          elif ">Please enter the captcha code.</div>" in self.data:
              self.fail_login(_("Logging in with captcha is not supported, please disable catcha in turbobit's account settings"))
  
          else:
              self.fail_login(_("Unknown response"))
  
subject: fix #2445