Skip to content
Snippets Groups Projects
Commit ff1be660 authored by jkerdreu's avatar jkerdreu
Browse files

- Moved shell to toolbox

git-svn-id: https://redmine.imt-atlantique.fr/svn/xaal/code/Python/branches/0.7@3009 b32b6428-25c9-4566-ad07-03861ab6144f
parent 4a40043c
Branches
No related tags found
No related merge requests found
......@@ -37,6 +37,7 @@ setup(
'xaal-pkgrun = xaal.tools.toolbox:pkgrun',
'xaal-keygen = xaal.tools.keygen:main',
'xaal-uuidgen = xaal.tools.uuidgen:main',
'xaal-shell = xaal.tools.toolbox:shell',
],
},
......
from xaal.lib import AsyncEngine, helpers
import IPython
from IPython.lib import backgroundjobs
import logging
# imported modules for convenient use in the shell
from xaal.lib import tools
from xaal.schemas import devices
from pprint import pprint
def main():
helpers.setup_console_logger(logging.WARNING)
#logging.getLogger("blib2to3").setLevel(logging.WARNING)
#logging.getLogger("parso").setLevel(logging.WARNING)
eng = AsyncEngine()
eng.start()
jobs = backgroundjobs.BackgroundJobManager()
jobs.new(eng.run)
bar = "=" * 30
banner1 = bar + " xAAL Shell " + bar
banner2 = f"* AsyncEngine running in background:\n* eng = {eng}\n\n"
IPython.embed(banner1=banner1,
banner2=banner2,
colors="Linux",
confirm_exit = False,
separate_in = '',
autoawait = True)
print("* Ending Engine")
eng.watchdog_event.set()
print("* Bye bye")
if __name__ == '__main__':
main()
......@@ -849,3 +849,37 @@ def pkgrun():
load_pkgs()
helper.run_forever()
def shell():
helper = ToolboxHelper()
helper.parse()
eng = helper.setup_engine()
eng.disable_msg_filter()
# load IPython
try:
import IPython
from IPython.lib import backgroundjobs
except ModuleNotFoundError:
print("Error: Unable to load IPython\n")
print("Please install IPython to use xAAL shell")
print("$ pip install ipython\n")
exit(1)
# run the engine in background
jobs = backgroundjobs.BackgroundJobManager()
jobs.new(eng.run)
# imported modules for convenient use in the shell
from xaal.schemas import devices
IPython.embed(banner1="============================== xAAL Shell ==============================",
banner2=f"* AsyncEngine running in background:\n* eng = {eng}\n\n",
colors="Linux",
confirm_exit = False,
separate_in = '',
autoawait = True)
print("* Ending Engine")
eng.shutdown()
print("* Bye bye")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment