Issue #5788: `datetime.timedelta` objects get a new `total_seconds()` method returning
the total number of seconds in the duration.  Patch by Brian Quinlan.
diff --git a/Modules/datetimemodule.c b/Modules/datetimemodule.c
index fcbd2e9..1818836 100644
--- a/Modules/datetimemodule.c
+++ b/Modules/datetimemodule.c
@@ -2089,6 +2089,14 @@
 }
 
 static PyObject *
+delta_total_seconds(PyObject *self)
+{
+	return PyFloat_FromDouble(GET_TD_MICROSECONDS(self) / 1000000.0 +
+				  GET_TD_SECONDS(self) +
+				  GET_TD_DAYS(self) * 24.0 * 3600.0);
+}
+
+static PyObject *
 delta_reduce(PyDateTime_Delta* self)
 {
 	return Py_BuildValue("ON", Py_TYPE(self), delta_getstate(self));
@@ -2110,7 +2118,10 @@
 };
 
 static PyMethodDef delta_methods[] = {
-	{"__reduce__", (PyCFunction)delta_reduce,     METH_NOARGS,
+	{"total_seconds", (PyCFunction)delta_total_seconds, METH_NOARGS,
+	 PyDoc_STR("Total seconds in the duration.")},
+
+	{"__reduce__", (PyCFunction)delta_reduce, METH_NOARGS,
 	 PyDoc_STR("__reduce__() -> (cls, state)")},
 
 	{NULL,	NULL},