Esempio n. 1
0
 def current_user(self):
   """Returns the logged-in User object."""
   u = users.get_current_user()
   if u:
     key_name = User.key_name_from_email(u.email())
     user = memcache.get(key_name)
     if user:
       if not user.banned:
         return user
     try:
       # User models are keyed by user email
       user = User.get_or_insert(key_name=key_name, user=u)
       user.invalidate() # cache it
       if not user.banned:
         return user
     except CapabilityDisabledError:
       pass
Esempio n. 2
0
 def get_user(self, required=False):
   """Returns the User object given by the URL."""
   if self.response_dict().user:
     return self.response_dict().user
   key = self.url_arg(0)
   if key:
     user = None
     try:
       user = User.get(key)
     except db.BadKeyError:
       pass
     if not user:
       email = urllib.unquote(key)
       key_name = User.key_name_from_email(email)
       user = User.get_by_key_name(key_name)
     if user:
       self.response_dict(user = user) # for the template
       return user
   if required:
     raise NotFoundException("user not found")