- """A tiny Session subclass that adds support for a default language.
-
- Change the default_language attribute to whatever language's IDENTIFIER you
- would like to be the default.
- """
- default_language = 'en'
+ """A tiny Session subclass that adds support for a default language."""
+ _default_language_id = 9 # English. XXX magic constant
+
+ @property
+ def default_language(self):
+ # Need to import tables here to avoid a circular dependency
+ from pokedex.db import tables
+ query = self.query(tables.Language)
+ query = query.filter_by(id=self._default_language_id)
+ return query.one()
+
+ @default_language.setter
+ def default_language(self, new):
+ self._default_language_id = new.id
+
+ @default_language.deleter
+ def default_language(self):
+ try:
+ del self._default_language_id
+ except AttributeError:
+ pass