From 3d0aff3d1d47a053a678ecbec69d585cf1bbb275 Mon Sep 17 00:00:00 2001 From: Alejandro Sirgo Rica Date: Fri, 8 Nov 2024 10:06:00 +0100 Subject: cli: ensure the program returns 0 on success and 1 on error propagate a returncode in each operation and make it the returncode of the program. Prevent sys.exit calls in post(), get() and delete() request handlers to enable cleanup code and error handling. Keep a basic error log inside the request functions if the connection can't be established or if the response contains an error code. --- cli/objects/room.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'cli/objects/room.py') diff --git a/cli/objects/room.py b/cli/objects/room.py index f22c843..da9a872 100644 --- a/cli/objects/room.py +++ b/cli/objects/room.py @@ -65,7 +65,7 @@ class OgRoom(): err = True if err: parser.print_help(file=sys.stderr) - sys.exit(1) + return 1 payload = { 'name': parsed_args.name, @@ -82,7 +82,10 @@ class OgRoom(): payload['folder_id'] = parsed_args.folder if parsed_args.desc: payload['location'] = parsed_args.desc - rest.post('/room/add', payload=payload) + res = rest.post('/room/add', payload=payload) + if not res: + return 1 + return 0 @staticmethod def update_room(rest, args): @@ -115,7 +118,7 @@ class OgRoom(): err = True if err: parser.print_help(file=sys.stderr) - sys.exit(1) + return 1 payload = { 'id': parsed_args.id, @@ -124,7 +127,10 @@ class OgRoom(): 'gateway': parsed_args.gateway, } - rest.post('/room/update', payload=payload) + res = rest.post('/room/update', payload=payload) + if not res: + return 1 + return 0 @staticmethod def delete_room(rest, args): @@ -136,5 +142,8 @@ class OgRoom(): help='room id in database') parsed_args = parser.parse_args(args) payload = {'id': parsed_args.id} - rest.post('/room/delete', payload=payload) + res = rest.post('/room/delete', payload=payload) + if not res: + return 1 + return 0 -- cgit v1.2.3-18-g5258