Module: check_mk
Branch: master
Commit: 8640d27c52cd67e1904327b92cd0833d454923f1
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=8640d27c52cd67…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Fri Oct 12 16:30:14 2018 +0200
i18n.py: Cleaned up use of "html" object
This is needed to prevent circular dependencies. The i18n
module should be one of the low level modules with a small
set of dependencies.
Change-Id: I2704d7d5f9727ea98a44adc04c664c2f7c6bdbcf
---
cmk/gui/htmllib.py | 14 ++++++++++++++
cmk/gui/i18n.py | 22 ----------------------
cmk/gui/login.py | 2 +-
cmk/gui/wato/__init__.py | 2 +-
web/app/index.wsgi | 5 ++++-
5 files changed, 20 insertions(+), 25 deletions(-)
diff --git a/cmk/gui/htmllib.py b/cmk/gui/htmllib.py
index c5a4619..17fc4e5 100644
--- a/cmk/gui/htmllib.py
+++ b/cmk/gui/htmllib.py
@@ -1704,6 +1704,20 @@ class html(HTMLGenerator):
% self.render_a("in the global settings", href=url))
+ def del_language_cookie(self):
+ self.response.del_cookie("language")
+
+
+ def set_language_cookie(self, lang):
+ # type: (str) -> None
+ cookie_lang = self.request.cookie("language")
+ if cookie_lang != lang:
+ if lang != None:
+ self.response.set_cookie("language", lang)
+ else:
+ self.del_language_cookie()
+
+
def help(self, text):
self.write_html(self.render_help(text))
diff --git a/cmk/gui/i18n.py b/cmk/gui/i18n.py
index 5a46b50..4950c5a 100644
--- a/cmk/gui/i18n.py
+++ b/cmk/gui/i18n.py
@@ -30,8 +30,6 @@ from typing import NamedTuple, Optional, List, Tuple # pylint:
disable=unused-i
import cmk.paths
-from cmk.gui.globals import html
-
#.
# .--Gettext i18n--------------------------------------------------------.
# | ____ _ _ _ _ _ ___ |
@@ -112,12 +110,6 @@ def unlocalize():
def localize(lang):
# type: (str) -> None
- set_language_cookie(lang)
- _do_localize(lang)
-
-
-def _do_localize(lang):
- # type: (str) -> None
global _translation
if lang is None:
unlocalize()
@@ -155,20 +147,6 @@ def initialize():
unlocalize()
-def del_language_cookie():
- html.response.del_cookie("language")
-
-
-def set_language_cookie(lang):
- # type: (str) -> None
- cookie_lang = html.request.cookie("language")
- if cookie_lang != lang:
- if lang != None:
- html.response.set_cookie("language", lang)
- else:
- del_language_cookie()
-
-
#.
# .--User i18n-----------------------------------------------------------.
# | _ _ _ _ ___ |
diff --git a/cmk/gui/login.py b/cmk/gui/login.py
index b23ffab..c23f067 100644
--- a/cmk/gui/login.py
+++ b/cmk/gui/login.py
@@ -152,7 +152,7 @@ def invalidate_auth_session():
userdb.invalidate_session(config.user.id)
del_auth_cookie()
- cmk.gui.i18n.del_language_cookie()
+ html.del_language_cookie()
def renew_auth_session(username):
diff --git a/cmk/gui/wato/__init__.py b/cmk/gui/wato/__init__.py
index 09f171e..2185fef 100644
--- a/cmk/gui/wato/__init__.py
+++ b/cmk/gui/wato/__init__.py
@@ -12370,7 +12370,7 @@ def page_user_profile(change_pw=False):
# Set custom language
users[config.user.id]['language'] = language
config.user.set_attribute("language", language)
- cmk.gui.i18n.set_language_cookie(language)
+ html.set_language_cookie(language)
else:
# Remove the customized language
diff --git a/web/app/index.wsgi b/web/app/index.wsgi
index 563b236..c1230e0 100644
--- a/web/app/index.wsgi
+++ b/web/app/index.wsgi
@@ -235,7 +235,10 @@ class Application(object):
def _localize_request(self):
previous_language = cmk.gui.i18n.get_current_language()
- cmk.gui.i18n.localize(html.var("lang", config.user.language()))
+ user_language = html.get_ascii_input("lang", config.user.language())
+
+ html.set_language_cookie(user_language)
+ cmk.gui.i18n.localize(user_language)
# All plugins might have to be reloaded due to a language change. Only trigger
# a second plugin loading when the user is really using a custom localized GUI.