Ejemplo n.º 1
0
 def POST(self):
     it = web.input()
     try:
         grade = it.get('grade')
         token = it.get('token')
         tryId = it.get('tryId')
         now = int(it.get('now', time.time()))
         user = User().become(token)
     except leancloud.errors.LeanCloudError:
         return {'code': 1}
     obj = TryWords.query.get(tryId)
     delay = obj.get('delay')
     tryCount = obj.get('tryCount')
     if grade == 'c':
         delay = delay / 2.0
     elif grade == 'b':
         delay = delay / 1.1
     elif grade == 'a':
         if delay > 30 * 86400 - 1:
             getObj = GetWords()
             getObj.set('userId', user.id)
             getObj.set('wordAndExpl', obj.get('word')+'|'+obj.get('expl'))
             getObj.set('tryCount', obj.get('tryCount') + 1)
             getObj.set('totalTime', now - obj.get('startTime'))
             getObj.save()
             obj.destroy()
             return {'code': 0}
         delay *= math.exp(math.log(30) / (user.get('avgGetCount') - 0.1))
         delay = min(delay, 40 * 86400)
     recall_day = int((now + 8 * 3600 + delay) / 86400)
     obj.set('delay', delay)
     obj.set('tryCount', tryCount + 1)
     obj.set('recallDay', recall_day)
     obj.save()
     return {'code': 0}
Ejemplo n.º 2
0
 def POST(self, _phone, _password):
     user = User()
     try:
         user.login(_phone, _password)
         token = user.get_session_token()
         trueName = user.get("nickName")
         web.setcookie('session', token)
         return {'status': 0, 'token': token, 'name': trueName}
     except leancloud.errors.LeanCloudError:
         return {'status': 1, 'message': 'login failed'}
Ejemplo n.º 3
0
 def h(*a, **b):
     ck = web.cookies()
     tokenName = 'session'
     token = ck.get(tokenName, None) or web.input().get(tokenName, '!')
     try:
         user = User().become(token)
         web.ctx.userId = user.id
         web.ctx.userName = user.get("nickName")
         return g(*a, **b)
     except leancloud.errors.LeanCloudError as e:
         if isRedirectOn:
             web.seeother("/login.html", True)
         return {'code': e.code, 'message': e.error}
Ejemplo n.º 4
0
 def POST(self):
     it = web.input()
     try:
         word = it.get('word')
         context = it.get('context')
         expl = it.get('expl')
         token = it.get('token')
         now = int(it.get('now', time.time()))
         user = User().become(token)
     except leancloud.errors.LeanCloudError:
         return {'code': 1}
     delay = math.exp(math.log(30) / (user.get('avgGetCount') - 0.1)) * 86400
     recall_day = int((now + 8 * 3600 + delay) / 86400)
     obj = TryWords()
     obj.set('word', word)
     obj.set('context', context)
     obj.set('userId', user.id)
     obj.set('expl', expl)
     obj.set('delay', delay)
     obj.set('tryCount', 0)
     obj.set('recallDay', recall_day)
     obj.set('startTime', now)
     obj.save()
     return {'code': 0}
Ejemplo n.º 5
0
def test_user_become():
    existed_user = User()
    existed_user.login('user1_name', 'password')
    session_token = existed_user.get_session_token()
    user = User.become(session_token)
    assert user.get('username') == existed_user.get('username')
Ejemplo n.º 6
0
def test_user_become():
    existed_user = User()
    existed_user.login('user1_name', 'password')
    session_token = existed_user.get_session_token()
    user = User.become(session_token)
    assert user.get('username') == existed_user.get('username')
Ejemplo n.º 7
0
def test_user_become(): # type: () -> None
    existed_user = User()
    existed_user.login('user1_name', 'password')
    session_token = existed_user.session_token
    user = User.become(session_token)
    assert user.get('username') == existed_user.get('username')
Ejemplo n.º 8
0
def test_user_become():  # type: () -> None
    existed_user = User()
    existed_user.login('user1_name', 'password')
    session_token = existed_user.session_token
    user = User.become(session_token)
    assert user.get('username') == existed_user.get('username')
Ejemplo n.º 9
0
def test_user_become():  # type: () -> None
    existed_user = User()
    existed_user.login("user1_name", "password")
    session_token = existed_user.session_token
    user = User.become(session_token)
    assert user.get("username") == existed_user.get("username")