From 1181a8327d0ffa7f4d61b9ee7b19ccc9128ee425 Mon Sep 17 00:00:00 2001
From: Inso <insomniak.fr@gmail.com>
Date: Sat, 14 Mar 2015 15:31:16 +0100
Subject: [PATCH] Caching join date

---
 src/cutecoin/core/person.py | 5 ++---
 src/cutecoin/gui/member.py  | 7 ++++++-
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/cutecoin/core/person.py b/src/cutecoin/core/person.py
index af9bb55b..d508a10a 100644
--- a/src/cutecoin/core/person.py
+++ b/src/cutecoin/core/person.py
@@ -146,7 +146,6 @@ class Person(object):
             return person
 
     @classmethod
-    #TODO: Remove name from person, contats should not use the person class
     def from_json(cls, json_data):
         '''
         Create a person from json data
@@ -197,7 +196,7 @@ class Person(object):
                                              signature)
         raise PersonNotFoundError(self.pubkey, community.name)
 
-#TODO: Cache this data by returning only the timestamp instead of a datetime object
+    @cached
     def get_join_date(self, community):
         '''
         Get the person join date.
@@ -211,7 +210,7 @@ class Person(object):
             membership_data = None
             if len(search['memberships']) > 0:
                 membership_data = search['memberships'][0]
-                return datetime.datetime.fromtimestamp(community.get_block(membership_data['blockNumber']).mediantime).strftime("%d/%m/%Y %I:%M")
+                return community.get_block(membership_data['blockNumber']).mediantime
             else:
                 return None
         except ValueError as e:
diff --git a/src/cutecoin/gui/member.py b/src/cutecoin/gui/member.py
index d961db04..36da3fd5 100644
--- a/src/cutecoin/gui/member.py
+++ b/src/cutecoin/gui/member.py
@@ -1,5 +1,9 @@
-from cutecoin.core.graph import Graph
+
+import datetime
+
 from PyQt5.QtWidgets import QDialog
+
+from ..core.graph import Graph
 from ..gen_resources.member_uic import Ui_DialogMember
 
 
@@ -20,6 +24,7 @@ class MemberDialog(QDialog, Ui_DialogMember):
         self.label_uid.setText(person.name)
 
         join_date = self.person.get_join_date(self.community)
+        join_date = datetime.datetime.fromtimestamp(join_date).strftime("%d/%m/%Y %I:%M")
         if join_date is None:
             join_date = 'not a member'
 
-- 
GitLab