From 5ecbc3ddcaa4410a93966ae9e71f2d964c0bec4a Mon Sep 17 00:00:00 2001
From: Inso <insomniak.fr@gmail.com>
Date: Sun, 14 Dec 2014 18:42:58 +0100
Subject: [PATCH] Displaying sources should be better now

---
 lib/ucoinpy/api/bma/tx/__init__.py                   |  2 +-
 lib/ucoinpy/documents/transaction.py                 |  2 +-
 src/cutecoin/models/community/__init__.py            | 11 ++++++++---
 src/cutecoin/models/transaction/receivedListModel.py |  2 +-
 src/cutecoin/models/wallet/__init__.py               |  8 ++++----
 5 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/lib/ucoinpy/api/bma/tx/__init__.py b/lib/ucoinpy/api/bma/tx/__init__.py
index 384b7ff9..10ea07a5 100644
--- a/lib/ucoinpy/api/bma/tx/__init__.py
+++ b/lib/ucoinpy/api/bma/tx/__init__.py
@@ -44,4 +44,4 @@ class Sources(Tx):
 
     def __get__(self, **kwargs):
         assert self.pubkey is not None
-        return self.requests_get('/sources/%d' % self.pubkey, **kwargs).json()
+        return self.requests_get('/sources/%s' % self.pubkey, **kwargs).json()
diff --git a/lib/ucoinpy/documents/transaction.py b/lib/ucoinpy/documents/transaction.py
index 2cbdb700..251c6b89 100644
--- a/lib/ucoinpy/documents/transaction.py
+++ b/lib/ucoinpy/documents/transaction.py
@@ -265,7 +265,7 @@ class InputSource():
     @classmethod
     def from_bma(cls, bma_data):
         index = None
-        source = bma_data['source']
+        source = bma_data['type']
         number = bma_data['number']
         txhash = bma_data['fingerprint']
         amount = bma_data['amount']
diff --git a/src/cutecoin/models/community/__init__.py b/src/cutecoin/models/community/__init__.py
index 287a0ae7..3df20950 100644
--- a/src/cutecoin/models/community/__init__.py
+++ b/src/cutecoin/models/community/__init__.py
@@ -68,15 +68,20 @@ class Community(object):
         return members
 
     def request(self, request, req_args={}, get_args={}):
+        error = None
+        logging.debug("Nodes : {0}".format(self.nodes))
         for node in self.nodes:
             logging.debug("Trying to connect to : " + node.get_text())
             req = request(node.connection_handler(), **req_args)
             try:
                 data = req.get(**get_args)
                 return data
-            except:
-                continue
-        return None
+            except ValueError as e:
+                error = str(e)
+                logging.debug("Error : {0}".format(error))
+
+        logging.debug("Leaving on error...")
+        return error
 
     def post(self, request, req_args={}, post_args={}):
         error = None
diff --git a/src/cutecoin/models/transaction/receivedListModel.py b/src/cutecoin/models/transaction/receivedListModel.py
index 152a64c3..4c87de05 100644
--- a/src/cutecoin/models/transaction/receivedListModel.py
+++ b/src/cutecoin/models/transaction/receivedListModel.py
@@ -22,7 +22,7 @@ class ReceivedListModel(QAbstractListModel):
         self.sources = account.sources()
 
     def rowCount(self, parent):
-        return len(self.transactions)
+        return len(self.sources)
 
     def data(self, index, role):
         if role == Qt.DisplayRole:
diff --git a/src/cutecoin/models/wallet/__init__.py b/src/cutecoin/models/wallet/__init__.py
index 993f654c..dd94d5b1 100644
--- a/src/cutecoin/models/wallet/__init__.py
+++ b/src/cutecoin/models/wallet/__init__.py
@@ -67,10 +67,10 @@ class Wallet(object):
 
     def sources(self, community):
         data = community.request(bma.tx.Sources, req_args={'pubkey': self.pubkey})
-        sources = []
-        for s in data:
-            sources.append(InputSource.from_bma(s))
-        return sources
+        tx = []
+        for s in data['sources']:
+            tx.append(InputSource.from_bma(s))
+        return tx
 
     #TODO: Build a cache of latest transactions
     def transactions_sent(self):
-- 
GitLab