Add support for deploying bundles
[osm/N2VC.git] / juju / client / connection.py
index aea1a1c..cdd93d9 100644 (file)
@@ -1,4 +1,3 @@
-import asyncio
 import io
 import json
 import logging
@@ -12,6 +11,8 @@ import websockets
 
 import yaml
 
+from juju.errors import JujuAPIError
+
 log = logging.getLogger("websocket")
 
 
@@ -42,6 +43,12 @@ class Connection:
         self.ws = None
         self.facades = {}
 
+    @property
+    def is_open(self):
+        if self.ws:
+            return self.ws.open
+        return False
+
     def _get_ssl(self, cert):
         return ssl.create_default_context(
             purpose=ssl.Purpose.CLIENT_AUTH, cadata=cert)
@@ -73,9 +80,10 @@ class Connection:
         outgoing = json.dumps(msg, indent=2, cls=encoder)
         await self.ws.send(outgoing)
         result = await self.recv()
-        log.debug("send %s got %s", msg, result)
+        #log.debug("Send: %s", outgoing)
+        #log.debug("Recv: %s", result)
         if result and 'error' in result:
-            raise RuntimeError(result)
+            raise JujuAPIError(result)
         return result
 
     async def clone(self):