Source code for wheezy.security.principal

""" ``principal`` module.
"""


[docs]class Principal(object): """Container of user specific security information""" def __init__(self, id="", roles=(), alias="", extra=""): self.id = id self.roles = roles self.alias = alias self.extra = extra
[docs] def dump(self): """Dump principal object.""" return "\x1f".join( [self.id, ";".join(self.roles), self.alias, self.extra] )
[docs] @classmethod def load(cls, s): """Load principal object from string.""" id, roles, alias, extra = s.split("\x1f", 3) return cls(id, tuple(roles.split(";")), alias, extra)