diff options
author | emkael <emkael@tlen.pl> | 2017-01-05 13:23:53 +0100 |
---|---|---|
committer | emkael <emkael@tlen.pl> | 2017-01-05 13:23:53 +0100 |
commit | 8d8e6af1783bf62ee6779f98fc30c3fd75ce955b (patch) | |
tree | 9357afbafe7d196f360dede0f4996f859675776d /ausbutler/tour_config.py | |
parent | 8a6b5981795fc65c994d8e42c78f23a6c8d10498 (diff) |
Fetching translation strings and constants from tournament DB
Diffstat (limited to 'ausbutler/tour_config.py')
-rw-r--r-- | ausbutler/tour_config.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/ausbutler/tour_config.py b/ausbutler/tour_config.py new file mode 100644 index 0000000..43a8dc7 --- /dev/null +++ b/ausbutler/tour_config.py @@ -0,0 +1,26 @@ +from .config import load_config +from .db import get_session +from .model import Translation, Admin + +session = get_session() + +class Translations(object): + + translation_cache = { t.id: t.dane for t + in session.query(Translation).all() } + translation_mapping = load_config('logoh') + custom_translations = load_config('translations') + + @staticmethod + def get_translation(key): + if key in Translations.translation_mapping: + return Translations.translation_cache[Translations.translation_mapping[key]] + if key in Translations.custom_translations: + return Translations.custom_translations[key][Translations.detect_language()] + return '{{%s}}' % (key) + + @staticmethod + def detect_language(): + return 'en' if Translations.get_translation('ROUND').lower().strip() == 'round' else 'pl' + +Constants = session.query(Admin).one() |