From 5b3038086582e913d525200d68abc68ab05458e7 Mon Sep 17 00:00:00 2001 From: AntiCompositeNumber Date: Tue, 21 Jul 2020 17:14:38 -0400 Subject: [PATCH] Use datetime.datetime in _wayback_timestamp --- waybackpy/wrapper.py | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/waybackpy/wrapper.py b/waybackpy/wrapper.py index 4b4296d..7a69475 100644 --- a/waybackpy/wrapper.py +++ b/waybackpy/wrapper.py @@ -36,11 +36,9 @@ def _archive_url_parser(header): ) -def _wayback_timestamp(**kwargs): +def _wayback_timestamp(dt): """Return a formatted timestamp.""" - return "".join( - str(kwargs[key]).zfill(2) for key in ["year", "month", "day", "hour", "minute"] - ) + return dt.strftime("%Y%m%d%h%m") class Url: @@ -113,14 +111,14 @@ class Url: Supported params are year, month, day, hour and minute. Any non-supplied parameters default to the current time. """ - now = datetime.utcnow().timetuple() - timestamp = _wayback_timestamp( - year=year if year else now.tm_year, - month=month if month else now.tm_mon, - day=day if day else now.tm_mday, - hour=hour if hour else now.tm_hour, - minute=minute if minute else now.tm_min, - ) + kwargs = { + key: val + for key, val in dict( + year=year, month=month, day=day, hour=hour, minute=minute + ) + if val is not None + } + timestamp = _wayback_timestamp(datetime.utcnow().replace(**kwargs)) request_url = "https://archive.org/wayback/available?url=%s×tamp=%s" % ( self._clean_url(),