Browse Source

[mod] results: don't crash when an engine don't have a category

According to
https://github.com/searx/searx/blob/820b468bfe96f693d60ce06f1e78af51f00deefc/searx/engines/__init__.py#L87-L88

an engine can have no category at all.

Without this commit, searx raise an exception in searx/results.py

Note: in this case, the engine is not shown in the preferences.
Alexandre Flament 4 years ago
parent
commit
0ba74cd812
1 changed files with 3 additions and 2 deletions
  1. 3 2
      searx/results.py

+ 3 - 2
searx/results.py

@@ -309,10 +309,11 @@ class ResultContainer:
 
 
         for res in results:
         for res in results:
             # FIXME : handle more than one category per engine
             # FIXME : handle more than one category per engine
-            res['category'] = engines[res['engine']].categories[0]
+            engine = engines[res['engine']]
+            res['category'] = engine.categories[0] if len(engine.categories) > 0 else ''
 
 
             # FIXME : handle more than one category per engine
             # FIXME : handle more than one category per engine
-            category = engines[res['engine']].categories[0]\
+            category = res['category']\
                 + ':' + res.get('template', '')\
                 + ':' + res.get('template', '')\
                 + ':' + ('img_src' if 'img_src' in res or 'thumbnail' in res else '')
                 + ':' + ('img_src' if 'img_src' in res or 'thumbnail' in res else '')