f3855fc3127fcbb39f169d6e8cff7f2dd0f3a7d2
[pygrader.git] / pygrader / model / person.py
1 # Copyright
2
3 class Person (object):
4     def __init__(self, name, emails=None, pgp_key=None, aliases=None,
5                  groups=None):
6         self.name = name
7         self.emails = emails
8         self.pgp_key = pgp_key
9         if not aliases:
10             aliases = [self.name]
11         self.aliases = aliases
12         self.groups = groups
13
14     def __str__(self):
15         return '<{} {}>'.format(type(self).__name__, self.name)
16
17     def __lt__(self, other):
18         return self.name < other.name
19
20     def alias(self):
21         """Return a good alias for direct address
22         """
23         try:
24             return self.aliases[0]
25         except KeyError:
26             return self.name