X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=juju%2Fclient%2Fconnection.py;h=cdd93d98f5d65cbba57628806e288f3844a11e88;hb=c37ca05574c16003eb129e904397adb365551e51;hp=69ac4253235fc6fdf2714034ecd613defffb7c18;hpb=2ed7314a9ea1240883655bc521b6e27f149aa485;p=osm%2FN2VC.git diff --git a/juju/client/connection.py b/juju/client/connection.py index 69ac425..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) @@ -76,7 +83,7 @@ class Connection: #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):