From 8461c08e5af58d79816c9bab0ea9f3c7edc5823e Mon Sep 17 00:00:00 2001 From: Joscha Date: Tue, 10 May 2016 19:58:39 +0200 Subject: [PATCH] Remove all messages, get youngest and oldest message --- yaboli/messages.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/yaboli/messages.py b/yaboli/messages.py index 424d1c2..3db7544 100644 --- a/yaboli/messages.py +++ b/yaboli/messages.py @@ -63,6 +63,16 @@ class Messages(): if parent and mes in self.get_children(parent.id): self._by_parent[mes.parent].remove(mes) + def remove_all(self): + """ + remove_all() -> None + + Removes all messages. + """ + + self._by_id = {} + self._by_parent = {} + def get(self, mid): """ get(message_id) -> Message @@ -73,6 +83,32 @@ class Messages(): if mid in self._by_id: return self._by_id[mid] + def get_oldest(self): + """ + get_oldest() -> Message + + Returns the oldest message, if found. + """ + + oldest = None + for mid in self._by_id: + if mid < oldest: + oldest = mid + return self.get(oldest) + + def get_youngest(self): + """ + get_youngest() -> Message + + Returns the youngest message, if found. + """ + + youngest = None + for mid in self._by_id: + if mid > youngest: + youngest = mid + return self.get(youngest) + def get_parent(self, mid): """ get_parent(message_id) -> str