mirror of https://git.48k.eu/ogclient
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.more_events
parent
683afa6465
commit
1ced3dd069
|
@ -48,7 +48,11 @@ def procsoftware(httpparser, path):
|
|||
return result.decode('utf-8')
|
||||
|
||||
def prochardware(path):
|
||||
try:
|
||||
result = subprocess.check_output([OG_PATH + 'interfaceAdm/InventarioHardware', path], shell=True)
|
||||
except:
|
||||
raise ValueError('Error: Incorrect command value')
|
||||
|
||||
return result.decode('utf-8')
|
||||
|
||||
def procsetup(httpparser):
|
||||
|
|
|
@ -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))
|
||||
|
|
Loading…
Reference in New Issue