def _deserialize(self, value, attr, data): """Deserialize an ISO8601-formatted time to a :class:`datetime.time` object.""" if not value: # falsy values are invalid self.fail('invalid') try: return utils.from_iso_time(value) except (AttributeError, TypeError, ValueError): self.fail('invalid')
def test_from_iso_time_without_microseconds(use_dateutil): t = dt.time(1, 23, 45) formatted = t.isoformat() result = utils.from_iso_time(formatted, use_dateutil=use_dateutil) assert isinstance(result, dt.time) assert_time_equal(result, t, microseconds=True)
def test_from_iso_time_without_microseconds(use_dateutil): t = dt.time(1, 23, 45) formatted = t.isoformat() result = utils.from_iso_time(formatted, use_dateutil=use_dateutil) assert type(result) == dt.time assert_time_equal(result, t, microseconds=True)
def convert_to_dt(time_range: Dict[str, str]) -> Dict[str, dt.time]: return {k: from_iso_time(v) for k, v in time_range.items()}
def test_from_iso_time_without_microseconds(): t = dt.time(1, 23, 45) formatted = t.isoformat() result = utils.from_iso_time(formatted) assert type(result) == dt.time assert_time_equal(result, t)
def test_from_iso_time_with_microseconds(use_dateutil): t = dt.time(1, 23, 45, 6789) formatted = t.isoformat() result = utils.from_iso_time(formatted, use_dateutil=use_dateutil) assert isinstance(result, dt.time) assert_time_equal(result, t, microseconds=True)
def test_from_iso_time_with_microseconds(use_dateutil): t = dt.time(1, 23, 45, 6789) formatted = t.isoformat() result = utils.from_iso_time(formatted, use_dateutil=use_dateutil) assert type(result) == dt.time assert_time_equal(result, t, microseconds=True)