summaryrefslogtreecommitdiffstats
path: root/src/ogRest.py
diff options
context:
space:
mode:
authorAlvaro Neira Ayuso <aneira@soleta.eu>2020-01-13 19:20:13 +0100
committerAlvaro Neira Ayuso <alvaroneay@gmail.com>2020-01-19 19:50:44 +0100
commit1ced3dd0693fc6d88c0d5ec8432102454e10075e (patch)
tree7385e7bea7359e10e0470e537c904228b62905a5 /src/ogRest.py
parent683afa64657bf661f719e4e646457353199f38ec (diff)
Improve hardware command response behavior
This patch give us a better support in case of error or success execution. In error cases, the new behavior is to send an Internal Error http message (500). Otherwise, the server will receive a message with a json with this format: { "hardware" : "xyz" } "xyz" is the output saved in a specific path during the execution of InventarioHardware.
Diffstat (limited to 'src/ogRest.py')
-rw-r--r--src/ogRest.py19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/ogRest.py b/src/ogRest.py
index 90f58e7..99ecdbc 100644
--- a/src/ogRest.py
+++ b/src/ogRest.py
@@ -87,9 +87,19 @@ class ogThread():
client.send(restResponse.getResponse(ogResponses.OK, jsonResp))
# Process hardware
- def prochardware(msgqueue, path):
- msgqueue.queue.clear()
- msgqueue.put(ogOperations.prochardware(path))
+ def prochardware(client, path):
+ try:
+ ogOperations.prochardware(path)
+ except ValueError as err:
+ client.send(restResponse.getResponse(ogResponses.INTERNAL_ERR))
+ return
+
+ jsonResp = jsonResponse()
+ f = open(path, "r")
+ lines = f.readlines()
+ f.close()
+ jsonResp.addElement('hardware', lines[0])
+ client.send(restResponse.getResponse(ogResponses.OK, jsonResp))
# Process setup
def procsetup(msgqueue, httpparser):
@@ -191,8 +201,7 @@ class ogRest():
def process_hardware(self, client):
path = '/tmp/Chrd-' + client.ip
- threading.Thread(target=ogThread.prochardware, args=(self.msgqueue, path,)).start()
- client.send(restResponse.getResponse(ogResponses.OK))
+ threading.Thread(target=ogThread.prochardware, args=(client, path,)).start()
def process_schedule(self, client):
client.send(restResponse.getResponse(ogResponses.OK))