소스 검색

[search] Do no HTML escape rows when downloading them

The content should be verbatim from the index.
Romain Rigaux 10 년 전
부모
커밋
d511de43a8
1개의 변경된 파일19개의 추가작업 그리고 19개의 파일을 삭제
  1. 19 19
      apps/search/src/search/models.py

+ 19 - 19
apps/search/src/search/models.py

@@ -804,25 +804,25 @@ def augment_solr_response(response, collection, query):
       response.pop('facets')
       response.pop('facets')
 
 
   # HTML escaping
   # HTML escaping
-  for doc in response['response']['docs']:
-    for field, value in doc.iteritems():
-      if isinstance(value, numbers.Number):
-        escaped_value = value
-      elif isinstance(value, list): # Multivalue field
-        escaped_value = [smart_unicode(val, errors='replace') for val in value]
-      else:
-        value = smart_unicode(value, errors='replace')
-        escaped_value = escape(value)
-      doc[field] = escaped_value
-
-    if not query.get('download'):
-      link = None
-      if 'link-meta' in doc:
-        meta = json.loads(doc['link-meta'])
-        link = get_data_link(meta)
-
-      doc['externalLink'] = link
-      doc['details'] = []
+  if not query.get('download'):
+    for doc in response['response']['docs']:
+      for field, value in doc.iteritems():
+        if isinstance(value, numbers.Number):
+          escaped_value = value
+        elif isinstance(value, list): # Multivalue field
+          escaped_value = [smart_unicode(val, errors='replace') for val in value]
+        else:
+          value = smart_unicode(value, errors='replace')
+          escaped_value = escape(value)
+        doc[field] = escaped_value
+
+        link = None
+        if 'link-meta' in doc:
+          meta = json.loads(doc['link-meta'])
+          link = get_data_link(meta)
+
+        doc['externalLink'] = link
+        doc['details'] = []
 
 
   highlighted_fields = response.get('highlighting', {}).keys()
   highlighted_fields = response.get('highlighting', {}).keys()
   if highlighted_fields and not query.get('download'):
   if highlighted_fields and not query.get('download'):