[Fuego] [PATCH] Add support for get_board api on fserver
Pavan Arun Deshpande <[email protected]> Tue, 18 May 2021 17:40:05 +0530
| Newsgroups | dev.linux.lists.fuego |
|---|---|
| Message-ID | <CAMQEYMeYM=tYcR1+_jb55m3QiJir_-kyq00jCaeOGnGJC+31=g@mail.gmail.com> |
Hi Tim, I have copied the fserver patch below. if any suggestions let me know. Subject: [PATCH] Add support for get_board api on fserver This allows a client to get board fields information from <board>.json file located on fserver Signed-off-by: Pavan Arun Deshpande <[email protected]> --- fserver.py | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/fserver.py b/fserver.py index a4bca89..e23d122 100755 --- a/fserver.py +++ b/fserver.py @@ -64,11 +64,13 @@ VERSION=(0,6,0) # 2. local fserver in Fuego container # 3. test fserver on Tim's private server machine (birdcloud.org) # 4. test fserver on Tim's home desktop machine (timdesk) -base_dir = "/home/ubuntu/work/fserver/fserver-data" +#base_dir = "/home/ubuntu/work/fserver/fserver-data" +base_dir = "/home/pavan.ad/fserver/fserver/fserver-data" if not os.path.exists(base_dir): base_dir = "/usr/local/lib/fserver/fserver-data" if not os.path.exists(base_dir): - base_dir = "/home/tbird/work/fserver/fserver-data" + #base_dir = "/home/tbird/work/fserver/fserver-data" + base_dir = "/home/pavan.ad/fserver/fserver/fserver-data" # this is used for debugging only def log_this(msg): @@ -527,6 +529,37 @@ def do_update_board(req): send_response(result, msg) +def do_get_board(req): + req_data_dir = req.config.data_dir + os.sep + "boards" + result = "OK" + msg = "" + + try: + host = req.form["host"].value + board = req.form["board"].value + except: + msg += "Error: missing host or board in form data" + send_response("FAIL", msg) + return + + filename = "board-%s:%s" % (host, board) + jfilepath = req_data_dir + os.sep + filename + ".json" + + # check that board is already registered + if not os.path.exists(jfilepath): + msg += "Error: board '%s:%s' is not registered" % (host, board) + send_response("FAIL", msg) + return + + #retrieving <board>.json fields into board dictionary + import json + board_fd = open(jfilepath, "r") + msg = board_fd.read() + board_fd.close() + + send_response(result,msg) + + def do_put_request(req): req_data_dir = req.config.data_dir + os.sep + "requests" result = "OK" @@ -1445,7 +1478,7 @@ def main(req): log_this("DEBUG: in main(), after call to cgi.FieldStorage") action_list = ["show", "put_test", "put_run", "put_request", - "put_binary_package", "put_board", "update_board", + "put_binary_package", "put_board", "update_board", "get_board", "query_boards", "query_requests", "query_runs", "query_tests", "get_request", "get_run_url", "get_test", "remove_request", "remove_test", "remove_run", -- 2.17.1 Thanks and Regards Pavan Arun Deshpande -- This message contains confidential information and is intended only for the individual(s) named. If you are not the intended recipient, you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this mail and attached file/s is strictly prohibited. Please notify the sender immediately and delete this e-mail from your system. E-mail transmission cannot be guaranteed to be secured or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message, which arise as a result of e-mail transmission.