@@ -65,6 +65,9 @@ def index():
6565 request_data = request.args
6666 if not request_data.get('q'):
6767 return render('index.html')
68+
69+ query = request_data['q'].encode('utf-8')
70+
6871 selected_categories = []
6972 for pd_name,pd in request_data.items():
7073 if pd_name.startswith('category_'):
@@ -77,8 +80,14 @@ def index():
7780 for ccateg in cookie_categories:
7881 if ccateg in categories:
7982 selected_categories.append(ccateg)
80− query = request_data['q'].encode('utf-8')
81− results = search(query, request, selected_categories)
83+ if not len(selected_categories):
84+ selected_categories = ['general']
85+
86+ selected_engines = []
87+ for categ in selected_categories:
88+ selected_engines.extend({'category': categ, 'name': x.name} for x in categories[categ])
89+
90+ results = search(query, request, selected_engines)
8291 for result in results:
8392 if len(result['url']) > 74:
8493 result['pretty_url'] = result['url'][:35] + '[..]' + result['url'][-35:]