Mercurial > libervia-backend
changeset 4224:8499b3ad5edb
cli (base): fix exit code transmission when `SystemExit` is catched.
author | Goffi <goffi@goffi.org> |
---|---|
date | Tue, 05 Mar 2024 17:31:56 +0100 |
parents | 919bdf7768d8 |
children | cd889f4771cb |
files | libervia/cli/base.py |
diffstat | 1 files changed, 3 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/libervia/cli/base.py Tue Mar 05 17:31:56 2024 +0100 +++ b/libervia/cli/base.py Tue Mar 05 17:31:56 2024 +0100 @@ -734,10 +734,10 @@ self.loop = LiberviaCLILoop() try: self.loop.run(self, args, namespace) - except SystemExit: + except SystemExit as e: # The loop is stopped, but we execute it one more time to call `a_quit` which # will call any cleaning method including async ones. - asyncio.get_event_loop().run_until_complete(self.a_quit()) + asyncio.get_event_loop().run_until_complete(self.a_quit(e.code)) @classmethod def run(cls): @@ -804,7 +804,7 @@ if raise_exc: raise QuitException - async def a_quit(self, exit_code=0, raise_exc=True): + async def a_quit(self, exit_code: int=0, raise_exc=True): """Execute async quit callback before actually quitting This method should be prefered to ``quit``, as it executes async quit callbacks