| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- class UserMixin:
- """
- This provides default implementations for the methods that Flask-Login
- expects user objects to have.
- """
- # Python 3 implicitly set __hash__ to None if we override __eq__
- # We set it back to its default implementation
- __hash__ = object.__hash__
- @property
- def is_active(self):
- return True
- @property
- def is_authenticated(self):
- return self.is_active
- @property
- def is_anonymous(self):
- return False
- def get_id(self):
- try:
- return str(self.id)
- except AttributeError:
- raise NotImplementedError("No `id` attribute - override `get_id`") from None
- def __eq__(self, other):
- """
- Checks the equality of two `UserMixin` objects using `get_id`.
- """
- if isinstance(other, UserMixin):
- return self.get_id() == other.get_id()
- return NotImplemented
- def __ne__(self, other):
- """
- Checks the inequality of two `UserMixin` objects using `get_id`.
- """
- equal = self.__eq__(other)
- if equal is NotImplemented:
- return NotImplemented
- return not equal
- class AnonymousUserMixin:
- """
- This is the default object for representing an anonymous user.
- """
- @property
- def is_authenticated(self):
- return False
- @property
- def is_active(self):
- return False
- @property
- def is_anonymous(self):
- return True
- def get_id(self):
- return
|