Explorar el Código

[enh][fix] csv output updates

asciimoo hace 11 años
padre
commit
ba131c842d
Se han modificado 1 ficheros con 4 adiciones y 3 borrados
  1. 4
    3
      searx/webapp.py

+ 4
- 3
searx/webapp.py Ver fichero

113
         return Response(json.dumps({'query': query, 'results': results}), mimetype='application/json')
113
         return Response(json.dumps({'query': query, 'results': results}), mimetype='application/json')
114
     elif request_data.get('format') == 'csv':
114
     elif request_data.get('format') == 'csv':
115
         csv = UnicodeWriter(cStringIO.StringIO())
115
         csv = UnicodeWriter(cStringIO.StringIO())
116
+        keys = ('title', 'url', 'content', 'host', 'engine', 'score')
116
         if len(results):
117
         if len(results):
117
-            keys = results[0].keys()
118
             csv.writerow(keys)
118
             csv.writerow(keys)
119
             for row in results:
119
             for row in results:
120
-                csv.writerow([row[key] for key in keys])
120
+                row['host'] = row['parsed_url'].netloc
121
+                csv.writerow([row.get(key, '') for key in keys])
121
         csv.stream.seek(0)
122
         csv.stream.seek(0)
122
         response = Response(csv.stream.read(), mimetype='application/csv')
123
         response = Response(csv.stream.read(), mimetype='application/csv')
123
-        response.headers.add('Content-Disposition', 'attachment;Filename=searx_-_{0}.csv'.format(query))
124
+        response.headers.add('Content-Disposition', 'attachment;Filename=searx_-_{0}.csv'.format('_'.join(query.split())))
124
         return response
125
         return response
125
 
126
 
126
     template = render('results.html'
127
     template = render('results.html'