From e625a79e638d2aea3bf475f9b71e80a1960cd319 Mon Sep 17 00:00:00 2001 From: Tasos Katsoulas Date: Thu, 6 Feb 2025 13:26:03 +0200 Subject: [PATCH] Remove duplicate docs per topic --- kitsune/wiki/utils.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/kitsune/wiki/utils.py b/kitsune/wiki/utils.py index 08b42ec620d..0b14127dbb6 100644 --- a/kitsune/wiki/utils.py +++ b/kitsune/wiki/utils.py @@ -253,17 +253,16 @@ def build_topics_data(request: HttpRequest, product: Product, topics: list[Topic doc_topics_map: dict[int, list[Topic]] = {} for doc in all_documents: - doc_topics = list(doc.topics.all()) or ( - list(doc.parent.topics.all()) if doc.parent else [] + doc_topics = set(doc.topics.all()) or ( + set(doc.parent.topics.all()) if doc.parent else set() ) - doc_topics_map[doc.id] = doc_topics + doc_topics_map[doc.id] = list(doc_topics) for topic in doc_topics: if topic.id in topic_docs_map: main_list, fallback_list = topic_docs_map[topic.id] target_list = main_list if doc.id in main_doc_ids else fallback_list - if doc not in target_list: - target_list.append(doc) + target_list.append(doc) for topic in topics: main_topic_docs, fallback_topic_docs = topic_docs_map[topic.id]