From f165c68af07646017539e5c79ef652d6e7162cde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Robert?= Date: Wed, 21 Feb 2024 07:49:46 +0100 Subject: [PATCH] ENH: future proof upload_time parsing (try to parse only the date as a fallback solution) --- remove_old_wheels.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/remove_old_wheels.py b/remove_old_wheels.py index a50f708..29c30b1 100644 --- a/remove_old_wheels.py +++ b/remove_old_wheels.py @@ -1,4 +1,5 @@ # Remove all but the latest N versions from wheels on Anaconda.org +import re from datetime import datetime, timezone, timedelta import click @@ -14,6 +15,10 @@ def _parse_upload_time(upload_time: str) -> datetime: return datetime.strptime(upload_time, fmt) except ValueError: continue + if (match := re.match(r"\d{4}-\d{2}-\d{2}", upload_time)) is not None: + # fallback solution: renounce everything but the date if it can be saved + return datetime.strftime(match.group()) + raise ValueError( f"Failed to parse upload time {upload_time!r} " "(didn't match any known format)"