Add console

This commit is contained in:
Maxim Khomutov 2022-10-01 13:56:57 +03:00
parent 154fa19e9b
commit cbc493b9c5
5 changed files with 42 additions and 5 deletions

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule ".\\src\\modules\\console"]
path = .\\src\\modules\\console
url = https://github.com/SantaSpeen/cli-in-python

View File

@ -1 +1,2 @@
PyYAML~=6.0
PyYAML~=6.0
aioconsole

View File

@ -3,8 +3,8 @@
__title__ = 'KuiToi-Server'
__description__ = 'BeamingDrive Multiplayer server compatible with BeamMP clients.'
__url__ = 'https://github.com/kuitoi/kuitoi-Server'
__version__ = '0.0.3'
__build__ = 21
__version__ = '0.1.0'
__build__ = 36
__author__ = 'SantaSpeen'
__author_email__ = 'SantaSpeen@gmail.com'
__license__ = "FPA"

View File

@ -1,4 +1,13 @@
#!/usr/bin/python3
import argparse
import asyncio
try:
from modules.console.src.console import Console, ConsoleIO
except ImportError:
Console, ConsoleIO = None, None
print("Clone with submodules!")
exit(1)
import __version__
import config_provider
@ -8,9 +17,12 @@ parser = argparse.ArgumentParser(description='KuiToi-Server - BeamingDrive serve
parser.add_argument('-v', '--version', action="store_true", help='Print version and exit.', default=False)
parser.add_argument('--config', help='Patch to config file.', nargs='?', default=None, type=str)
log = utils.get_logger("main")
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
console = Console(prompt_out=":", async_loop=loop)
def main():
def init():
global log
log.info("Hello from KuiToi-Server!")
args = parser.parse_args()
@ -31,6 +43,26 @@ def main():
log = utils.get_logger("main")
log.debug("Debug mode enabled!")
log.debug(f"Server config: {config}")
console.builtins_hook()
console.logger_hook()
def start():
tasks = [
loop.create_task(console.async_run()),
]
loop.run_until_complete(asyncio.wait(tasks))
def end():
log.info("Goodbye!")
if __name__ == '__main__':
main()
init()
try:
start()
except KeyboardInterrupt:
print("Exiting..")
end()

1
src/modules/console Submodule

@ -0,0 +1 @@
Subproject commit 8cd4e59918f259d08f3d3d79071e1cc8d7630fe9