add string duration -> timedelta #35
@@ -4,7 +4,7 @@ from jambo.types.type_parser_options import TypeParserOptions
|
||||
from pydantic import EmailStr, HttpUrl, IPvAnyAddress
|
||||
from typing_extensions import Unpack
|
||||
|
||||
from datetime import date, datetime, time
|
||||
from datetime import date, datetime, time, timedelta
|
||||
|
||||
|
||||
class StringTypeParser(GenericTypeParser):
|
||||
@@ -28,6 +28,7 @@ class StringTypeParser(GenericTypeParser):
|
||||
"date": date,
|
||||
"time": time,
|
||||
"date-time": datetime,
|
||||
"duration": timedelta,
|
||||
}
|
||||
|
||||
format_pattern_mapping = {
|
||||
|
||||
@@ -2,7 +2,7 @@ from jambo.parser import StringTypeParser
|
||||
|
||||
from pydantic import EmailStr, HttpUrl, IPvAnyAddress
|
||||
|
||||
from datetime import date, datetime, time
|
||||
from datetime import date, datetime, time, timedelta
|
||||
from unittest import TestCase
|
||||
|
||||
|
||||
@@ -197,3 +197,15 @@ class TestStringTypeParser(TestCase):
|
||||
type_parsing, type_validator = parser.from_properties("placeholder", properties)
|
||||
|
||||
self.assertEqual(type_parsing, datetime)
|
||||
|
||||
def test_string_parser_with_timedelta_format(self):
|
||||
parser = StringTypeParser()
|
||||
|
||||
properties = {
|
||||
"type": "string",
|
||||
"format": "duration",
|
||||
}
|
||||
|
||||
type_parsing, type_validator = parser.from_properties("placeholder", properties)
|
||||
|
||||
self.assertEqual(type_parsing, timedelta)
|
||||
|
||||
Reference in New Issue
Block a user