mirror of
https://github.com/kuitoi/kuitoi-Server.git
synced 2025-08-18 08:45:37 +00:00
Non CMD mode.
This commit is contained in:
parent
6d01f0ef8d
commit
f52c73ab76
@ -14,6 +14,7 @@ from prompt_toolkit import PromptSession, print_formatted_text, HTML
|
|||||||
from prompt_toolkit.auto_suggest import AutoSuggestFromHistory
|
from prompt_toolkit.auto_suggest import AutoSuggestFromHistory
|
||||||
from prompt_toolkit.completion import NestedCompleter
|
from prompt_toolkit.completion import NestedCompleter
|
||||||
from prompt_toolkit.history import FileHistory
|
from prompt_toolkit.history import FileHistory
|
||||||
|
from prompt_toolkit.output.win32 import NoConsoleScreenBufferError
|
||||||
from prompt_toolkit.patch_stdout import patch_stdout
|
from prompt_toolkit.patch_stdout import patch_stdout
|
||||||
|
|
||||||
from core import get_logger
|
from core import get_logger
|
||||||
@ -28,6 +29,7 @@ class Console:
|
|||||||
debug=False) -> None:
|
debug=False) -> None:
|
||||||
self.__logger = get_logger("console")
|
self.__logger = get_logger("console")
|
||||||
self.__is_run = False
|
self.__is_run = False
|
||||||
|
self.no_cmd = False
|
||||||
self.__prompt_in = prompt_in
|
self.__prompt_in = prompt_in
|
||||||
self.__prompt_out = prompt_out
|
self.__prompt_out = prompt_out
|
||||||
self.__not_found = not_found
|
self.__not_found = not_found
|
||||||
@ -128,10 +130,18 @@ class Console:
|
|||||||
return self.__alias.copy()
|
return self.__alias.copy()
|
||||||
|
|
||||||
def _write(self, t):
|
def _write(self, t):
|
||||||
if t.startswith("html:"):
|
if self.no_cmd:
|
||||||
print_formatted_text(HTML(t[5:]))
|
print(t)
|
||||||
else:
|
return
|
||||||
print_formatted_text(t)
|
try:
|
||||||
|
if t.startswith("html:"):
|
||||||
|
print_formatted_text(HTML(t[5:]))
|
||||||
|
else:
|
||||||
|
print_formatted_text(t)
|
||||||
|
except NoConsoleScreenBufferError:
|
||||||
|
print("Works in non cmd mode.")
|
||||||
|
self.no_cmd = True
|
||||||
|
print(t)
|
||||||
|
|
||||||
def write(self, s: AnyStr):
|
def write(self, s: AnyStr):
|
||||||
if isinstance(s, (list, tuple)):
|
if isinstance(s, (list, tuple)):
|
||||||
@ -202,11 +212,18 @@ class Console:
|
|||||||
while True:
|
while True:
|
||||||
try:
|
try:
|
||||||
with patch_stdout():
|
with patch_stdout():
|
||||||
cmd_in = await session.prompt_async(
|
if self.no_cmd:
|
||||||
self.__prompt_in,
|
cmd_in = input(self.__prompt_in)
|
||||||
completer=self.completer,
|
else:
|
||||||
auto_suggest=AutoSuggestFromHistory()
|
try:
|
||||||
)
|
cmd_in = await session.prompt_async(
|
||||||
|
self.__prompt_in,
|
||||||
|
completer=self.completer,
|
||||||
|
auto_suggest=AutoSuggestFromHistory()
|
||||||
|
)
|
||||||
|
except NoConsoleScreenBufferError:
|
||||||
|
print("Works in non cmd mode.")
|
||||||
|
self.no_cmd = True
|
||||||
cmd_s = cmd_in.split(" ")
|
cmd_s = cmd_in.split(" ")
|
||||||
cmd = cmd_s[0]
|
cmd = cmd_s[0]
|
||||||
if cmd == "":
|
if cmd == "":
|
||||||
|
Loading…
x
Reference in New Issue
Block a user