@@ -380,7 +380,9 @@ def index():
380380
381381 plugins.call('post_search', request, locals())
382382
383− for result in search.result_container.get_ordered_results():
383+ results = search.result_container.get_ordered_results()
384+
385+ for result in results:
384386
385387 plugins.call('on_result', request, locals())
386388 if not search.paging and engines[result['engine']].paging:
@@ -425,13 +427,13 @@ def index():
425427 if search.request_data.get('format') == 'json':
426428 return Response(json.dumps({'query': search.query,
427429 'number_of_results': number_of_results,
428− 'results': search.result_container.get_ordered_results()}),
430+ 'results': results}),
429431 mimetype='application/json')
430432 elif search.request_data.get('format') == 'csv':
431433 csv = UnicodeWriter(cStringIO.StringIO())
432434 keys = ('title', 'url', 'content', 'host', 'engine', 'score')
433435 csv.writerow(keys)
434− for row in search.result_container.get_ordered_results():
436+ for row in results:
435437 row['host'] = row['parsed_url'].netloc
436438 csv.writerow([row.get(key, '') for key in keys])
437439 csv.stream.seek(0)
@@ -442,7 +444,7 @@ def index():
442444 elif search.request_data.get('format') == 'rss':
443445 response_rss = render(
444446 'opensearch_response_rss.xml',
445− results=search.result_container.get_ordered_results(),
447+ results=results,
446448 q=search.request_data['q'],
447449 number_of_results=number_of_results,
448450 base_url=get_base_url()
@@ -451,7 +453,7 @@ def index():
451453
452454 return render(
453455 'results.html',
454− results=search.result_container.get_ordered_results(),
456+ results=results,
455457 q=search.request_data['q'],
456458 selected_categories=search.categories,
457459 paging=search.paging,