Fix locale territory parsing

This commit is contained in:
Hong Minhee
2015-09-08 23:12:43 +09:00
parent d97dfe4da4
commit dc83308c28
2 changed files with 9 additions and 1 deletions

View File

@@ -67,7 +67,7 @@ class LocaleType(types.TypeDecorator, ScalarCoercible):
def process_result_value(self, value, dialect): def process_result_value(self, value, dialect):
if value is not None: if value is not None:
return babel.Locale(value) return babel.Locale.parse(value)
def _coerce(self, value): def _coerce(self, value):
if value is not None and not isinstance(value, babel.Locale): if value is not None and not isinstance(value, babel.Locale):

View File

@@ -28,6 +28,14 @@ class TestLocaleType(TestCase):
user = self.session.query(self.User).first() user = self.session.query(self.User).first()
def test_territory_parsing(self):
ko_kr = locale.babel.Locale(u'ko', territory=u'KR')
user = self.User(locale=ko_kr)
self.session.add(user)
self.session.commit()
assert self.session.query(self.User.locale).first()[0] == ko_kr
def test_scalar_attributes_get_coerced_to_objects(self): def test_scalar_attributes_get_coerced_to_objects(self):
user = self.User(locale='en_US') user = self.User(locale='en_US')