def _filter_timestamp(data): timestamp_filter = {} start = _get_data(data, 'timestamp_start') if start is not None: timestamp_filter['ge'] = util.parse_datetime( start, exception_handler.BadRequest ) end = _get_data(data, 'timestamp_end') if end is not None: timestamp_filter['le'] = util.parse_datetime( end, exception_handler.BadRequest) range = _get_data_list(data, 'timestamp_range') if range: timestamp_filter['between'] = [] for value in range: timestamp_filter['between'].append( util.parse_datetime_range( value, exception_handler.BadRequest ) ) data['timestamp'] = timestamp_filter _clean_data( data, [ 'timestamp_start', 'timestamp_end', 'timestamp_range' ] )
def test_none_end(self): range = '2014-7-10 9:10:40,' parsed_datetime_range = util.parse_datetime_range(range) expected_datetime_range = ( datetime.datetime(2014, 7, 10, 9, 10, 40), None ) self.assertEqual(expected_datetime_range, parsed_datetime_range)
def test_none_start(self): range = ',2014-7-11 9:10:40' parsed_datetime_range = util.parse_datetime_range(range) expected_datetime_range = ( None, datetime.datetime(2014, 7, 11, 9, 10, 40) ) self.assertEqual(expected_datetime_range, parsed_datetime_range)
def test_both_start_end_datetime(self): range = '2014-7-10 9:10:40,2014-7-11 9:10:40' parsed_datetime_range = util.parse_datetime_range(range) expected_datetime_range = ( datetime.datetime(2014, 7, 10, 9, 10, 40), datetime.datetime(2014, 7, 11, 9, 10, 40) ) self.assertEqual(expected_datetime_range, parsed_datetime_range)
def test_none_both(self): range = ',' parsed_datetime_range = util.parse_datetime_range(range) expected_datetime_range = (None, None) self.assertEqual(expected_datetime_range, parsed_datetime_range)
def test_none_end(self): range = '2014-7-10 9:10:40,' parsed_datetime_range = util.parse_datetime_range(range) expected_datetime_range = (datetime.datetime(2014, 7, 10, 9, 10, 40), None) self.assertEqual(expected_datetime_range, parsed_datetime_range)
def test_none_start(self): range = ',2014-7-11 9:10:40' parsed_datetime_range = util.parse_datetime_range(range) expected_datetime_range = (None, datetime.datetime(2014, 7, 11, 9, 10, 40)) self.assertEqual(expected_datetime_range, parsed_datetime_range)
def test_both_start_end_datetime(self): range = '2014-7-10 9:10:40,2014-7-11 9:10:40' parsed_datetime_range = util.parse_datetime_range(range) expected_datetime_range = (datetime.datetime(2014, 7, 10, 9, 10, 40), datetime.datetime(2014, 7, 11, 9, 10, 40)) self.assertEqual(expected_datetime_range, parsed_datetime_range)