comparison libervia/cli/base.py @ 4193:730f542e4ad0

core: add new `init_script_path` option: `init_script_path` option can be used in `[DEFAULTS]` to run a script at the end of backend initialisation. A new `init_pre_script` method is used to wait for backend to reach this stage (designed to be used mostly by CLI frontend), then the usual `ready_get` method is finished once the script is finished.
author Goffi <goffi@goffi.org>
date Wed, 13 Dec 2023 22:00:22 +0100
parents 783bbdbf8567
children 8499b3ad5edb
comparison
equal deleted inserted replaced
4192:1d24ff583794 4193:730f542e4ad0
711 print( 711 print(
712 _("Error while initialising bridge: {e}").format(e=e) 712 _("Error while initialising bridge: {e}").format(e=e)
713 ) 713 )
714 self.quit(C.EXIT_BRIDGE_ERROR, raise_exc=False) 714 self.quit(C.EXIT_BRIDGE_ERROR, raise_exc=False)
715 return 715 return
716 await self.bridge.ready_get() 716 # we wait on init_pre_script instead of ready_get, so the CLI frontend can be used
717 # in init script.
718 await self.bridge.init_pre_script()
717 self.version = await self.bridge.version_get() 719 self.version = await self.bridge.version_get()
718 self._bridge_connected() 720 self._bridge_connected()
719 self.import_plugins() 721 self.import_plugins()
720 try: 722 try:
721 self.args = self.parser.parse_args(args, namespace=None) 723 self.args = self.parser.parse_args(args, namespace=None)