Пример #1
0
    def on_post(self, req, resp):
        form_body = uri.parse_query_string(req.context['body'])

        try:
            username = form_body['username']
            password = form_body['password']
        except KeyError:
            raise HTTPFound('/login')

        if not auth.valid_username(username):
            logger.warn('Tried to login with invalid username %s', username)
            if self.debug:
                flash_message(req, 'Invalid username', 'danger')
            else:
                flash_message(req, 'Invalid credentials', 'danger')
            raise HTTPFound('/login')

        if self.auth_manager.authenticate(username, password):
            logger.info('Successful login for %s', username)
            auth.login_user(req, username)
        else:
            logger.warn('Failed login for %s', username)
            flash_message(req, 'Invalid credentials', 'danger')
            raise HTTPFound('/login')

        # Remove newlines to prevent HTTP request splitting
        url = req.get_param('next', default='').replace('\n', '')

        if not url or url.startswith('/'):
            raise HTTPFound(url or default_route)
        else:
            raise HTTPBadRequest('Invalid next parameter', '')
Пример #2
0
 def on_get(self, req, resp):
     url = '{0}?{1}={2}&{3}={4}&{5}={6}&{7}={8}'.format(
         CONFIG['auth_url'], 'client_id', CONFIG['access_key'],
         'redirect_uri', 'http://localhost:8000/callback', 'response_type',
         'code', 'scope', 'public+read_photos')
     #q = requests.get(CONFIG['auth_url'])
     raise HTTPFound(url)
Пример #3
0
    def on_post(self, req, resp):
        form_body = uri.parse_query_string(req.context['body'])

        try:
            username = form_body['username']
            password = form_body['password']
        except KeyError:
            raise HTTPFound('/login')

        if self.auth_manager.authenticate(username, password):
            logger.info('Successful login for %s', username)
            auth.login_user(req, username)
        else:
            logger.warn('Failed login for %s', username)
            raise HTTPFound('/login')

        url = req.get_param('next')

        if not url or url.startswith('/'):
            raise HTTPFound(url or default_route)
        else:
            raise HTTPBadRequest('Invalid next parameter', '')
Пример #4
0
    def process_resource(self, req, resp, resource, params):
        req.context['do_json'] = req.get_param(
            'json') is not None or req.get_header(
                'Accept') == 'application/json'
        req.context['config'] = self.config

        if not isinstance(resource, ServerBase):
            return

        server_slug = params['server']

        try:
            req.context['server'] = self.config.get_server(server_slug)
        except InvalidServer:
            raise HTTPFound('/')

        req.context['stats'] = Results(self.config, req.context['server'])
Пример #5
0
    def on_get(self, req, resp, server):
        player_name = req.get_param('player')
        if not player_name:
            self.render_template(req, resp, 'player_not_found.html',
                                 **self.more_data(req))
            return

        players = req.context['stats'].player_search(player_name)

        if len(players) == 1:
            raise HTTPFound(
                player_url(req.context['server'].url_slug, players[0].name))

        data = {
            'page_title': 'Search results',
            'results': players,
        }

        self.render_template(req, resp, 'player_search.html', **data)
Пример #6
0
 def on_get(self, req, resp):
     auth.logout_user(req)
     raise HTTPFound('/login')
Пример #7
0
 def on_get(self, req, resp):
     raise HTTPFound(default_route)
Пример #8
0
 def on_get(self, req, resp):
     raise HTTPFound('/%s' % req.context['config'].servers[0].url_slug)