def _generate_data_with_time(self, config, search_results_collection, search_configuration):
     data_columns = [{'type':'string', 'name':'Time'}]
     data_rows = []
     data_dimensions_value = config['data_dimensions'][0]['value']
     start_time, end_time = self._extract_time_bounds_from_search_configuration(search_configuration)
     time_interval = int((end_time - start_time) / self.steps_backwards)
     array_of_start_times = range(start_time, end_time, time_interval)
     results_data_columns = []
     for search_result in search_results_collection:
         facets = [fg for fg in search_result['facet_groups'] if fg['name'] == data_dimensions_value['value']][0]['facets']
         for f in facets:
             if f['name'] not in results_data_columns:
                 results_data_columns.append(f['name'])
     data_columns += [{'type':'number', 'name':'%s' % c } for c in results_data_columns]
     number_of_empty_ranges = 0
     for x in range(len(array_of_start_times)):
         if x >= len(search_results_collection):
             continue
         search_result = search_results_collection[x]
         start_time_pretty = get_pretty_date(array_of_start_times[x] + time_interval)
         data_row = [start_time_pretty]
         facets = [fg for fg in search_result['facet_groups'] if fg['name'] == data_dimensions_value['value']][0]['facets']
         dynamic_data_rows = []
         for c in results_data_columns:
             candidate_facet = [f for f in facets if f['name'] == c]
             if candidate_facet:
                 dynamic_data_rows.append(candidate_facet[0]['count'])
             else:
                 dynamic_data_rows.append(0)
         if not sum(dynamic_data_rows):
             number_of_empty_ranges += 1
         data_row += dynamic_data_rows
         data_rows.append(data_row)
     return data_columns, data_rows
 def _pretty_date(self, time=False):
     return get_pretty_date(time)
 def _get_pretty_date(self, time_value, days_in_time_range):
     if days_in_time_range:
         formatted_time = datetime.date.fromtimestamp(time_value).strftime('%m/%d/%y')
     else:
         formatted_time = get_pretty_date(time_value)
     return formatted_time