aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/_pydatetime.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/_pydatetime.py')
-rw-r--r--Lib/_pydatetime.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/Lib/_pydatetime.py b/Lib/_pydatetime.py
index 78e03e32896..ed01670cfec 100644
--- a/Lib/_pydatetime.py
+++ b/Lib/_pydatetime.py
@@ -651,7 +651,19 @@ class timedelta:
# guide the C implementation; it's way more convoluted than speed-
# ignoring auto-overflow-to-long idiomatic Python could be.
- # XXX Check that all inputs are ints or floats.
+ for name, value in (
+ ("days", days),
+ ("seconds", seconds),
+ ("microseconds", microseconds),
+ ("milliseconds", milliseconds),
+ ("minutes", minutes),
+ ("hours", hours),
+ ("weeks", weeks)
+ ):
+ if not isinstance(value, (int, float)):
+ raise TypeError(
+ f"unsupported type for timedelta {name} component: {type(value).__name__}"
+ )
# Final values, all integer.
# s and us fit in 32-bit signed ints; d isn't bounded.