From aab1235ef0e5c3a167595af6872a1d1d15999add Mon Sep 17 00:00:00 2001
From: inso <insomniak.fr@gmaiL.com>
Date: Tue, 13 Mar 2018 08:12:06 +0100
Subject: [PATCH] Fix open in browser with no bma

---
 src/sakia/gui/navigation/network/controller.py | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/sakia/gui/navigation/network/controller.py b/src/sakia/gui/navigation/network/controller.py
index e391650e..5e5b61d5 100644
--- a/src/sakia/gui/navigation/network/controller.py
+++ b/src/sakia/gui/navigation/network/controller.py
@@ -4,6 +4,7 @@ from PyQt5.QtWidgets import QAction, QMenu
 from PyQt5.QtGui import QCursor, QDesktopServices
 from PyQt5.QtCore import pyqtSlot, QUrl, QObject
 from duniterpy.api import bma
+from duniterpy.documents import BMAEndpoint
 
 
 class NetworkController(QObject):
@@ -70,7 +71,9 @@ class NetworkController(QObject):
     @pyqtSlot()
     def open_node_in_browser(self):
         node = self.sender().data()
-        conn_handler = next(node.endpoints[0].conn_handler())
-        peering_url = bma.API(conn_handler, bma.network.URL_PATH).reverse_url(conn_handler.http_scheme, '/peering')
-        url = QUrl(peering_url)
-        QDesktopServices.openUrl(url)
+        bma_endpoints = [e for e in node.endpoints if isinstance(e, BMAEndpoint)]
+        if bma_endpoints:
+            conn_handler = next(bma_endpoints[0].conn_handler())
+            peering_url = bma.API(conn_handler, bma.network.URL_PATH).reverse_url(conn_handler.http_scheme, '/peering')
+            url = QUrl(peering_url)
+            QDesktopServices.openUrl(url)
-- 
GitLab