set timestamps on startup
authorthomasv <thomasv@gitorious>
Mon, 5 Nov 2012 09:26:28 +0000 (10:26 +0100)
committerthomasv <thomasv@gitorious>
Mon, 5 Nov 2012 09:26:28 +0000 (10:26 +0100)
lib/interface.py
lib/verifier.py
lib/wallet.py

index cb6bc7e..77c5ee2 100644 (file)
@@ -75,7 +75,7 @@ class Interface(threading.Thread):
     def queue_json_response(self, c):
 
         # uncomment to debug
-        print_error( "<--",c )
+        # print_error( "<--",c )
 
         msg_id = c.get('id')
         error = c.get('error')
index 90e987c..5249079 100644 (file)
@@ -347,7 +347,7 @@ class WalletVerifier(threading.Thread):
     def get_timestamp(self, tx_height):
         if tx_height>0:
             header = self.read_header(tx_height)
-            timestamp = header.get('timestamp')
+            timestamp = header.get('timestamp') if header else 0
         else:
             timestamp = 1e12
         return timestamp
index fabf038..d0b2e63 100644 (file)
@@ -868,6 +868,17 @@ class Wallet:
         self.verifier = verifier
         for tx_hash in self.transactions.keys(): 
             self.verifier.add(tx_hash)
+            
+        # set the timestamp for transactions that need it
+        for l in self.history.values():
+            for tx_hash, tx_height in l:
+                tx = self.transactions.get(tx_hash)
+                if tx and not tx.get('timestamp'):
+                    timestamp = self.verifier.get_timestamp(tx_height)
+                    if timestamp:
+                        self.set_tx_timestamp(tx_hash, timestamp)
+
+
 
 
     def set_tx_timestamp(self, tx_hash, timestamp):