update Options
This commit is contained in:
parent
6737473dd4
commit
d26f8d0d91
@ -19,7 +19,7 @@ import traceback
|
||||
import threading
|
||||
import multiprocessing
|
||||
from pathlib import Path
|
||||
from typing import Optional, Union, TextIO
|
||||
from typing import Optional, Union
|
||||
|
||||
# import psutil
|
||||
# for more system info
|
||||
@ -73,18 +73,6 @@ def to_code(string: str):
|
||||
return f'`{string}`'
|
||||
|
||||
|
||||
def write_markdown_tablet(crash_file: TextIO, tablet: list) -> None:
|
||||
a_len = max(tablet[1], 6)
|
||||
b_len = max(tablet[2], 5)
|
||||
c_len = max(tablet[3], 10)
|
||||
crash_file.write(f'\n| Option{" " * (a_len - 4)} | Value{" " * (b_len - 3)} | Value Type{" " * (c_len - 8)} |\n')
|
||||
crash_file.write(f'|:{"-" * (a_len + 3)}|:{"-" * (b_len + 3)}|:{"-" * (c_len + 3)}|\n')
|
||||
for a, b, c in tablet[0]:
|
||||
b, c = str(b), str(c)
|
||||
crash_file.write(
|
||||
f'| `{a}`{" " * (a_len - len(a))} | `{b}`{" " * (b_len - len(b))} | `{c}`{" " * (c_len - len(c))} |\n')
|
||||
|
||||
|
||||
def create_crash_report(info: Optional[str] = None) -> None:
|
||||
crash_info = crash_info_handler(info)
|
||||
if 'crash_report' not in os.listdir('./'):
|
||||
@ -116,8 +104,10 @@ def write_info_to_cache(cache_stream):
|
||||
cache_stream.write(markdown_line_handler(f'DR Version: {Difficult_Rocket.game_version}', level=1))
|
||||
cache_stream.write(markdown_line_handler(f'DR language: {DR_runtime.language}', level=1))
|
||||
cache_stream.write(markdown_line_handler(f'Running Dir: {Path(os.curdir).resolve()}', level=1))
|
||||
write_options(DR_runtime, cache_stream, DR_configs)
|
||||
write_options(DR_option, cache_stream, Process_message)
|
||||
cache_stream.write(f"\n{DR_runtime.as_markdown()}")
|
||||
cache_stream.write(DR_configs)
|
||||
cache_stream.write(f"\n{DR_option.as_markdown()}")
|
||||
cache_stream.write(Process_message)
|
||||
for process in all_process:
|
||||
process: multiprocessing.Process
|
||||
cache_stream.write(markdown_line_handler(f'{process.name}', code=True))
|
||||
@ -148,13 +138,6 @@ def write_info_to_cache(cache_stream):
|
||||
cache_stream.write(markdown_line_handler(f'version: {to_code(platform.version())}', level=1))
|
||||
|
||||
|
||||
def write_options(arg0, cache_stream, arg2):
|
||||
result = arg0.option_with_len()
|
||||
write_markdown_tablet(crash_file=cache_stream, tablet=result)
|
||||
# # DR 的游戏设置
|
||||
cache_stream.write(arg2)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
os.chdir('../../')
|
||||
try:
|
||||
|
@ -5,6 +5,7 @@
|
||||
# -------------------------------
|
||||
|
||||
import traceback
|
||||
from io import StringIO
|
||||
from dataclasses import dataclass
|
||||
from typing import get_type_hints, Type, List, Union, Dict, Any, Callable, Tuple, Optional, TYPE_CHECKING
|
||||
|
||||
@ -137,6 +138,22 @@ class Options:
|
||||
option_list.append((key, value, value_t))
|
||||
return [option_list, max_len_key, max_len_value, max_len_value_t]
|
||||
|
||||
def as_markdown(self) -> str:
|
||||
value = self.option_with_len()
|
||||
cache = StringIO()
|
||||
option_len = max(value[1], len('Option'))
|
||||
value_len = max(value[2], len('Value'))
|
||||
value_type_len = max(value[3], len('Value Type'))
|
||||
cache.write(f"| Option{' '*(option_len-3)}| Value{' '*(value_len-2)}| Value Type{' '*(value_type_len-7)}|\n")
|
||||
cache.write(f'|:{"-" * (option_len+3)}|:{"-" * (value_len+3)}|:{"-" * (value_type_len + 3)}|\n')
|
||||
for option, value, value_t in value[0]:
|
||||
cache.write(f"| `{option}`{' '* (option_len - len(option))} "
|
||||
f"| `{value}`{' '* (value_len - len(str(value)))} "
|
||||
f"| `{value_t}`{' '* (value_type_len - len(str(value_t)))} |\n")
|
||||
result = cache.getvalue()
|
||||
cache.close()
|
||||
return result
|
||||
|
||||
@classmethod
|
||||
def add_option(cls, name: str, value: Union[Callable, object]) -> Dict:
|
||||
if not hasattr(cls, 'options'):
|
||||
|
@ -7,8 +7,8 @@ fonts_folder = "libs/fonts"
|
||||
|
||||
[window]
|
||||
style = "None"
|
||||
width = 1920
|
||||
height = 1017
|
||||
width = 1261
|
||||
height = 935
|
||||
visible = true
|
||||
gui_scale = 1
|
||||
caption = "Difficult Rocket v{DR_version}|DR_rs v{DR_Rust_get_version}"
|
||||
|
@ -70,6 +70,10 @@
|
||||
- Completely removed the `DR_rust` part
|
||||
- 现在 `client` 不会在 `setup()` 中调用 `DR_runtime` 的 `find_mods()` 方法
|
||||
- Now `client` will not call the `find_mods()` method of `DR_runtime` in `setup()`
|
||||
- `Difficult_Rocket.crash`
|
||||
- Remove `write_options` method
|
||||
- Remove `write_markdown_tablet` method
|
||||
- Replace with `Option().as_markdown()`
|
||||
|
||||
### Changes
|
||||
|
||||
@ -101,6 +105,14 @@
|
||||
- 大重构,移除定义,改为引用
|
||||
- Big refactoring, remove definition, change to reference
|
||||
|
||||
### Add
|
||||
|
||||
- `Difficult_Rocket.api.types.Options`
|
||||
- 添加 `as_markdown` 方法
|
||||
- 用于方便的用人类可读的 Markdown 格式 直接输出一个已经实例化的 `Options` 类的所有字段
|
||||
- Add `as_markdown` method
|
||||
- Used to easily output all fields of an instantiated `Options` class in a human-readable Markdown format
|
||||
|
||||
### Docs
|
||||
|
||||
- `howto/translate.md`
|
||||
|
Loading…
Reference in New Issue
Block a user