From 40c2b85063d9de8d44fc88ff2f716241bb8a9631 Mon Sep 17 00:00:00 2001 From: helly25 Date: Sat, 31 Aug 2024 15:02:37 +0000 Subject: [PATCH] Simplify `_ParseDateTime` --- mbo/app/flags.py | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/mbo/app/flags.py b/mbo/app/flags.py index 9f97c40..a869bd5 100644 --- a/mbo/app/flags.py +++ b/mbo/app/flags.py @@ -17,8 +17,6 @@ import argparse import collections -import re -import sys from datetime import datetime, time, timedelta, timezone, tzinfo from enum import Enum from typing import Any, Callable, Iterable, Optional, cast @@ -26,10 +24,6 @@ from pytimeparse.timeparse import timeparse -def _Log(message=Any): - print(message, flush=True, file=sys.stderr) - - class EnumAction(argparse.Action): """Argparse action that handles single Enum values.""" @@ -178,17 +172,10 @@ def _ParseDateTime( if value is datetime: return _MaybeMidnight(cast(datetime, value), midnight=midnight, tz=tz) v = str(value) - if re.fullmatch("[0-9]{8}", v): - try: - return datetime( - year=int(v[0:4]), - month=int(v[4:6]), - day=int(v[6:8]), - tzinfo=tz, - ) - except ValueError as err: - raise ValueError(f"Invalid date string: '{v}', {err}") - return _MaybeMidnight(datetime.fromisoformat(v), midnight=midnight, tz=tz) + try: + return _MaybeMidnight(datetime.fromisoformat(v), midnight=midnight, tz=tz) + except ValueError as err: + raise ValueError(f"Invalid date string: '{v}', {err}") def ParseDateTimeOrTimeDelta(