Fix locale territory parsing
This commit is contained in:
@@ -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):
|
||||||
|
@@ -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')
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user