X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=modules%2Flibjuju%2Fjuju%2Fclient%2Fconnector.py;h=a30adbffa7811503421fff1ff81c4cf4b4b284fa;hp=64fbe4438692b8959117d4ee6f675efa697234b7;hb=29ad6453fb8cdece73b8c2f623cf81d5d730982d;hpb=c3e6c2ec9a1fddfc8e9bd31509b366e633b6d99e diff --git a/modules/libjuju/juju/client/connector.py b/modules/libjuju/juju/client/connector.py index 64fbe44..a30adbf 100644 --- a/modules/libjuju/juju/client/connector.py +++ b/modules/libjuju/juju/client/connector.py @@ -4,6 +4,7 @@ import copy import macaroonbakery.httpbakery as httpbakery from juju.client.connection import Connection +from juju.client.gocookies import go_to_py_cookie, GoCookieJar from juju.client.jujudata import FileJujuData from juju.errors import JujuConnectionError, JujuError @@ -56,6 +57,14 @@ class Connector: kwargs.setdefault('loop', self.loop) kwargs.setdefault('max_frame_size', self.max_frame_size) kwargs.setdefault('bakery_client', self.bakery_client) + if 'macaroons' in kwargs: + if not kwargs['bakery_client']: + kwargs['bakery_client'] = httpbakery.Client() + if not kwargs['bakery_client'].cookies: + kwargs['bakery_client'].cookies = GoCookieJar() + jar = kwargs['bakery_client'].cookies + for macaroon in kwargs.pop('macaroons'): + jar.set_cookie(go_to_py_cookie(macaroon)) self._connection = await Connection.connect(**kwargs) async def disconnect(self):