From 444a99a22bb8de3670371c75104aed11830989ef Mon Sep 17 00:00:00 2001 From: Sebdraven Date: Fri, 1 Dec 2023 15:32:43 +0100 Subject: [PATCH 1/7] Update observable.py --- core/schemas/observable.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/schemas/observable.py b/core/schemas/observable.py index abddc8059..63ce33bd1 100644 --- a/core/schemas/observable.py +++ b/core/schemas/observable.py @@ -89,7 +89,7 @@ def add_text(cls, text: str, tags: list[str] = []) -> "Observable": return observable def add_context( - self, source: str, context: dict, skip_compare: set = set() + self, source: str, context: dict={}, skip_compare: set = set() ) -> "Observable": """Adds context to an observable.""" compare_fields = set(context.keys()) - skip_compare - {"source"} From 61b83a8ea8c4266104fe125871aed18d441b97e1 Mon Sep 17 00:00:00 2001 From: Sebdraven Date: Fri, 1 Dec 2023 15:50:55 +0100 Subject: [PATCH 2/7] Update observable.py --- core/schemas/observable.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/schemas/observable.py b/core/schemas/observable.py index 63ce33bd1..1e4f727d2 100644 --- a/core/schemas/observable.py +++ b/core/schemas/observable.py @@ -89,7 +89,7 @@ def add_text(cls, text: str, tags: list[str] = []) -> "Observable": return observable def add_context( - self, source: str, context: dict={}, skip_compare: set = set() + self, source: str, context: dict | None = None, skip_compare: set | None = None ) -> "Observable": """Adds context to an observable.""" compare_fields = set(context.keys()) - skip_compare - {"source"} From 003080e5344574d8aaa2606f483ccce4bdb3c992 Mon Sep 17 00:00:00 2001 From: Sebdraven Date: Fri, 1 Dec 2023 15:59:47 +0100 Subject: [PATCH 3/7] Update observable.py --- core/schemas/observable.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/schemas/observable.py b/core/schemas/observable.py index 1e4f727d2..f6a6c8f61 100644 --- a/core/schemas/observable.py +++ b/core/schemas/observable.py @@ -89,7 +89,7 @@ def add_text(cls, text: str, tags: list[str] = []) -> "Observable": return observable def add_context( - self, source: str, context: dict | None = None, skip_compare: set | None = None + self, source: str, context: dict | None = None, skip_compare: set = set() ) -> "Observable": """Adds context to an observable.""" compare_fields = set(context.keys()) - skip_compare - {"source"} From 29c835e1db31a959f69370afcaa5571c5fa0828b Mon Sep 17 00:00:00 2001 From: Sebdraven Date: Fri, 1 Dec 2023 16:04:04 +0100 Subject: [PATCH 4/7] Update observable.py --- core/schemas/observable.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/core/schemas/observable.py b/core/schemas/observable.py index f6a6c8f61..726d59b01 100644 --- a/core/schemas/observable.py +++ b/core/schemas/observable.py @@ -89,10 +89,13 @@ def add_text(cls, text: str, tags: list[str] = []) -> "Observable": return observable def add_context( - self, source: str, context: dict | None = None, skip_compare: set = set() + self, source: str, context: dict | None = None, skip_compare: set | None = None ) -> "Observable": """Adds context to an observable.""" - compare_fields = set(context.keys()) - skip_compare - {"source"} + compare_fields = set(context.keys()) - {"source"} + if skip_compare: + compare_fields -= skip_compare + for idx, db_context in enumerate(list(self.context)): if db_context["source"] != source: continue From c392daa5f1f556d47b65a9960cfc04ceb9ca7901 Mon Sep 17 00:00:00 2001 From: Sebdraven Date: Fri, 1 Dec 2023 16:10:48 +0100 Subject: [PATCH 5/7] Update observable.py --- core/schemas/observable.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/schemas/observable.py b/core/schemas/observable.py index 726d59b01..61d819f05 100644 --- a/core/schemas/observable.py +++ b/core/schemas/observable.py @@ -92,10 +92,14 @@ def add_context( self, source: str, context: dict | None = None, skip_compare: set | None = None ) -> "Observable": """Adds context to an observable.""" + + if not context: + raise ValueError("Context cannot be empty") + compare_fields = set(context.keys()) - {"source"} if skip_compare: compare_fields -= skip_compare - + for idx, db_context in enumerate(list(self.context)): if db_context["source"] != source: continue From 1ef7d1f237a0ee45617e4a496bf3cf42fa39c748 Mon Sep 17 00:00:00 2001 From: Sebdraven Date: Fri, 1 Dec 2023 16:13:44 +0100 Subject: [PATCH 6/7] Update observable.py --- core/schemas/observable.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/core/schemas/observable.py b/core/schemas/observable.py index 61d819f05..ea1757772 100644 --- a/core/schemas/observable.py +++ b/core/schemas/observable.py @@ -117,10 +117,15 @@ def add_context( return self.save() def delete_context( - self, source: str, context: dict, skip_compare: set = set() + self, source: str, context: dict | None = None, skip_compare: set | None = None ) -> "Observable": """Deletes context from an observable.""" - compare_fields = set(context.keys()) - skip_compare - {"source"} + if not context: + raise ValueError("Context cannot be empty") + + compare_fields = set(context.keys()) - {"source"} + if skip_compare: + compare_fields -= skip_compare for idx, db_context in enumerate(list(self.context)): if db_context["source"] != source: continue From 7be754a5a01a3ecf1b50f155d7e1a87d46980d0e Mon Sep 17 00:00:00 2001 From: tomchop Date: Sun, 3 Dec 2023 09:53:52 +0000 Subject: [PATCH 7/7] Fixes --- core/schemas/observable.py | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/core/schemas/observable.py b/core/schemas/observable.py index ea1757772..9970ee414 100644 --- a/core/schemas/observable.py +++ b/core/schemas/observable.py @@ -92,14 +92,12 @@ def add_context( self, source: str, context: dict | None = None, skip_compare: set | None = None ) -> "Observable": """Adds context to an observable.""" - if not context: - raise ValueError("Context cannot be empty") - - compare_fields = set(context.keys()) - {"source"} - if skip_compare: - compare_fields -= skip_compare + context = {} + if not skip_compare: + skip_compare = set() + compare_fields = set(context.keys()) - skip_compare - {"source"} for idx, db_context in enumerate(list(self.context)): if db_context["source"] != source: continue @@ -121,11 +119,11 @@ def delete_context( ) -> "Observable": """Deletes context from an observable.""" if not context: - raise ValueError("Context cannot be empty") - - compare_fields = set(context.keys()) - {"source"} - if skip_compare: - compare_fields -= skip_compare + context = {} + if not skip_compare: + skip_compare = set() + + compare_fields = set(context.keys()) - skip_compare - {"source"} for idx, db_context in enumerate(list(self.context)): if db_context["source"] != source: continue