|
@@ -1,7 +1,6 @@
|
|
|
-from typing import Literal
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
|
|
+import re
|
|
|
from datetime import date
|
|
from datetime import date
|
|
|
|
|
+from typing import Literal
|
|
|
|
|
|
|
|
|
|
|
|
|
class QueryDestinationTrailerListTool:
|
|
class QueryDestinationTrailerListTool:
|
|
@@ -200,12 +199,12 @@ class QueryDestinationTrailerListTool:
|
|
|
return ''
|
|
return ''
|
|
|
if not isinstance(value, str):
|
|
if not isinstance(value, str):
|
|
|
raise ValueError(field + ' is invalid')
|
|
raise ValueError(field + ' is invalid')
|
|
|
|
|
+ if re.fullmatch(r'[0-9]{4}-[0-9]{2}-[0-9]{2}', value) is None:
|
|
|
|
|
+ raise ValueError(field + ' is invalid')
|
|
|
try:
|
|
try:
|
|
|
- parsed = date.fromisoformat(value)
|
|
|
|
|
|
|
+ date.fromisoformat(value)
|
|
|
except ValueError:
|
|
except ValueError:
|
|
|
raise ValueError(field + ' is invalid')
|
|
raise ValueError(field + ' is invalid')
|
|
|
- if parsed.isoformat() != value:
|
|
|
|
|
- raise ValueError(field + ' is invalid')
|
|
|
|
|
return value
|
|
return value
|
|
|
|
|
|
|
|
@staticmethod
|
|
@staticmethod
|