diff --git a/src/tools/common/data_objects.py b/src/tools/common/data_objects.py index 43c6534d..1aca21ad 100644 --- a/src/tools/common/data_objects.py +++ b/src/tools/common/data_objects.py @@ -162,3 +162,32 @@ class BlogItems(object): def __contains__(self, item): return self.items.__contains__(item) + + +class Identity(object): + + def __init__(self, jid_str, data=None): + self.jid_str = jid_str + self.data = data if data is not None else {} + + @property + def nick(self): + return self.data.get(u'nick') + + +class Identities(object): + + def __init__(self): + self.identities = {} + + def __getitem__(self, jid_str): + try: + return self.identities[jid_str] + except KeyError: + return None + + def __setitem__(self, jid_str, data): + self.identities[jid_str] = Identity(jid_str, data) + + def __contains__(self, jid_str): + return jid_str in self.identities