def test_parse_time_absolute_datetime(self):
     """
     Absolute timestamps in the form ``HH:MM_YYYYMMDD`` are parsed into
     appropriate datetimes with seconds set to zero.
     """
     self.assertEqual(parse_time("00:00_20150201", None),
                      datetime(2015, 2, 1, 0, 0, 0))
     self.assertEqual(parse_time("00:00_19700101", None),
                      datetime(1970, 1, 1, 0, 0, 0))
 def test_parse_time_absolute_datetime(self):
     """
     Absolute timestamps in the form ``HH:MM_YYYYMMDD`` are parsed into
     appropriate datetimes with seconds set to zero.
     """
     self.assertEqual(
         parse_time("00:00_20150201", None), datetime(2015, 2, 1, 0, 0, 0))
     self.assertEqual(
         parse_time("00:00_19700101", None), datetime(1970, 1, 1, 0, 0, 0))
예제 #3
0
 def _predict_data_size(self, start, end, interval):
     """
     Use the start and end times and interval size to predict the number of
     data points being requested.
     """
     now = datetime.utcnow()
     # "end" can be earlier than "start".
     period = abs(parse_time(end, now) - parse_time(start, now))
     interval_secs = interval_to_seconds(interval)
     return (period.seconds + 86400 * period.days) / interval_secs
 def test_parse_time_absolute_date(self):
     """
     Absolute timestamps in the form ``YYYYMMDD`` are parsed into
     appropriate datetimes with the time set to midnight.
     """
     self.assertEqual(
         parse_time("20150201", None), datetime(2015, 2, 1, 0, 0, 0))
     self.assertEqual(
         parse_time("19700101", None), datetime(1970, 1, 1, 0, 0, 0))
     self.assertEqual(
         parse_time("19010101", None), datetime(1901, 1, 1, 0, 0, 0))
     self.assertEqual(
         parse_time("99991231", None), datetime(9999, 12, 31, 0, 0, 0))
 def test_parse_time_absolute_date(self):
     """
     Absolute timestamps in the form ``YYYYMMDD`` are parsed into
     appropriate datetimes with the time set to midnight.
     """
     self.assertEqual(parse_time("20150201", None),
                      datetime(2015, 2, 1, 0, 0, 0))
     self.assertEqual(parse_time("19700101", None),
                      datetime(1970, 1, 1, 0, 0, 0))
     self.assertEqual(parse_time("19010101", None),
                      datetime(1901, 1, 1, 0, 0, 0))
     self.assertEqual(parse_time("99991231", None),
                      datetime(9999, 12, 31, 0, 0, 0))
 def test_parse_time_unix_timestamp(self):
     """
     Unix timestamps are accepted as absolute time specifications.
     """
     self.assertEqual(
         parse_time("1422748800", None), datetime(2015, 2, 1, 0, 0, 0))
     self.assertEqual(parse_time("0", None), datetime(1970, 1, 1, 0, 0, 0))
     # The following are treated as unix timestamps, not YYYYMMDD strings.
     self.assertEqual(
         parse_time("19000101", None), datetime(1970, 8, 8, 21, 48, 21))
     self.assertEqual(
         parse_time("20150132", None), datetime(1970, 8, 22, 5, 15, 32))
     self.assertEqual(
         parse_time("20151301", None), datetime(1970, 8, 22, 5, 35, 1))
 def test_parse_time_unix_timestamp(self):
     """
     Unix timestamps are accepted as absolute time specifications.
     """
     self.assertEqual(parse_time("1422748800", None),
                      datetime(2015, 2, 1, 0, 0, 0))
     self.assertEqual(parse_time("0", None), datetime(1970, 1, 1, 0, 0, 0))
     # The following are treated as unix timestamps, not YYYYMMDD strings.
     self.assertEqual(parse_time("19000101", None),
                      datetime(1970, 8, 8, 21, 48, 21))
     self.assertEqual(parse_time("20150132", None),
                      datetime(1970, 8, 22, 5, 15, 32))
     self.assertEqual(parse_time("20151301", None),
                      datetime(1970, 8, 22, 5, 35, 1))
 def test_parse_time_with_interval(self):
     """
     If given a time_str starting with "-", the time is parsed as an
     interval prior to "now".
     """
     now = datetime(2015, 2, 1, 0, 0, 0)
     self.assertEqual(parse_time("-0s", now), now)
     self.assertEqual(parse_time("-1s", now),
                      datetime(2015, 1, 31, 23, 59, 59))
     self.assertEqual(parse_time("-1s", now),
                      datetime(2015, 1, 31, 23, 59, 59))
     self.assertEqual(parse_time("-2w", now),
                      datetime(2015, 1, 18, 0, 0, 0))
     self.assertEqual(parse_time("-2w", datetime(2015, 1, 24, 10, 15, 25)),
                      datetime(2015, 1, 10, 10, 15, 25))
 def test_parse_time_with_interval(self):
     """
     If given a time_str starting with "-", the time is parsed as an
     interval prior to "now".
     """
     now = datetime(2015, 2, 1, 0, 0, 0)
     self.assertEqual(parse_time("-0s", now), now)
     self.assertEqual(
         parse_time("-1s", now), datetime(2015, 1, 31, 23, 59, 59))
     self.assertEqual(
         parse_time("-1s", now), datetime(2015, 1, 31, 23, 59, 59))
     self.assertEqual(
         parse_time("-2w", now), datetime(2015, 1, 18, 0, 0, 0))
     self.assertEqual(
         parse_time("-2w", datetime(2015, 1, 24, 10, 15, 25)),
         datetime(2015, 1, 10, 10, 15, 25))
 def test_parse_time_special_values(self):
     """
     The strings "now", "yesterday", "today", and "tomorrow" return what one
     might expect.
     """
     now1 = datetime(2015, 2, 1, 0, 0, 0)
     now2 = datetime(2015, 1, 24, 10, 15, 25)
     self.assertEqual(parse_time("now", now1), now1)
     self.assertEqual(parse_time("now", now2), now2)
     self.assertEqual(
         parse_time("yesterday", now1), datetime(2015, 1, 31, 0, 0, 0))
     self.assertEqual(
         parse_time("yesterday", now2), datetime(2015, 1, 23, 10, 15, 25))
     self.assertEqual(parse_time("today", now1), now1)
     self.assertEqual(parse_time("today", now2), now2)
     self.assertEqual(
         parse_time("tomorrow", now1), datetime(2015, 2, 2, 0, 0, 0))
     self.assertEqual(
         parse_time("tomorrow", now2), datetime(2015, 1, 25, 10, 15, 25))
 def test_parse_time_special_values(self):
     """
     The strings "now", "yesterday", "today", and "tomorrow" return what one
     might expect.
     """
     now1 = datetime(2015, 2, 1, 0, 0, 0)
     now2 = datetime(2015, 1, 24, 10, 15, 25)
     self.assertEqual(parse_time("now", now1), now1)
     self.assertEqual(parse_time("now", now2), now2)
     self.assertEqual(parse_time("yesterday", now1),
                      datetime(2015, 1, 31, 0, 0, 0))
     self.assertEqual(parse_time("yesterday", now2),
                      datetime(2015, 1, 23, 10, 15, 25))
     self.assertEqual(parse_time("today", now1), now1)
     self.assertEqual(parse_time("today", now2), now2)
     self.assertEqual(parse_time("tomorrow", now1),
                      datetime(2015, 2, 2, 0, 0, 0))
     self.assertEqual(parse_time("tomorrow", now2),
                      datetime(2015, 1, 25, 10, 15, 25))