Compare commits

..

No commits in common. "master" and "v0.5.0" have entirely different histories.

2 changed files with 1 additions and 32 deletions

View file

@ -391,10 +391,6 @@ def make_coercer(attr): # pylint: disable=too-many-return-statements
): ):
return coerce_datetime return coerce_datetime
# Date
if isinstance(attr.type, sa.Date):
return coerce_date
# Float # Float
# nb. check this before decimal, since Numeric inherits from Float # nb. check this before decimal, since Numeric inherits from Float
if isinstance(attr.type, sa.Float): if isinstance(attr.type, sa.Float):
@ -427,13 +423,6 @@ def coerce_boolean_nullable(value): # pylint: disable=missing-function-docstrin
return coerce_boolean(value) return coerce_boolean(value)
def coerce_date(value): # pylint: disable=missing-function-docstring
if value == "":
return None
return datetime.datetime.strptime(value, "%Y-%m-%d").date()
def coerce_datetime(value): # pylint: disable=missing-function-docstring def coerce_datetime(value): # pylint: disable=missing-function-docstring
if value == "": if value == "":
return None return None

View file

@ -271,9 +271,6 @@ class Example(Base):
flag = sa.Column(sa.Boolean(), nullable=False) flag = sa.Column(sa.Boolean(), nullable=False)
optional_flag = sa.Column(sa.Boolean(), nullable=True) optional_flag = sa.Column(sa.Boolean(), nullable=True)
date = sa.Column(sa.Date(), nullable=False)
optional_date = sa.Column(sa.Date(), nullable=True)
dt = sa.Column(sa.DateTime(), nullable=False) dt = sa.Column(sa.DateTime(), nullable=False)
optional_dt = sa.Column(sa.DateTime(), nullable=True) optional_dt = sa.Column(sa.DateTime(), nullable=True)
@ -288,7 +285,7 @@ class TestMakeCoercers(TestCase):
def test_basic(self): def test_basic(self):
coercers = mod.make_coercers(Example) coercers = mod.make_coercers(Example)
self.assertEqual(len(coercers), 14) self.assertEqual(len(coercers), 12)
self.assertIs(coercers["id"], mod.coerce_integer) self.assertIs(coercers["id"], mod.coerce_integer)
self.assertIs(coercers["optional_id"], mod.coerce_integer) self.assertIs(coercers["optional_id"], mod.coerce_integer)
@ -296,8 +293,6 @@ class TestMakeCoercers(TestCase):
self.assertIs(coercers["optional_name"], mod.coerce_string_nullable) self.assertIs(coercers["optional_name"], mod.coerce_string_nullable)
self.assertIs(coercers["flag"], mod.coerce_boolean) self.assertIs(coercers["flag"], mod.coerce_boolean)
self.assertIs(coercers["optional_flag"], mod.coerce_boolean_nullable) self.assertIs(coercers["optional_flag"], mod.coerce_boolean_nullable)
self.assertIs(coercers["date"], mod.coerce_date)
self.assertIs(coercers["optional_date"], mod.coerce_date)
self.assertIs(coercers["dt"], mod.coerce_datetime) self.assertIs(coercers["dt"], mod.coerce_datetime)
self.assertIs(coercers["optional_dt"], mod.coerce_datetime) self.assertIs(coercers["optional_dt"], mod.coerce_datetime)
self.assertIs(coercers["dec"], mod.coerce_decimal) self.assertIs(coercers["dec"], mod.coerce_decimal)
@ -327,12 +322,6 @@ class TestMakeCoercer(TestCase):
func = mod.make_coercer(Example.optional_flag) func = mod.make_coercer(Example.optional_flag)
self.assertIs(func, mod.coerce_boolean_nullable) self.assertIs(func, mod.coerce_boolean_nullable)
func = mod.make_coercer(Example.date)
self.assertIs(func, mod.coerce_date)
func = mod.make_coercer(Example.optional_date)
self.assertIs(func, mod.coerce_date)
func = mod.make_coercer(Example.dt) func = mod.make_coercer(Example.dt)
self.assertIs(func, mod.coerce_datetime) self.assertIs(func, mod.coerce_datetime)
@ -376,15 +365,6 @@ class TestCoercers(TestCase):
self.assertIsNone(mod.coerce_boolean_nullable("")) self.assertIsNone(mod.coerce_boolean_nullable(""))
def test_coerce_date(self):
self.assertIsNone(mod.coerce_date(""))
value = mod.coerce_date("2025-10-19")
self.assertIsInstance(value, datetime.date)
self.assertEqual(value, datetime.date(2025, 10, 19))
self.assertRaises(ValueError, mod.coerce_date, "XXX")
def test_coerce_datetime(self): def test_coerce_datetime(self):
self.assertIsNone(mod.coerce_datetime("")) self.assertIsNone(mod.coerce_datetime(""))