Example #1
0
 def login(self, username, password):
     '''
     Login to server and receive session token. Based on user
     preferences, we will invalidate session token when needed.
     
     If for some reason the server does not respond (times out),
     we can login offline. However, we will be severely limited in
     what actions we can perform.
     
     We also need to make sure our own (stale) session token is
     dead.
     '''
     auth_handler = Authentication(username, password)
     user = User(self.db.users, username)
     try:
         token = auth_handler.signin()
         self.user = user.set_token(token)
     except InvalidCredentials as e:
         print("Something wrong with username/password")
         raise
     except ServerTimeout:
         self.user = user.signin(password)