From c23db1b2bfb2c9233816fc378927c49b67eeffaf Mon Sep 17 00:00:00 2001
From: Adam Tauber <asciimoo@gmail.com>
Date: Sat, 6 Sep 2014 15:21:29 +0200
Subject: [PATCH] [enh] more flexible category selection

---
 searx/webapp.py | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/searx/webapp.py b/searx/webapp.py
index b586aa2d..42cb4267 100644
--- a/searx/webapp.py
+++ b/searx/webapp.py
@@ -151,12 +151,18 @@ def render(template_name, override_theme=None, **kwargs):
 
     if not 'selected_categories' in kwargs:
         kwargs['selected_categories'] = []
+        for arg in request.args:
+            if arg.startswith('category_'):
+                c = arg.split('_', 1)[1]
+                if c in categories:
+                    kwargs['selected_categories'].append(c)
+    if not kwargs['selected_categories']:
         cookie_categories = request.cookies.get('categories', '').split(',')
         for ccateg in cookie_categories:
             if ccateg in categories:
                 kwargs['selected_categories'].append(ccateg)
-        if not kwargs['selected_categories']:
-            kwargs['selected_categories'] = ['general']
+    if not kwargs['selected_categories']:
+        kwargs['selected_categories'] = ['general']
 
     if not 'autocomplete' in kwargs:
         kwargs['autocomplete'] = autocomplete