Merge branch 'master' of https://github.com/asciimoo/searx into filtron
This commit is contained in:
		
						commit
						26b85659c0
					
				| @ -25,5 +25,29 @@ | |||||||
|       {% if r.pubdate %}<pubDate>{{ r.pubdate }}</pubDate>{% endif %} |       {% if r.pubdate %}<pubDate>{{ r.pubdate }}</pubDate>{% endif %} | ||||||
|     </item> |     </item> | ||||||
|     {% endfor %} |     {% endfor %} | ||||||
|  |     {% if answers %} | ||||||
|  |       {% for a in answers %} | ||||||
|  |       <item> | ||||||
|  |         <title>{{ a }}</title> | ||||||
|  |         <type>answer</type> | ||||||
|  |       </item> | ||||||
|  |       {% endfor %} | ||||||
|  |     {% endif %} | ||||||
|  |     {% if corrections %} | ||||||
|  |       {% for a in corrections %} | ||||||
|  |       <item> | ||||||
|  |         <title>{{ a }}</title> | ||||||
|  |         <type>correction</type> | ||||||
|  |       </item> | ||||||
|  |       {% endfor %} | ||||||
|  |     {% endif %} | ||||||
|  |     {% if suggestions %} | ||||||
|  |       {% for a in suggestions %} | ||||||
|  |       <item> | ||||||
|  |         <title>{{ a }}</title> | ||||||
|  |         <type>suggestion</type> | ||||||
|  |       </item> | ||||||
|  |       {% endfor %} | ||||||
|  |     {% endif %} | ||||||
|   </channel> |   </channel> | ||||||
| </rss> | </rss> | ||||||
|  | |||||||
| @ -626,20 +626,34 @@ def index(): | |||||||
|                         mimetype='application/json') |                         mimetype='application/json') | ||||||
|     elif output_format == 'csv': |     elif output_format == 'csv': | ||||||
|         csv = UnicodeWriter(StringIO()) |         csv = UnicodeWriter(StringIO()) | ||||||
|         keys = ('title', 'url', 'content', 'host', 'engine', 'score') |         keys = ('title', 'url', 'content', 'host', 'engine', 'score', 'type') | ||||||
|         csv.writerow(keys) |         csv.writerow(keys) | ||||||
|         for row in results: |         for row in results: | ||||||
|             row['host'] = row['parsed_url'].netloc |             row['host'] = row['parsed_url'].netloc | ||||||
|  |             row['type'] = 'result' | ||||||
|  |             csv.writerow([row.get(key, '') for key in keys]) | ||||||
|  |         for a in result_container.answers: | ||||||
|  |             row = {'title': a, 'type': 'answer'} | ||||||
|  |             csv.writerow([row.get(key, '') for key in keys]) | ||||||
|  |         for a in result_container.suggestions: | ||||||
|  |             row = {'title': a, 'type': 'suggestion'} | ||||||
|  |             csv.writerow([row.get(key, '') for key in keys]) | ||||||
|  |         for a in result_container.corrections: | ||||||
|  |             row = {'title': a, 'type': 'correction'} | ||||||
|             csv.writerow([row.get(key, '') for key in keys]) |             csv.writerow([row.get(key, '') for key in keys]) | ||||||
|         csv.stream.seek(0) |         csv.stream.seek(0) | ||||||
|         response = Response(csv.stream.read(), mimetype='application/csv') |         response = Response(csv.stream.read(), mimetype='application/csv') | ||||||
|         cont_disp = 'attachment;Filename=searx_-_{0}.csv'.format(search_query.query) |         cont_disp = 'attachment;Filename=searx_-_{0}.csv'.format(search_query.query.decode('utf-8')) | ||||||
|         response.headers.add('Content-Disposition', cont_disp) |         response.headers.add('Content-Disposition', cont_disp) | ||||||
|         return response |         return response | ||||||
|     elif output_format == 'rss': |     elif output_format == 'rss': | ||||||
|  |         print(results) | ||||||
|         response_rss = render( |         response_rss = render( | ||||||
|             'opensearch_response_rss.xml', |             'opensearch_response_rss.xml', | ||||||
|             results=results, |             results=results, | ||||||
|  |             answers=result_container.answers, | ||||||
|  |             corrections=result_container.corrections, | ||||||
|  |             suggestions=result_container.suggestions, | ||||||
|             q=request.form['q'], |             q=request.form['q'], | ||||||
|             number_of_results=number_of_results, |             number_of_results=number_of_results, | ||||||
|             base_url=get_base_url(), |             base_url=get_base_url(), | ||||||
|  | |||||||
| @ -99,9 +99,9 @@ class ViewsTestCase(SearxTestCase): | |||||||
|         result = self.app.post('/', data={'q': 'test', 'format': 'csv'}) |         result = self.app.post('/', data={'q': 'test', 'format': 'csv'}) | ||||||
| 
 | 
 | ||||||
|         self.assertEqual( |         self.assertEqual( | ||||||
|             b'title,url,content,host,engine,score\r\n' |             b'title,url,content,host,engine,score,type\r\n' | ||||||
|             b'First Test,http://first.test.xyz,first test content,first.test.xyz,startpage,\r\n'  # noqa |             b'First Test,http://first.test.xyz,first test content,first.test.xyz,startpage,,result\r\n'  # noqa | ||||||
|             b'Second Test,http://second.test.xyz,second test content,second.test.xyz,youtube,\r\n',  # noqa |             b'Second Test,http://second.test.xyz,second test content,second.test.xyz,youtube,,result\r\n',  # noqa | ||||||
|             result.data |             result.data | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Markus Heiser
						Markus Heiser