From 37e95920009120f54f2a9af0929d1b8c774b9e41 Mon Sep 17 00:00:00 2001 From: talsabagport Date: Tue, 12 Sep 2023 11:54:10 +0300 Subject: [PATCH 1/2] Fix pop bug --- lambda_function/port/client.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lambda_function/port/client.py b/lambda_function/port/client.py index 8a9f4c4..95621ea 100644 --- a/lambda_function/port/client.py +++ b/lambda_function/port/client.py @@ -1,3 +1,4 @@ +import copy import logging import urllib.parse @@ -24,20 +25,22 @@ def get_token(self, client_id, client_secret): return token_response.json()["accessToken"] def upsert_entity(self, entity): - blueprint_id = entity.pop("blueprint") + entity_to_upsert = copy.deepcopy(entity) + blueprint_id = entity_to_upsert.pop("blueprint") logger.info( - f"Upsert entity: {entity.get('identifier')} of blueprint: {blueprint_id}" + f"Upsert entity: {entity_to_upsert.get('identifier')} of blueprint: {blueprint_id}" ) requests.post( f'{self.api_url}/blueprints/{urllib.parse.quote(blueprint_id, safe="")}/entities', - json=entity, + json=entity_to_upsert, headers=self.headers, params={"upsert": "true", "merge": "true"}, ).raise_for_status() def delete_entity(self, entity): - blueprint_id = entity.pop("blueprint") - entity_id = entity.pop("identifier") + entity_to_delete = copy.deepcopy(entity) + blueprint_id = entity_to_delete.pop("blueprint") + entity_id = entity_to_delete.pop("identifier") logger.info(f"Delete entity: {entity_id} of blueprint: {blueprint_id}") requests.delete( f'{self.api_url}/blueprints/{urllib.parse.quote(blueprint_id, safe="")}/entities/{urllib.parse.quote(entity_id, safe="")}', From 43630da2042140ef8f9747bd2864d5669b742e11 Mon Sep 17 00:00:00 2001 From: talsabagport Date: Tue, 12 Sep 2023 12:05:16 +0300 Subject: [PATCH 2/2] Fix pop bug --- lambda_function/port/client.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/lambda_function/port/client.py b/lambda_function/port/client.py index 95621ea..23dd590 100644 --- a/lambda_function/port/client.py +++ b/lambda_function/port/client.py @@ -1,4 +1,3 @@ -import copy import logging import urllib.parse @@ -25,8 +24,8 @@ def get_token(self, client_id, client_secret): return token_response.json()["accessToken"] def upsert_entity(self, entity): - entity_to_upsert = copy.deepcopy(entity) - blueprint_id = entity_to_upsert.pop("blueprint") + blueprint_id = entity.get("blueprint") + entity_to_upsert = {k: v for k, v in entity.items() if k != 'blueprint'} logger.info( f"Upsert entity: {entity_to_upsert.get('identifier')} of blueprint: {blueprint_id}" ) @@ -38,9 +37,8 @@ def upsert_entity(self, entity): ).raise_for_status() def delete_entity(self, entity): - entity_to_delete = copy.deepcopy(entity) - blueprint_id = entity_to_delete.pop("blueprint") - entity_id = entity_to_delete.pop("identifier") + blueprint_id = entity.get("blueprint") + entity_id = entity.get("identifier") logger.info(f"Delete entity: {entity_id} of blueprint: {blueprint_id}") requests.delete( f'{self.api_url}/blueprints/{urllib.parse.quote(blueprint_id, safe="")}/entities/{urllib.parse.quote(entity_id, safe="")}',