看起来不错哦

This commit is contained in:
shenjack 2023-02-03 20:31:44 +08:00
parent bd1b6d000c
commit b481d8e012
6 changed files with 46 additions and 46 deletions

View File

@ -89,11 +89,11 @@ class Client:
resizable=tools.format_bool(self.config['window']['resizable']),
visible=tools.format_bool(self.config['window']['visible']),
file_drops=file_drop)
self.logger.info(tr.lang('client', 'setup.done'))
self.logger.info(tr().client.setup.done)
end_time = time.time_ns()
self.use_time = end_time - start_time
self.logger.info(tr.lang('client', 'setup.use_time').format(Decimal(self.use_time) / 1000000000))
self.logger.debug(tr.lang('client', 'setup.use_time_ns').format(self.use_time))
self.logger.info(tr().client.setup.use_time.format(Decimal(self.use_time) / 1000000000))
self.logger.debug(tr().client.setup.use_time_ns.format(self.use_time))
def start(self):
DR_runtime.running = True
@ -188,13 +188,13 @@ class ClientWindow(Window):
# 设置刷新率
pyglet.clock.schedule_interval(self.draw_update, float(self.SPF))
# 完成设置后的信息输出
self.logger.info(tr.lang('window', 'setup.done'))
self.logger.info(tr.lang('window', 'os.pid_is').format(os.getpid(), os.getppid()))
self.logger.info(tr().window.setup.done())
self.logger.info(tr().window.os.pid_is().format(os.getpid(), os.getppid()))
end_time = time.time_ns()
self.use_time = end_time - start_time
DR_runtime.client_setup_cause_ns = self.use_time
self.logger.info(tr.lang('window', 'setup.use_time').format(Decimal(self.use_time) / 1000000000))
self.logger.debug(tr.lang('window', 'setup.use_time_ns').format(self.use_time))
self.logger.info(tr().window.setup.use_time().format(Decimal(self.use_time) / 1000000000))
self.logger.debug(tr().window.setup.use_time_ns().format(self.use_time))
self.count = 0
def setup(self):
@ -295,7 +295,7 @@ class ClientWindow(Window):
@_call_screen_after
def on_command(self, command: line.CommandText):
self.logger.info(tr.lang('window', 'command.text').format(command))
self.logger.info(tr().window.command.text.format(command))
if command.re_match('stop'):
# self.dispatch_event('on_exit')
pyglet.app.platform_event_loop.stop()
@ -316,7 +316,7 @@ class ClientWindow(Window):
@_call_screen_after
def on_message(self, message: line.CommandLine.text):
self.logger.info(tr.lang('window', 'message.text').format(message))
self.logger.info(tr().window.message.text.format(message))
"""
keyboard and mouse input
@ -357,16 +357,16 @@ class ClientWindow(Window):
@_call_screen_after
def on_mouse_press(self, x, y, button, modifiers) -> None:
self.logger.debug(
tr.lang('window', 'mouse.press').format(
[x, y], tr.lang('window', f'mouse.{mouse.buttons_string(button)}')
tr().window.mouse.press().format(
[x, y], tr().window.mouse[mouse.buttons_string(button)]()
)
)
@_call_screen_after
def on_mouse_release(self, x, y, button, modifiers) -> None:
self.logger.debug(
tr.lang('window', 'mouse.release').format(
[x, y], tr.lang('window', f'mouse.{mouse.buttons_string(button)}')
tr().window.mouse.release().format(
[x, y], tr().window.mouse[mouse.buttons_string(button)]()
)
)
@ -377,12 +377,12 @@ class ClientWindow(Window):
key.MOD_SCROLLLOCK)):
self.dispatch_event('on_close')
self.logger.debug(
tr.lang('window', 'key.press').format(key.symbol_string(symbol), key.modifiers_string(modifiers)))
tr().window.key.press().format(key.symbol_string(symbol), key.modifiers_string(modifiers)))
@_call_screen_after
def on_key_release(self, symbol, modifiers) -> None:
self.logger.debug(
tr.lang('window', 'key.release').format(key.symbol_string(symbol), key.modifiers_string(modifiers)))
tr().window.key.release().format(key.symbol_string(symbol), key.modifiers_string(modifiers)))
@_call_screen_after
def on_file_drop(self, x, y, paths):
@ -391,30 +391,30 @@ class ClientWindow(Window):
@_call_screen_after
def on_text(self, text):
if text == '\r':
self.logger.debug(tr.lang('window', 'text.new_line'))
self.logger.debug(tr().window.text.new_line())
else:
self.logger.debug(tr.lang('window', 'text.input').format(text))
self.logger.debug(tr().window.text.input().format(text))
if text == 't':
self.input_box.enabled = True
@_call_screen_after
def on_text_motion(self, motion):
motion_string = key.motion_string(motion)
self.logger.debug(tr.lang('window', 'text.motion').format(motion_string))
self.logger.debug(tr().window.text.motion.format(motion_string)())
@_call_screen_after
def on_text_motion_select(self, motion):
motion_string = key.motion_string(motion)
self.logger.debug(tr.lang('window', 'text.motion_select').format(motion_string))
self.logger.debug(tr().window.text.motion_select.format(motion_string)())
@_call_screen_before
def on_close(self, source: str = 'window') -> None:
self.logger.info(tr.lang('window', 'game.stop_get').format(tr.lang('window', f'game.{source}_stop')))
self.logger.info(tr.lang('window', 'game.stop'))
self.logger.info(tr().window.game.stop_get().format(tr().game[source]))
self.logger.info(tr().window.game.stop())
self.fps_log.check_list = False
DR_runtime.running = False
if self.run_input:
self.run_input = False
self.save_info()
super().on_close()
self.logger.info(tr.lang('window', 'game.end'))
self.logger.info(tr().window.game.end())

View File

@ -49,8 +49,8 @@ class Game:
os.mkdir('logs')
logging.config.dictConfig(log_config)
self.logger = logging.getLogger('main')
self.logger.info(tr['main']['logger.mkdir'])
self.logger.info(tr['main']['logger.created'])
self.logger.info(tr().main.logger.mkdir())
self.logger.info(tr().main.logger.created())
# version check
self.python_version_check()
self.setup()
@ -60,12 +60,12 @@ class Game:
self.server = server.Server(net_mode='local')
def python_version_check(self) -> None: # best 3.8+ and write at 3.8.10
self.logger.info(f"{tr().main['version.now_on']} {self.on_python_v}")
self.logger.info(f"{tr().main.version.now_on()} {self.on_python_v}")
if self.on_python_v_info[0] == 2:
self.logger.critical(f"{tr['main']['version.need3+']}")
raise SystemError(f"{tr['main']['version.need3+']}")
self.logger.critical(tr().main.version.need3p())
raise SystemError(tr().main.version.need3p())
elif self.on_python_v_info[1] < 8:
warning = tools.name_handler(tr['main']['version.best3.8+'])
warning = tools.name_handler(tr.main.version.best38p())
self.logger.warning(warning)
# @new_thread('main')

View File

@ -37,7 +37,7 @@ class Server:
self.config = tools.load_file('configs/main.toml')
# self.dev = Dev
# self.net_mode = net_mode
self.logger.info(tr.lang('server', 'setup.done'))
self.logger.info(tr().server.setup.done())
def run(self):
self.logger.info(tr.lang('server', 'os.pid_is').format(os.getpid(), os.getppid()))
self.logger.info(tr().server.os.pid_is().format(os.getpid(), os.getppid()))

View File

@ -24,7 +24,7 @@ from Difficult_Rocket.exception.language import *
@dataclass
class TranslateConfig:
raise_error: bool = False # 引用错误时抛出错误
crack_normal: bool = False # 出现错误引用后 将引用到的正确内容替换为引用路径
crack_normal: bool = True # 出现错误引用后 将引用到的正确内容替换为引用路径
insert_crack: bool = True # 加入引用的错误内容
is_final: bool = False # 是否为最终内容
keep_get: bool = True # 引用错误后是否继续引用
@ -112,18 +112,18 @@ class Translates:
if self.config.always_copy:
return Translates(value=cache_value, config=self.config, get_list=self.get_list)
self.value = cache_value
return self
except (KeyError, TypeError, AttributeError) as e:
self.get_list.append((False, item))
self._raise_no_value(e, item)
if not self.config.keep_get:
self.config.is_final = True
def __call__(self, *args, **kwargs):
if len(self.get_list) == 0:
return self
def __call__(self, *args, **kwargs) -> Union[dict, list, int, str]:
if len(self.get_list) == 0:
return self.__str__()
if any([x[0] for x in self.get_list]):
return
return self.__str__()
def copy(self):
return self.__copy__()
@ -132,12 +132,14 @@ class Translates:
return Translates(value=self.value, config=self.config, get_list=self.get_list)
def __getattr__(self, item: key_type) -> "Translates":
if self.config.is_final and hasattr(self.value, item):
if (self.config.is_final or any(x[0] for x in self.get_list)) and hasattr(self.value, item):
return getattr(self.value, item)
# 实际上我这里完全不需要处理正常需求,因为 __getattribute__ 已经帮我处理过了
return self.__getitem__(item)
def __str__(self):
if not any(not x[0] for x in self.get_list):
return self.value
if self.config.crack_normal:
return f'{".".join(f"{gets[1]}({gets[0]})" for gets in self.get_list)}'
elif self.config.insert_crack:
@ -172,7 +174,7 @@ class Tr:
else:
return self.default_translate[items]
def lang(self, *items):
def lang(self, *items) -> Translates:
cache = self.translates_cache.copy()
for item in items:
cache = cache[item]

View File

@ -43,9 +43,6 @@ libs.local = "using local pyglet, version: {}"
libs.outer = "using global pyglet, version: {}\n(may cause bug)"
fonts.found = "found fonts in font lib: {}"
fonts.load = "loading fonts: {}"
game.input_stop = "console"
game.command_stop = "in game commands"
game.window_stop = "window"
game.stop_get = "Received closing commands from {}, game closing"
game.stop = "game closing, saving data……"
game.end = "game closed"
@ -55,4 +52,6 @@ setup.done = "Server loaded "
os.pid_is = "Server PID: {} PPID: {}"
[game]
input = "console"
command = "in game commands"
window = "window"

View File

@ -43,9 +43,6 @@ libs.local = "正在使用本地 pyglet 库 版本为: {}"
libs.outer = "正在使用全局 pyglet 库 版本为: {}\n(可能会造成bug因为本地库版本为2.0dev9)"
fonts.found = "在字体列表中找到以下字体库: {}"
fonts.load = "正在加载字体: {}"
game.input_stop = "控制台"
game.command_stop = "游戏内命令行"
game.window_stop = "窗口"
game.stop_get = "从{}传入关闭指令,关闭游戏中"
game.stop = "游戏正在关闭,保存数据中···"
game.end = "游戏已经关闭"
@ -55,4 +52,6 @@ setup.done = "服务端载入完成"
os.pid_is = "服务端 PID: {} PPID: {}"
[game]
input = "控制台"
command = "游戏内命令行"
window = "窗口"