convert: drop a duplicate implementation of `dateutil.makedate()`
I noticed this because the signature generated by pytype recently changed to be
less specific. When the method was introduced back in
337d728e644f,
`util.makedate()` didn't take an optional timestamp arg. But now it does, and
the methods are the same (except the `dateutil` version validates that the
timestamp isn't a negative value). I left the old method in place in case
anyone has custom convert code that monkey patches it.
--- a/hgext/convert/common.py Mon Jul 08 15:48:34 2024 +0200
+++ b/hgext/convert/common.py Thu Jul 11 14:46:00 2024 -0400
@@ -6,7 +6,6 @@
# GNU General Public License version 2 or any later version.
import base64
-import datetime
import os
import pickle
import re
@@ -22,7 +21,10 @@
pycompat,
util,
)
-from mercurial.utils import procutil
+from mercurial.utils import (
+ dateutil,
+ procutil,
+)
propertycache = util.propertycache
@@ -565,12 +567,5 @@
self.fp = None
-def makedatetimestamp(t):
- """Like dateutil.makedate() but for time t instead of current time"""
- tz = round(
- t
- - datetime.datetime.fromtimestamp(t)
- .replace(tzinfo=datetime.timezone.utc)
- .timestamp()
- )
- return t, tz
+def makedatetimestamp(t: float) -> dateutil.hgdate:
+ return dateutil.makedate(t)