From 25438a598ae3a9b6e821afc07ab1548411e39d5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Mon, 31 Mar 2014 11:09:04 +0200 Subject: [PATCH] include broader terms when indexing keywords (#4570) --- src/pfwbged/basecontent/indexers.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/pfwbged/basecontent/indexers.py b/src/pfwbged/basecontent/indexers.py index a9df8d7..0d5a9f9 100644 --- a/src/pfwbged/basecontent/indexers.py +++ b/src/pfwbged/basecontent/indexers.py @@ -66,5 +66,17 @@ def thesaurus_keywords(obj, **kw): return [] if not obj.keywords: return [] - return [x for x in obj.keywords if x] + + keywords = [x for x in obj.keywords if x] + try: + thesaurus = api.portal.get()['thesaurus'] + except KeyError: + pass + else: + for keyword in keywords[:]: + try: + keywords.extend(thesaurus[keyword].get_keyword_tree()) + except KeyError: + continue + return keywords grok.global_adapter(thesaurus_keywords, name='thesaurus_keywords')