Before it was checking the mo directory exists which may fail if it
exists but does not have a specific domain file.
Signed-off-by: Aline Manera <alinefm@linux.vnet.ibm.com>
---
src/wok/message.py | 2 +-
src/wok/template.py | 19 +++++++------------
2 files changed, 8 insertions(+), 13 deletions(-)
diff --git a/src/wok/message.py b/src/wok/message.py
index 56cd022..a335881 100644
--- a/src/wok/message.py
+++ b/src/wok/message.py
@@ -73,7 +73,7 @@ class WokMessage(object):
# do translation
domain = app.root.domain
paths = app.root.paths
- lang = validate_language(get_lang())
+ lang = validate_language(get_lang(), domain)
try:
translation = gettext.translation(domain, paths.mo_dir, [lang])
diff --git a/src/wok/template.py b/src/wok/template.py
index 43a34db..b033394 100644
--- a/src/wok/template.py
+++ b/src/wok/template.py
@@ -22,10 +22,9 @@
import cherrypy
import errno
import json
+import os
import time
from Cheetah.Template import Template
-from glob import iglob
-
from wok import config as config
from wok.config import paths
@@ -60,15 +59,10 @@ def get_accept_language():
return langs
-def get_support_languages():
- mopath = "%s/*" % paths.mo_dir
- return [path.rsplit('/', 1)[1] for path in iglob(mopath)]
-
-
-def validate_language(langs):
- supportLangs = get_support_languages()
+def validate_language(langs, domain):
for lang in langs:
- if lang in supportLangs:
+ filepath = os.path.join(paths.mo_dir, lang, domain + '.mo')
+ if os.path.exists(filepath):
return lang
return "en_US"
@@ -96,11 +90,12 @@ def can_accept_html():
def render_cheetah_file(resource, data):
paths = cherrypy.request.app.root.paths
+ domain = cherrypy.request.app.root.domain
filename = paths.get_template_path(resource)
try:
params = {}
- lang = validate_language(get_lang())
- gettext_conf = {'domain': cherrypy.request.app.root.domain,
+ lang = validate_language(get_lang(), domain)
+ gettext_conf = {'domain': domain,
'localedir': paths.mo_dir,
'lang': [lang]}
params['lang'] = gettext_conf
--
2.9.3
_______________________________________________
Kimchi-devel mailing list
Kimchi-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/kimchi-devel
Applied. Thanks. Regards, Aline Manera _______________________________________________ Kimchi-devel mailing list Kimchi-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/kimchi-devel
Reviewed-by: Daniel Barboza <danielhb@linux.vnet.ibm.com> On 04/04/2017 12:58 PM, Aline Manera wrote: > Before it was checking the mo directory exists which may fail if it > exists but does not have a specific domain file. > > Signed-off-by: Aline Manera <alinefm@linux.vnet.ibm.com> > --- > src/wok/message.py | 2 +- > src/wok/template.py | 19 +++++++------------ > 2 files changed, 8 insertions(+), 13 deletions(-) > > diff --git a/src/wok/message.py b/src/wok/message.py > index 56cd022..a335881 100644 > --- a/src/wok/message.py > +++ b/src/wok/message.py > @@ -73,7 +73,7 @@ class WokMessage(object): > # do translation > domain = app.root.domain > paths = app.root.paths > - lang = validate_language(get_lang()) > + lang = validate_language(get_lang(), domain) > > try: > translation = gettext.translation(domain, paths.mo_dir, [lang]) > diff --git a/src/wok/template.py b/src/wok/template.py > index 43a34db..b033394 100644 > --- a/src/wok/template.py > +++ b/src/wok/template.py > @@ -22,10 +22,9 @@ > import cherrypy > import errno > import json > +import os > import time > from Cheetah.Template import Template > -from glob import iglob > - > > from wok import config as config > from wok.config import paths > @@ -60,15 +59,10 @@ def get_accept_language(): > return langs > > > -def get_support_languages(): > - mopath = "%s/*" % paths.mo_dir > - return [path.rsplit('/', 1)[1] for path in iglob(mopath)] > - > - > -def validate_language(langs): > - supportLangs = get_support_languages() > +def validate_language(langs, domain): > for lang in langs: > - if lang in supportLangs: > + filepath = os.path.join(paths.mo_dir, lang, domain + '.mo') > + if os.path.exists(filepath): > return lang > return "en_US" > > @@ -96,11 +90,12 @@ def can_accept_html(): > > def render_cheetah_file(resource, data): > paths = cherrypy.request.app.root.paths > + domain = cherrypy.request.app.root.domain > filename = paths.get_template_path(resource) > try: > params = {} > - lang = validate_language(get_lang()) > - gettext_conf = {'domain': cherrypy.request.app.root.domain, > + lang = validate_language(get_lang(), domain) > + gettext_conf = {'domain': domain, > 'localedir': paths.mo_dir, > 'lang': [lang]} > params['lang'] = gettext_conf _______________________________________________ Kimchi-devel mailing list Kimchi-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/kimchi-devel
© 2016 - 2024 Red Hat, Inc.