summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlvaro Neira Ayuso <aneira@soleta.eu>2020-01-02 20:25:47 +0100
committerAlvaro Neira Ayuso <alvaroneay@gmail.com>2020-01-19 19:50:44 +0100
commit6d1e79b8eb898d12fd5e2fa83489fc26f956bb8e (patch)
tree2a81ec9f949fa835b7cccdf1db4e91b9ff9ad22f
parent2fa8aa4ff7deaf92c5b69be0c69fee95ce18ac37 (diff)
Add software command to inventory the machine software
ogAdmClient has a support to inventory the software in a machine. This new command allows the new ogClient to execute the same script to inventory the sw. The arguments will be received from the server as a json message. Format: { "disk" : "0", "partition" : "1"}
-rw-r--r--src/linux/ogOperations.py4
-rw-r--r--src/ogRest.py12
2 files changed, 16 insertions, 0 deletions
diff --git a/src/linux/ogOperations.py b/src/linux/ogOperations.py
index 34ba400..c11ee30 100644
--- a/src/linux/ogOperations.py
+++ b/src/linux/ogOperations.py
@@ -27,3 +27,7 @@ def execCMD(cmd):
def procsession(disk, partition):
result = subprocess.check_output([OG_PATH + 'interfaceAdm/IniciarSesion', disk, partition], shell=True)
return result.decode('utf-8')
+
+def procsoftware(disk, partition, path):
+ result = subprocess.check_output([OG_PATH + 'interfaceAdm/InventarioSoftware', disk, partition, path], shell=True)
+ return result.decode('utf-8')
diff --git a/src/ogRest.py b/src/ogRest.py
index 07a5052..680bfd3 100644
--- a/src/ogRest.py
+++ b/src/ogRest.py
@@ -40,6 +40,11 @@ class ogThread():
msgqueue.queue.clear()
msgqueue.put(ogOperations.procsession(disk, partition))
+ # Process software
+ def procsoftware(msgqueue, disk, partition, path):
+ msgqueue.queue.clear()
+ msgqueue.put(ogOperations.procsoftware(disk, partition, path))
+
class ogResponses(Enum):
BAD_REQUEST=0
IN_PROGRESS=1
@@ -87,6 +92,8 @@ class ogRest():
self.process_shellrun(client, httpparser.getCMD())
elif ("session" in URI):
self.process_session(client, httpparser.getDisk(), httpparser.getPartition())
+ elif ("software" in URI):
+ self.process_software(client, httpparser.getDisk(), httpparser.getPartition())
else:
client.send(self.getResponse(ogResponses.BAD_REQUEST))
else:
@@ -133,3 +140,8 @@ class ogRest():
def process_session(self, client, disk, partition):
threading.Thread(target=ogThread.procsession, args=(self.msgqueue, disk, partition,)).start()
client.send(self.getResponse(ogResponses.OK))
+
+ def process_software(self, client, disk, partition):
+ path = '/tmp/CSft-' + client.ip + '-' + partition
+ threading.Thread(target=ogThread.procsoftware, args=(self.msgqueue, disk, partition, path,)).start()
+ client.send(self.getResponse(ogResponses.OK))