Пример #1
0
    def login(self):
        if not self.is_on_page(LoginPage):
            self.location(self.login_url, no_login=True)

        self.page.login(self.username, self.password)

        if self.is_on_page(BadLoginPage):
            raise BrowserIncorrectPassword()
        if self.is_on_page(AccountDesactivate):
            raise BrowserBanned()
Пример #2
0
    def on_loaded(self):
        BasePage.on_loaded(self)

        warns = self.parser.select(self.document.getroot(), '.warning')
        for warn in warns:
            text = self.parser.tocleanstring(warn)
            if text.startswith('Your '):
                raise BrowserIncorrectPassword(text)
            if text.startswith('You are banned'):
                raise BrowserBanned(text)
Пример #3
0
    def login(self):
        if self.password is None:
            return

        params = {'remember_me': 0,
                  'email':       self.username,
                  'password':    self.password,
                 }

        data = self.readurl('http://gdcvault.com/api/login.php',
                            urlencode(params))
        # some data returned as JSON, not sure yet if it's useful

        if data is None:
            self.openurl('/logout', '')
            raise BrowserBanned('Too many open sessions?')

        self.location('/', no_login=True)

        if not self.is_logged():
            raise BrowserIncorrectPassword()
Пример #4
0
 def _get_json(self, url):
     j = json.loads(self._get_unicode(url))
     if 'rate' in j:
         # shit, we've been banned...
         raise BrowserBanned('Flood - Banned for today')
     return j
Пример #5
0
 def on_loaded(self):
     raise BrowserBanned()