(self, write_context, value: datetime.timedelta)
| 459 | |
| 460 | class DurationSerializer(Serializer): |
| 461 | def write(self, write_context, value: datetime.timedelta): |
| 462 | if not isinstance(value, datetime.timedelta): |
| 463 | raise TypeError("{} should be {} instead of {}".format(value, datetime.timedelta, type(value))) |
| 464 | total_micros = value.days * 86_400_000_000 + value.seconds * 1_000_000 + value.microseconds |
| 465 | seconds, micros = divmod(total_micros, 1_000_000) |
| 466 | write_context.write_varint64(seconds) |
| 467 | write_context.write_int32(micros * 1000) |
| 468 | |
| 469 | def read(self, read_context): |
| 470 | seconds = read_context.read_varint64() |
nothing calls this directly
no test coverage detected