Revert "修复 kvmd 国际化带来的错误"

This reverts commit 4fc188dbc891dacb54268c08cef5a4051772104e.
This commit is contained in:
mofeng-git 2024-11-20 11:52:24 +00:00
parent 433232c845
commit 8fdb7d7cd6
5 changed files with 15 additions and 77 deletions

View File

@ -26,8 +26,6 @@ from ...plugins.hid import get_hid_class
from ...plugins.atx import get_atx_class from ...plugins.atx import get_atx_class
from ...plugins.msd import get_msd_class from ...plugins.msd import get_msd_class
from ...lanuages import Lanuages
from .. import init from .. import init
from .auth import AuthManager from .auth import AuthManager
@ -112,4 +110,4 @@ def main(argv: (list[str] | None)=None) -> None:
stream_forever=config.streamer.forever, stream_forever=config.streamer.forever,
).run(**config.server._unpack()) ).run(**config.server._unpack())
get_logger(0).info(Lanuages().gettext("Bye-bye")) get_logger(0).info("Bye-bye")

View File

@ -34,7 +34,6 @@ from ...plugins.auth import get_auth_service_class
from ...htserver import HttpExposed from ...htserver import HttpExposed
from ...lanuages import Lanuages
# ===== # =====
class AuthManager: class AuthManager:
@ -52,32 +51,31 @@ class AuthManager:
totp_secret_path: str, totp_secret_path: str,
) -> None: ) -> None:
self.gettext=Lanuages().gettext _ = translation(domain="message",localedir="/kvmd/i18n",languages=["zh"]).gettext
self.__enabled = enabled self.__enabled = enabled
if not enabled: if not enabled:
get_logger().warning(self.gettext("AUTHORIZATION IS DISABLED")) get_logger().warning(_("AUTHORIZATION IS DISABLED"))
self.__unauth_paths = frozenset(unauth_paths) # To speed up self.__unauth_paths = frozenset(unauth_paths) # To speed up
for path in self.__unauth_paths: for path in self.__unauth_paths:
get_logger().warning(self.gettext("Authorization is disabled for API %r"), path) get_logger().warning(_("Authorization is disabled for API %r"), path)
self.__internal_service: (BaseAuthService | None) = None self.__internal_service: (BaseAuthService | None) = None
if enabled: if enabled:
self.__internal_service = get_auth_service_class(internal_type)(**internal_kwargs) self.__internal_service = get_auth_service_class(internal_type)(**internal_kwargs)
get_logger().info(self.gettext("Using internal auth service %r"), self.__internal_service.get_plugin_name()) get_logger().info(_("Using internal auth service %r"), self.__internal_service.get_plugin_name())
self.__force_internal_users = force_internal_users self.__force_internal_users = force_internal_users
self.__external_service: (BaseAuthService | None) = None self.__external_service: (BaseAuthService | None) = None
if enabled and external_type: if enabled and external_type:
self.__external_service = get_auth_service_class(external_type)(**external_kwargs) self.__external_service = get_auth_service_class(external_type)(**external_kwargs)
get_logger().info(self.gettext("Using external auth service %r"), self.__external_service.get_plugin_name()) get_logger().info(_("Using external auth service %r"), self.__external_service.get_plugin_name())
self.__totp_secret_path = totp_secret_path self.__totp_secret_path = totp_secret_path
self.__tokens: dict[str, str] = {} # {token: user} self.__tokens: dict[str, str] = {} # {token: user}
def is_auth_enabled(self) -> bool: def is_auth_enabled(self) -> bool:
return self.__enabled return self.__enabled
@ -100,7 +98,7 @@ class AuthManager:
if secret: if secret:
code = passwd[-6:] code = passwd[-6:]
if not pyotp.TOTP(secret).verify(code): if not pyotp.TOTP(secret).verify(code):
get_logger().error(self.gettext("Got access denied for user %r by TOTP"), user) get_logger().error(_("Got access denied for user %r by TOTP"), user)
return False return False
passwd = passwd[:-6] passwd = passwd[:-6]
@ -111,9 +109,9 @@ class AuthManager:
ok = (await service.authorize(user, passwd)) ok = (await service.authorize(user, passwd))
if ok: if ok:
get_logger().info(self.gettext("Authorized user %r via auth service %r"), user, service.get_plugin_name()) get_logger().info(_("Authorized user %r via auth service %r"), user, service.get_plugin_name())
else: else:
get_logger().error(self.gettext("Got access denied for user %r from auth service %r"), user, service.get_plugin_name()) get_logger().error(_("Got access denied for user %r from auth service %r"), user, service.get_plugin_name())
return ok return ok
async def login(self, user: str, passwd: str) -> (str | None): async def login(self, user: str, passwd: str) -> (str | None):
@ -123,7 +121,7 @@ class AuthManager:
if (await self.authorize(user, passwd)): if (await self.authorize(user, passwd)):
token = self.__make_new_token() token = self.__make_new_token()
self.__tokens[token] = user self.__tokens[token] = user
get_logger().info(self.gettext("Logged in user %r"), user) get_logger().info(_("Logged in user %r"), user)
return token return token
else: else:
return None return None
@ -133,7 +131,7 @@ class AuthManager:
token = secrets.token_hex(32) token = secrets.token_hex(32)
if token not in self.__tokens: if token not in self.__tokens:
return token return token
raise AssertionError(self.gettext("Can't generate new unique token")) raise AssertionError(_("Can't generate new unique token"))
def logout(self, token: str) -> None: def logout(self, token: str) -> None:
assert self.__enabled assert self.__enabled
@ -144,7 +142,7 @@ class AuthManager:
if r_user == user: if r_user == user:
count += 1 count += 1
del self.__tokens[r_token] del self.__tokens[r_token]
get_logger().info(self.gettext("Logged out user %r (%d)"), user, count) get_logger().info(_("Logged out user %r (%d)"), user, count)
def check(self, token: str) -> (str | None): def check(self, token: str) -> (str | None):
assert self.__enabled assert self.__enabled

Binary file not shown.

View File

@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-08-06 21:57+0800\n" "POT-Creation-Date: 2024-08-06 21:17+0800\n"
"PO-Revision-Date: 2024-08-06 21:57+0800\n" "PO-Revision-Date: 2024-08-06 21:17+0800\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language: zh\n" "Language: zh\n"
"Language-Team: zh <LL@li.org>\n" "Language-Team: zh <LL@li.org>\n"
@ -22,31 +22,6 @@ msgstr ""
msgid "Can't determine filename" msgid "Can't determine filename"
msgstr "无法确定文件名" msgstr "无法确定文件名"
#: kvmd/htserver.py:356
#, python-format
msgid "Registered new client session: %s; clients now: %d"
msgstr "已注册新客户端会话:%s现在的客户%d"
#: kvmd/htserver.py:371
#, python-format
msgid "Can't parse JSON event from websocket: %r"
msgstr "无法解析来自 websocket 的 JSON 事件:%r"
#: kvmd/htserver.py:377
#, python-format
msgid "Unknown websocket event: %r"
msgstr "未知 websocket 事件:%r"
#: kvmd/htserver.py:384
#, python-format
msgid "Unknown websocket binary event: %r"
msgstr "未知 websocket 二进制事件:%r"
#: kvmd/htserver.py:415
#, python-format
msgid "Removed client socket: %s; clients now: %d"
msgstr "已移除客户端套接字:%s现在的客户端%d"
#: kvmd/inotify.py:199 #: kvmd/inotify.py:199
#, python-format #, python-format
msgid "Watching for %s" msgid "Watching for %s"
@ -91,10 +66,6 @@ msgstr "尝试使用 --help 选项来了解某项服务的功能。\n"
msgid "Make sure you understand exactly what you are doing!" msgid "Make sure you understand exactly what you are doing!"
msgstr "请确定你自己在做什么!" msgstr "请确定你自己在做什么!"
#: kvmd/apps/kvmd/__init__.py:115
msgid "Bye-bye"
msgstr "再见"
#: kvmd/apps/kvmd/auth.py:57 #: kvmd/apps/kvmd/auth.py:57
msgid "AUTHORIZATION IS DISABLED" msgid "AUTHORIZATION IS DISABLED"
msgstr "身份验证服务已被禁用" msgstr "身份验证服务已被禁用"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-08-06 21:57+0800\n" "POT-Creation-Date: 2024-08-06 21:17+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,31 +21,6 @@ msgstr ""
msgid "Can't determine filename" msgid "Can't determine filename"
msgstr "" msgstr ""
#: kvmd/htserver.py:356
#, python-format
msgid "Registered new client session: %s; clients now: %d"
msgstr ""
#: kvmd/htserver.py:371
#, python-format
msgid "Can't parse JSON event from websocket: %r"
msgstr ""
#: kvmd/htserver.py:377
#, python-format
msgid "Unknown websocket event: %r"
msgstr ""
#: kvmd/htserver.py:384
#, python-format
msgid "Unknown websocket binary event: %r"
msgstr ""
#: kvmd/htserver.py:415
#, python-format
msgid "Removed client socket: %s; clients now: %d"
msgstr ""
#: kvmd/inotify.py:199 #: kvmd/inotify.py:199
#, python-format #, python-format
msgid "Watching for %s" msgid "Watching for %s"
@ -90,10 +65,6 @@ msgstr ""
msgid "Make sure you understand exactly what you are doing!" msgid "Make sure you understand exactly what you are doing!"
msgstr "" msgstr ""
#: kvmd/apps/kvmd/__init__.py:115
msgid "Bye-bye"
msgstr ""
#: kvmd/apps/kvmd/auth.py:57 #: kvmd/apps/kvmd/auth.py:57
msgid "AUTHORIZATION IS DISABLED" msgid "AUTHORIZATION IS DISABLED"
msgstr "" msgstr ""