Fix scalar coercion, refs #173

This commit is contained in:
Konsta Vesterinen
2016-01-14 18:26:59 +02:00
parent a1cbd7e0f9
commit 9d6cbf0c8d
4 changed files with 14 additions and 3 deletions

View File

@@ -4,6 +4,12 @@ Changelog
Here you can see the full list of changes between each SQLAlchemy-Utils release.
0.31.5 (2015-01-14)
^^^^^^^^^^^^^^^^^^^
- Fixed scalar parsing of LocaleType (#173)
0.31.4 (2015-12-06)
^^^^^^^^^^^^^^^^^^^

View File

@@ -93,4 +93,4 @@ from .types import ( # noqa
WeekDaysType
)
__version__ = '0.31.4'
__version__ = '0.31.5'

View File

@@ -46,7 +46,7 @@ class LocaleType(types.TypeDecorator, ScalarCoercible):
user.locale = 'de_DE'
user.locale # Locale('de_DE')
user.locale # Locale('de', territory='DE')
"""
@@ -71,5 +71,5 @@ class LocaleType(types.TypeDecorator, ScalarCoercible):
def _coerce(self, value):
if value is not None and not isinstance(value, babel.Locale):
return babel.Locale(value)
return babel.Locale.parse(value)
return value

View File

@@ -36,6 +36,11 @@ class TestLocaleType(TestCase):
assert self.session.query(self.User.locale).first()[0] == ko_kr
def test_coerce_territory_parsing(self):
user = self.User()
user.locale = 'ko_KR'
assert user.locale == locale.babel.Locale(u'ko', territory=u'KR')
def test_scalar_attributes_get_coerced_to_objects(self):
user = self.User(locale='en_US')