Skip to content
Snippets Groups Projects
Commit cd65a836 authored by Christian Boettcher's avatar Christian Boettcher
Browse files

consistently use json-string as intermediate format

parent bbfe0c77
No related branches found
No related tags found
No related merge requests found
...@@ -3,8 +3,9 @@ from urllib.parse import urljoin ...@@ -3,8 +3,9 @@ from urllib.parse import urljoin
from airflow.secrets import BaseSecretsBackend from airflow.secrets import BaseSecretsBackend
import requests import requests
import logging import logging
import json
from datacat_integration.connection import DataCatConnection, get_connection_from_entry from datacat_integration.connection import DataCatConnection, DataCatalogEntry, get_connection_from_entry
connection_backend_type = "airflow_connections" connection_backend_type = "airflow_connections"
...@@ -42,7 +43,7 @@ class DataCatConnectionWithSecrets(DataCatConnection): ...@@ -42,7 +43,7 @@ class DataCatConnectionWithSecrets(DataCatConnection):
url = urljoin(self.url, f"{datacat_type}/{oid}/secrets") url = urljoin(self.url, f"{datacat_type}/{oid}/secrets")
response = requests.get(url, headers=headers) response = requests.get(url, headers=headers)
if response.ok: if response.ok:
return response.json() return json.dumps(response.json())
else: else:
raise ConnectionError(response.text) raise ConnectionError(response.text)
...@@ -55,7 +56,7 @@ class DataCatConnectionWithSecrets(DataCatConnection): ...@@ -55,7 +56,7 @@ class DataCatConnectionWithSecrets(DataCatConnection):
url = urljoin(self.url, f"{datacat_type}/{oid}/secrets_values") url = urljoin(self.url, f"{datacat_type}/{oid}/secrets_values")
response = requests.get(url, headers=headers) response = requests.get(url, headers=headers)
if response.ok: if response.ok:
return response.json() return json.dumps(response.json())
else: else:
raise ConnectionError(response.text) raise ConnectionError(response.text)
...@@ -68,7 +69,7 @@ class DataCatConnectionWithSecrets(DataCatConnection): ...@@ -68,7 +69,7 @@ class DataCatConnectionWithSecrets(DataCatConnection):
url = urljoin(self.url, f"{datacat_type}/{oid}/secrets/{key}") url = urljoin(self.url, f"{datacat_type}/{oid}/secrets/{key}")
response = requests.get(url, headers=headers) response = requests.get(url, headers=headers)
if response.ok: if response.ok:
return response.json() return json.dumps(response.json())
else: else:
raise ConnectionError(response.text) raise ConnectionError(response.text)
...@@ -87,7 +88,7 @@ class DatacatSecretsBackend(BaseSecretsBackend): ...@@ -87,7 +88,7 @@ class DatacatSecretsBackend(BaseSecretsBackend):
log.debug(f"Get connection: {conn_id}") log.debug(f"Get connection: {conn_id}")
secrets_conn = DataCatConnectionWithSecrets(self.url, self.user, self.password) secrets_conn = DataCatConnectionWithSecrets(self.url, self.user, self.password)
data = secrets_conn.get_entry(connection_backend_type, conn_id) data = DataCatalogEntry.from_json(secrets_conn.get_entry(connection_backend_type, conn_id)).__dict__
secrets = secrets_conn.get_all_secret_key_value(connection_backend_type, conn_id) secrets = json.loads(secrets_conn.get_all_secret_key_value(connection_backend_type, conn_id))
conn = get_connection_with_secrets_from_entry(data, secrets, connection_backend_type, conn_id) conn = get_connection_with_secrets_from_entry(data, secrets, connection_backend_type, conn_id)
return conn return conn
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment