Exemplo n.º 1
0
 def _handle_request(self, req):
     return_url = req.values.get('return_url')
     errors = {'openid': [], 'mb': []}
     if 'login' in req.form:
         if req.form['login'] == 'mb':
             self._handle_musicbrainz_login(req, errors['mb'])
             from acoustid.api import serialize_response, errors as _errors, v2 as api_v2
             if req.form.get('format') in api_v2.FORMATS:
                 if self.session.get('id'):
                     info = get_account_details(self.conn, self.session['id'])
                     response = {'status': 'ok', 'api_key': info['apikey']}
                     return serialize_response(response, req.form['format'])
                 else:
                     e = _errors.InvalidUserAPIKeyError()
                     response = {'status': 'error', 'error': {'code': e.code, 'message': e.message}}
                     return serialize_response(response, req.form['format'], status=400)
         elif req.form['login'] == 'openid':
             resp = self._handle_openid_login(req, errors['openid'])
             if resp is not None:
                 return resp
     if 'openid.mode' in req.args:
         self._handle_openid_login_response(req, errors['openid'])
     if 'id' in self.session:
         if not return_url or not return_url.startswith(self.config.base_url):
             return_url = self.config.base_url + 'api-key'
         return redirect(return_url)
     return self.render_template('login.html', errors=errors, return_url=return_url)
Exemplo n.º 2
0
def test_update_account_lastlogin(conn):
    info1 = get_account_details(conn, 1)
    update_account_lastlogin(conn, 1)
    info2 = get_account_details(conn, 1)
    assert_true(info1['lastlogin'] < info2['lastlogin'])
Exemplo n.º 3
0
def test_reset_account_apikey(conn):
    info = get_account_details(conn, 1)
    assert_equal('user1key', info['apikey'])
    reset_account_apikey(conn, 1)
    info = get_account_details(conn, 1)
    assert_not_equal('user1key', info['apikey'])
Exemplo n.º 4
0
 def _handle_request(self, req):
     self.require_user(req)
     title = 'Your API Key'
     info = get_account_details(self.conn, self.session['id'])
     return self.render_template('apikey.html', apikey=info['apikey'], title=title)
Exemplo n.º 5
0
 def _handle_request(self, req):
     self.require_user()
     title = 'Your API Key'
     info = get_account_details(self.conn, self.session['id'])
     return self.render_template('apikey.html', apikey=info['apikey'], title=title)