diff options
author | Alvaro Neira Ayuso <aneira@soleta.eu> | 2020-01-02 20:25:47 +0100 |
---|---|---|
committer | Alvaro Neira Ayuso <alvaroneay@gmail.com> | 2020-01-19 19:50:44 +0100 |
commit | 6d1e79b8eb898d12fd5e2fa83489fc26f956bb8e (patch) | |
tree | 2a81ec9f949fa835b7cccdf1db4e91b9ff9ad22f | |
parent | 2fa8aa4ff7deaf92c5b69be0c69fee95ce18ac37 (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.py | 4 | ||||
-rw-r--r-- | src/ogRest.py | 12 |
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)) |