From 9c5cf75436f6ae6cb8e4820a3d5ce005e964ece2 Mon Sep 17 00:00:00 2001 From: Rbrtcs1 Date: Thu, 26 Sep 2024 23:16:14 -0400 Subject: [PATCH 1/2] fix for censorship label bug --- horde/classes/stable/processing_generation.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/horde/classes/stable/processing_generation.py b/horde/classes/stable/processing_generation.py index 94d9360a..946d43a0 100644 --- a/horde/classes/stable/processing_generation.py +++ b/horde/classes/stable/processing_generation.py @@ -80,6 +80,9 @@ def log_aborted_generation(self): def set_generation(self, generation, things_per_sec, **kwargs): state = kwargs.get("state", "ok") for metadata in kwargs.get("gen_metadata", []): + if metadata.get('type') != 'censorship': + # this metadata isnt about censorship + continue if metadata.get('value') == 'csam': state = 'csam' else: From a3dfeba1acace7a709bde33e8e88112a76fbba67 Mon Sep 17 00:00:00 2001 From: tazlin Date: Fri, 27 Sep 2024 08:14:51 -0400 Subject: [PATCH 2/2] fix: don't iterate on `None` from gen_metadata key `dict.get(...)` returns the value of a key if it is set. The default parameter (the second parameter) only returns a default value **if the key does not exist**. Therefore, if the key `gen_metadata` is set in `kwargs`, and is set to `None`, then `kwargs.get("gen_metadata", [])` will return `None` and **not** an empty list (`[]`). --- horde/classes/stable/processing_generation.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/horde/classes/stable/processing_generation.py b/horde/classes/stable/processing_generation.py index 946d43a0..13fe77d6 100644 --- a/horde/classes/stable/processing_generation.py +++ b/horde/classes/stable/processing_generation.py @@ -79,14 +79,15 @@ def log_aborted_generation(self): def set_generation(self, generation, things_per_sec, **kwargs): state = kwargs.get("state", "ok") - for metadata in kwargs.get("gen_metadata", []): - if metadata.get('type') != 'censorship': + gen_metadata = kwargs.get("gen_metadata") or [] + for metadata in gen_metadata: + if metadata.get("type") != "censorship": # this metadata isnt about censorship - continue - if metadata.get('value') == 'csam': - state = 'csam' + continue + if metadata.get("value") == "csam": + state = "csam" else: - state = 'censored' + state = "censored" if state in ["censored", "csam"]: self.censored = True db.session.commit()