summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/linux/ogOperations.py6
-rw-r--r--src/ogRest.py19
2 files changed, 19 insertions, 6 deletions
diff --git a/src/linux/ogOperations.py b/src/linux/ogOperations.py
index 0034fd7..447f188 100644
--- a/src/linux/ogOperations.py
+++ b/src/linux/ogOperations.py
@@ -48,7 +48,11 @@ def procsoftware(httpparser, path):
return result.decode('utf-8')
def prochardware(path):
- result = subprocess.check_output([OG_PATH + 'interfaceAdm/InventarioHardware', path], shell=True)
+ 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):
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))