X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=juju%2Fclient%2Fconnection.py;h=cdd93d98f5d65cbba57628806e288f3844a11e88;hb=370083ea917098f0913c52d13294311783e33164;hp=aea1a1c78d9c6a1ef0638b9fb1867820096f5065;hpb=1bd3bd858aaf21ecccc64134c536d105c10b0d7e;p=osm%2FN2VC.git diff --git a/juju/client/connection.py b/juju/client/connection.py index aea1a1c..cdd93d9 100644 --- a/juju/client/connection.py +++ b/juju/client/connection.py @@ -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):