From 33225528562658d1fdd41c3739506d5089e2aaca Mon Sep 17 00:00:00 2001 From: Jan Klopper Date: Mon, 22 Jul 2024 19:20:44 +0200 Subject: [PATCH 01/12] refactor ooi details --- rocky/rocky/views/mixins.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/rocky/rocky/views/mixins.py b/rocky/rocky/views/mixins.py index 3b7871380dd..74f32aa0a64 100644 --- a/rocky/rocky/views/mixins.py +++ b/rocky/rocky/views/mixins.py @@ -103,7 +103,11 @@ def get_origins( declarations: list[OriginData] = [] observations: list[OriginData] = [] inferences: list[OriginData] = [] - results = declarations, observations, inferences + results = { + "declarations": declarations, + "observations": observations, + "inferences": inferences + } try: origins = self.octopoes_api_connector.list_origins(self.observed_at, result=reference) From e3e386a94d43c8dadc98f2bfed87c0212de1f42a Mon Sep 17 00:00:00 2001 From: Jan Klopper Date: Mon, 22 Jul 2024 19:26:29 +0200 Subject: [PATCH 02/12] use new dict in ooi_detail.py --- rocky/rocky/views/ooi_detail.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/rocky/rocky/views/ooi_detail.py b/rocky/rocky/views/ooi_detail.py index fac902817f7..fb086b97d28 100644 --- a/rocky/rocky/views/ooi_detail.py +++ b/rocky/rocky/views/ooi_detail.py @@ -93,10 +93,10 @@ def get_context_data(self, **kwargs): context["boefjes"] = [boefje for boefje in boefjes if boefje.scan_level.value <= max_level] context["ooi"] = self.ooi - declarations, observations, inferences = self.get_origins(self.ooi.reference, self.organization) + context.update(self.get_origins(self.ooi.reference, self.organization)) inference_params = self.octopoes_api_connector.list_origin_parameters( - {inference.origin.id for inference in inferences}, + {inference.origin.id for inference in context["inferences"]}, self.observed_at, ) inference_params_per_inference = defaultdict(list) @@ -104,13 +104,9 @@ def get_context_data(self, **kwargs): inference_params_per_inference[inference_param.origin_id].append(inference_param) inference_origin_params: list[tuple] = [] - for inference in inferences: + for inference in context["inferences"]: inference_origin_params.append((inference, inference_params_per_inference[inference.origin.id])) - context["declarations"] = declarations - - context["observations"] = observations - context["inferences"] = inferences context["inference_origin_params"] = inference_origin_params context["member"] = self.organization_member From 2bf10d3e766a9c316d834fcab4bde92cd5da86ed Mon Sep 17 00:00:00 2001 From: Jan Klopper Date: Mon, 22 Jul 2024 19:29:56 +0200 Subject: [PATCH 03/12] Update mixins.py --- rocky/rocky/views/mixins.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocky/rocky/views/mixins.py b/rocky/rocky/views/mixins.py index 74f32aa0a64..75c2b697445 100644 --- a/rocky/rocky/views/mixins.py +++ b/rocky/rocky/views/mixins.py @@ -99,7 +99,7 @@ def get_origins( self, reference: Reference, organization: Organization, - ) -> tuple[list[OriginData], list[OriginData], list[OriginData]]: + ) -> Dict[str: list[OriginData]]: declarations: list[OriginData] = [] observations: list[OriginData] = [] inferences: list[OriginData] = [] From 0ef4239366a170ea6143904e95f986ff0b91f13b Mon Sep 17 00:00:00 2001 From: Jan Klopper Date: Mon, 22 Jul 2024 19:30:46 +0200 Subject: [PATCH 04/12] Update mixins.py --- rocky/rocky/views/mixins.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocky/rocky/views/mixins.py b/rocky/rocky/views/mixins.py index 75c2b697445..1f3d0eeb255 100644 --- a/rocky/rocky/views/mixins.py +++ b/rocky/rocky/views/mixins.py @@ -99,7 +99,7 @@ def get_origins( self, reference: Reference, organization: Organization, - ) -> Dict[str: list[OriginData]]: + ) -> Dict[str, list[OriginData]]: declarations: list[OriginData] = [] observations: list[OriginData] = [] inferences: list[OriginData] = [] From 033cf10cdda10415226391fd0bd6a2ec38398d81 Mon Sep 17 00:00:00 2001 From: Jan Klopper Date: Mon, 22 Jul 2024 21:27:49 +0200 Subject: [PATCH 05/12] lint mixins.py --- rocky/rocky/views/mixins.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/rocky/rocky/views/mixins.py b/rocky/rocky/views/mixins.py index 1f3d0eeb255..3c360a05444 100644 --- a/rocky/rocky/views/mixins.py +++ b/rocky/rocky/views/mixins.py @@ -103,11 +103,7 @@ def get_origins( declarations: list[OriginData] = [] observations: list[OriginData] = [] inferences: list[OriginData] = [] - results = { - "declarations": declarations, - "observations": observations, - "inferences": inferences - } + results = {"declarations": declarations, "observations": observations, "inferences": inferences} try: origins = self.octopoes_api_connector.list_origins(self.observed_at, result=reference) From abf2e0ab1c490c000830df9021006d31813f08f3 Mon Sep 17 00:00:00 2001 From: Jan Klopper Date: Mon, 22 Jul 2024 21:33:39 +0200 Subject: [PATCH 06/12] import Dict from typinh --- rocky/rocky/views/mixins.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rocky/rocky/views/mixins.py b/rocky/rocky/views/mixins.py index 3c360a05444..4f8f7da8b00 100644 --- a/rocky/rocky/views/mixins.py +++ b/rocky/rocky/views/mixins.py @@ -5,6 +5,9 @@ from operator import attrgetter import structlog + +from typing import Dict + from account.mixins import OrganizationView from django.contrib import messages from django.http import Http404, HttpRequest From 279518572f237b23ba4e501280a2253fbbf27e41 Mon Sep 17 00:00:00 2001 From: Jan Klopper Date: Tue, 23 Jul 2024 02:30:02 +0200 Subject: [PATCH 07/12] linting mixins.py --- rocky/rocky/views/mixins.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/rocky/rocky/views/mixins.py b/rocky/rocky/views/mixins.py index 4f8f7da8b00..95104f7c9c1 100644 --- a/rocky/rocky/views/mixins.py +++ b/rocky/rocky/views/mixins.py @@ -6,8 +6,6 @@ import structlog -from typing import Dict - from account.mixins import OrganizationView from django.contrib import messages from django.http import Http404, HttpRequest @@ -102,7 +100,7 @@ def get_origins( self, reference: Reference, organization: Organization, - ) -> Dict[str, list[OriginData]]: + ) -> dict[str, list[OriginData]]: declarations: list[OriginData] = [] observations: list[OriginData] = [] inferences: list[OriginData] = [] From 5a627466652c06b269d536f008b27428f1829b7a Mon Sep 17 00:00:00 2001 From: Jan Klopper Date: Tue, 23 Jul 2024 10:02:08 +0200 Subject: [PATCH 08/12] Update mixins.py --- rocky/rocky/views/mixins.py | 1 - 1 file changed, 1 deletion(-) diff --git a/rocky/rocky/views/mixins.py b/rocky/rocky/views/mixins.py index 95104f7c9c1..6a8061ce73d 100644 --- a/rocky/rocky/views/mixins.py +++ b/rocky/rocky/views/mixins.py @@ -5,7 +5,6 @@ from operator import attrgetter import structlog - from account.mixins import OrganizationView from django.contrib import messages from django.http import Http404, HttpRequest From 37b3ffd6abcff4bf116c78b00d8e4c6754e7a553 Mon Sep 17 00:00:00 2001 From: Jan Klopper Date: Tue, 23 Jul 2024 17:00:14 +0200 Subject: [PATCH 09/12] Update mixins.py --- rocky/rocky/views/mixins.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/rocky/rocky/views/mixins.py b/rocky/rocky/views/mixins.py index 6a8061ce73d..e754c6c5662 100644 --- a/rocky/rocky/views/mixins.py +++ b/rocky/rocky/views/mixins.py @@ -18,6 +18,7 @@ from tools.models import Organization from tools.ooi_helpers import get_knowledge_base_data_for_ooi_store from tools.view_helpers import convert_date_to_datetime, get_ooi_url +from typing import TypedDict from octopoes.connector import ObjectNotFoundException from octopoes.connector.octopoes import OctopoesAPIConnector @@ -47,6 +48,12 @@ class OriginData(BaseModel): params: dict[str, str] | None = None +class Origins(TypedDict): + declarations: list[OriginData] + observations: list[OriginData] + inferences: list[OriginData] + + class OOIAttributeError(AttributeError): pass @@ -99,11 +106,11 @@ def get_origins( self, reference: Reference, organization: Organization, - ) -> dict[str, list[OriginData]]: + ) -> Origins: declarations: list[OriginData] = [] observations: list[OriginData] = [] inferences: list[OriginData] = [] - results = {"declarations": declarations, "observations": observations, "inferences": inferences} + results = Origins({"declarations": declarations, "observations": observations, "inferences": inferences}) try: origins = self.octopoes_api_connector.list_origins(self.observed_at, result=reference) From defc07dde91d64d26c194dad2951eb6c74f37cdb Mon Sep 17 00:00:00 2001 From: Jan Klopper Date: Tue, 23 Jul 2024 17:04:13 +0200 Subject: [PATCH 10/12] Update mixins.py --- rocky/rocky/views/mixins.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocky/rocky/views/mixins.py b/rocky/rocky/views/mixins.py index e754c6c5662..e04f9e2a9ad 100644 --- a/rocky/rocky/views/mixins.py +++ b/rocky/rocky/views/mixins.py @@ -3,6 +3,7 @@ from datetime import datetime, timezone from functools import cached_property from operator import attrgetter +from typing import TypedDict import structlog from account.mixins import OrganizationView @@ -18,7 +19,6 @@ from tools.models import Organization from tools.ooi_helpers import get_knowledge_base_data_for_ooi_store from tools.view_helpers import convert_date_to_datetime, get_ooi_url -from typing import TypedDict from octopoes.connector import ObjectNotFoundException from octopoes.connector.octopoes import OctopoesAPIConnector From b7ec6034aab76b7a9488b72fbfc109de9323e295 Mon Sep 17 00:00:00 2001 From: Jan Klopper Date: Wed, 24 Jul 2024 11:06:02 +0200 Subject: [PATCH 11/12] Update rocky/rocky/views/mixins.py Co-authored-by: ammar92 --- rocky/rocky/views/mixins.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocky/rocky/views/mixins.py b/rocky/rocky/views/mixins.py index e04f9e2a9ad..83d323018f2 100644 --- a/rocky/rocky/views/mixins.py +++ b/rocky/rocky/views/mixins.py @@ -110,7 +110,7 @@ def get_origins( declarations: list[OriginData] = [] observations: list[OriginData] = [] inferences: list[OriginData] = [] - results = Origins({"declarations": declarations, "observations": observations, "inferences": inferences}) + results = {"declarations": declarations, "observations": observations, "inferences": inferences} try: origins = self.octopoes_api_connector.list_origins(self.observed_at, result=reference) From 42cafee65a6a4fb27c2f30d3df4c026856c84227 Mon Sep 17 00:00:00 2001 From: Ammar Date: Wed, 24 Jul 2024 12:31:47 +0200 Subject: [PATCH 12/12] Fixed type hint --- rocky/rocky/views/mixins.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocky/rocky/views/mixins.py b/rocky/rocky/views/mixins.py index 83d323018f2..2a21b60a5f2 100644 --- a/rocky/rocky/views/mixins.py +++ b/rocky/rocky/views/mixins.py @@ -110,7 +110,7 @@ def get_origins( declarations: list[OriginData] = [] observations: list[OriginData] = [] inferences: list[OriginData] = [] - results = {"declarations": declarations, "observations": observations, "inferences": inferences} + results: Origins = {"declarations": declarations, "observations": observations, "inferences": inferences} try: origins = self.octopoes_api_connector.list_origins(self.observed_at, result=reference)