From 79e361b65faae9ec8549b3bf27ebb224dc6ef398 Mon Sep 17 00:00:00 2001
From: inso <insomniak.fr@gmaiL.com>
Date: Tue, 20 Feb 2018 13:53:31 +0100
Subject: [PATCH] Hide big errors

---
 requirements.txt                  |  3 ++-
 src/sakia/data/connectors/node.py | 16 ++++++++++++++++
 src/sakia/main.py                 |  1 +
 3 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/requirements.txt b/requirements.txt
index 3c377eed..f5438ce2 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -8,4 +8,5 @@ pytest
 pytest-asyncio<0.6
 pyyaml
 aiohttp
-async_timeout
\ No newline at end of file
+async_timeout
+PyQt5>=5.5
\ No newline at end of file
diff --git a/src/sakia/data/connectors/node.py b/src/sakia/data/connectors/node.py
index d4a716ad..39da3cb5 100644
--- a/src/sakia/data/connectors/node.py
+++ b/src/sakia/data/connectors/node.py
@@ -118,6 +118,11 @@ class NodeConnector(QObject):
         except jsonschema.ValidationError as e:
             self._logger.debug(str(e))
             self.change_state_and_emit(Node.CORRUPTED)
+        except RuntimeError:
+            if self.session.closed:
+                pass
+            else:
+                raise
 
     async def init_session(self):
         if not self.session:
@@ -137,6 +142,7 @@ class NodeConnector(QObject):
                 closed = True
             await asyncio.sleep(0)
         await self.session.close()
+        await asyncio.sleep(0)
 
     def refresh(self, manual=False):
         """
@@ -184,6 +190,11 @@ class NodeConnector(QObject):
                     self._logger.debug(str(e))
                     self._logger.debug("Validation error")
                     self.change_state_and_emit(Node.CORRUPTED)
+                except RuntimeError:
+                    if self.session.closed:
+                        pass
+                    else:
+                        raise
                 finally:
                     self._connected['block'] = False
                     self._ws_tasks['block'] = None
@@ -308,6 +319,11 @@ class NodeConnector(QObject):
                 except jsonschema.ValidationError as e:
                     self._logger.debug(str(e))
                     self.change_state_and_emit(Node.CORRUPTED)
+                except RuntimeError:
+                    if self.session.closed:
+                        pass
+                    else:
+                        raise
                 finally:
                     self._connected['peer'] = False
                     self._ws_tasks['peer'] = None
diff --git a/src/sakia/main.py b/src/sakia/main.py
index bc7020d1..924f16ad 100755
--- a/src/sakia/main.py
+++ b/src/sakia/main.py
@@ -88,6 +88,7 @@ def main():
     sakia.setStyle('Fusion')
     loop = QSelectorEventLoop(sakia)
     loop.set_exception_handler(async_exception_handler)
+    #loop.set_debug(True)
     asyncio.set_event_loop(loop)
 
     with loop:
-- 
GitLab