浏览代码

[search] Disable date range guessing with dates older than 1900

Romain Rigaux 10 年之前
父节点
当前提交
33893f3
共有 2 个文件被更改,包括 4 次插入1 次删除
  1. 2 0
      apps/search/src/search/api.py
  2. 2 1
      desktop/libs/libsolr/src/libsolr/api.py

+ 2 - 0
apps/search/src/search/api.py

@@ -79,6 +79,7 @@ def _guess_range_facet(widget_type, solr_api, collection, facet_field, propertie
       start = re.sub('\.\d\d?\d?Z$', 'Z', start)
       try:
         start_ts = datetime.strptime(start, '%Y-%m-%dT%H:%M:%SZ')
+        start_ts.strftime('%Y-%m-%dT%H:%M:%SZ') # Check for dates before 1900
       except Exception, e:
         LOG.error('Bad date: %s' % e)
         start_ts = datetime.strptime('1970-01-01T00:00:00Z', '%Y-%m-%dT%H:%M:%SZ')
@@ -90,6 +91,7 @@ def _guess_range_facet(widget_type, solr_api, collection, facet_field, propertie
       end = re.sub('\.\d\d?\d?Z$', 'Z', end)
       try:
         end_ts = datetime.strptime(end, '%Y-%m-%dT%H:%M:%SZ')
+        end_ts.strftime('%Y-%m-%dT%H:%M:%SZ') # Check for dates before 1900
       except Exception, e:
         LOG.error('Bad date: %s' % e)
         end_ts = datetime.strptime('2050-01-01T00:00:00Z', '%Y-%m-%dT%H:%M:%SZ')

+ 2 - 1
desktop/libs/libsolr/src/libsolr/api.py

@@ -68,12 +68,12 @@ class SolrApi(object):
         'field': facet['field'],
         'aggregate': facet['properties']['aggregate'] if 'properties' in facet else facet['aggregate']
     }
+
     if props['aggregate'] == 'median':
       return 'percentile(%(field)s,50)' % props
     else:
       return '%(aggregate)s(%(field)s)' % props
 
-    props = {}
   def _get_range_borders(self, collection, query):
     props = {}
     GAPS = {
@@ -598,6 +598,7 @@ class SolrApi(object):
 
       params += tuple([('stats.field', field) for field in fields])
       response = self._root.get('%(core)s/select' % {'core': core}, params=params)
+
       return self._get_json(response)
     except RestException, e:
       raise PopupException(e, title=_('Error while accessing Solr'))