@@ -380,7 +380,9 @@ def index():
381 plugins.call('post_search', request, locals())
381 plugins.call('post_search', request, locals())
383− for result in search.result_container.get_ordered_results():
383+ results = search.result_container.get_ordered_results()
385+ for result in results:
385 plugins.call('on_result', request, locals())
387 plugins.call('on_result', request, locals())
386 if not search.paging and engines[result['engine']].paging:
388 if not search.paging and engines[result['engine']].paging:
@@ -425,13 +427,13 @@ def index():
425 if search.request_data.get('format') == 'json':
427 if search.request_data.get('format') == 'json':
426 return Response(json.dumps({'query': search.query,
428 return Response(json.dumps({'query': search.query,
427 'number_of_results': number_of_results,
429 'number_of_results': number_of_results,
428− 'results': search.result_container.get_ordered_results()}),
430+ 'results': results}),
429 mimetype='application/json')
431 mimetype='application/json')
430 elif search.request_data.get('format') == 'csv':
432 elif search.request_data.get('format') == 'csv':
431 csv = UnicodeWriter(cStringIO.StringIO())
433 csv = UnicodeWriter(cStringIO.StringIO())
432 keys = ('title', 'url', 'content', 'host', 'engine', 'score')
434 keys = ('title', 'url', 'content', 'host', 'engine', 'score')
433 csv.writerow(keys)
435 csv.writerow(keys)
434− for row in search.result_container.get_ordered_results():
436+ for row in results:
435 row['host'] = row['parsed_url'].netloc
437 row['host'] = row['parsed_url'].netloc
436 csv.writerow([row.get(key, '') for key in keys])
438 csv.writerow([row.get(key, '') for key in keys])
437 csv.stream.seek(0)
439 csv.stream.seek(0)
@@ -442,7 +444,7 @@ def index():
442 elif search.request_data.get('format') == 'rss':
444 elif search.request_data.get('format') == 'rss':
443 response_rss = render(
445 response_rss = render(
444 'opensearch_response_rss.xml',
446 'opensearch_response_rss.xml',
445− results=search.result_container.get_ordered_results(),
447+ results=results,
446 q=search.request_data['q'],
448 q=search.request_data['q'],
447 number_of_results=number_of_results,
449 number_of_results=number_of_results,
448 base_url=get_base_url()
450 base_url=get_base_url()
@@ -451,7 +453,7 @@ def index():
452 return render(
454 return render(
453 'results.html',
455 'results.html',
454− results=search.result_container.get_ordered_results(),
456+ results=results,
455 q=search.request_data['q'],
457 q=search.request_data['q'],
456 selected_categories=search.categories,
458 selected_categories=search.categories,
457 paging=search.paging,
459 paging=search.paging,