From 4dee63d1059b5b40b73b399cbcaf631b98e24f61 Mon Sep 17 00:00:00 2001 From: Goffi Date: Mon, 22 May 2017 23:58:26 +0200 Subject: [PATCH] core (tools/common/data_objects): added classes to handle Identities --- src/tools/common/data_objects.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) 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