From 62c6372db5bd3c2113faf49191737218a759506c Mon Sep 17 00:00:00 2001 From: Fredrik Wendt Date: Wed, 9 Jun 2010 18:13:05 +0100 Subject: [PATCH] Friend cleaned up Signed-off-by: Fredrik Wendt --- package/src/org/maemo/hermes/engine/friend.py | 47 +++++++++++++------------ 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/package/src/org/maemo/hermes/engine/friend.py b/package/src/org/maemo/hermes/engine/friend.py index 6bd71f2..ff4cd05 100644 --- a/package/src/org/maemo/hermes/engine/friend.py +++ b/package/src/org/maemo/hermes/engine/friend.py @@ -12,6 +12,9 @@ class Friend(): self._multi_attributes = {} self._source = source + def __getitem__(self, key): + return self._safe_get(key) + def __unicode__(self): return self.__repr__() @@ -20,6 +23,12 @@ class Friend(): # public accessors ----------------- + def add_url(self, url): + self._add('url', url) + + def get_birthday_date(self): + return self._safe_get('bday') + def get_contact(self): return self._safe_get('contact') @@ -39,9 +48,9 @@ class Friend(): def get_photo_url(self): return self._safe_get('photo-url') - def add_url(self, url): - self._add('url', url) - + def has_birthday_date(self): + return self._has('bday') + def is_empty(self): for a in self._attributes: return False @@ -49,9 +58,6 @@ class Friend(): return False return True - def has_birthday_date(self): - return self._has('bday') - def set_name(self, name): self._set('fn', name) @@ -67,7 +73,7 @@ class Friend(): def set_photo_url(self, url): self._set('photo-url', url) - def update(self, other_friend): + def update(self, other_friend, overwrite=False): """ Overwrites any attributes in this friend, with attributes from other_friend """ @@ -98,15 +104,6 @@ class Friend(): # private helpers ----------------------- # - def _if_defined(self, key, callback): - if self._attributes.has_key(key): - callback(self._attributes[key]) - - def _set(self, key, value): - if value is not None: -# print "%s SET %s to %s" % (self, key, value) - self._attributes[key] = value - def _add(self, key, value): if value is not None: if not self._multi_attributes.has_key(key): @@ -114,9 +111,6 @@ class Friend(): # print "%s ADD %s to %s" % (self, key, value) self._multi_attributes[key].append(value) - def _has(self, key): - return self._attributes.has_key(key) or self._multi_attributes.has_key(key) - def _contains(self, key, value): if self._attributes.has_key(key): return value == self._attributes[key] @@ -124,10 +118,19 @@ class Friend(): return value in self._multi_attributes[key] return False - def __getitem__(self, key): - return self._safe_get(key) - + def _if_defined(self, key, callback): + if self._attributes.has_key(key): + callback(self._attributes[key]) + + def _has(self, key): + return self._attributes.has_key(key) or self._multi_attributes.has_key(key) + def _safe_get(self, key): try: return self._attributes[key] except: return None + def _set(self, key, value): + if value is not None: +# print "%s SET %s to %s" % (self, key, value) + self._attributes[key] = value + -- 1.7.9.5