summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/linux/ogOperations.py30
-rw-r--r--src/ogRest.py55
2 files changed, 51 insertions, 34 deletions
diff --git a/src/linux/ogOperations.py b/src/linux/ogOperations.py
index bbdfa3d..5c136fa 100644
--- a/src/linux/ogOperations.py
+++ b/src/linux/ogOperations.py
@@ -15,7 +15,8 @@ def reboot():
else:
subprocess.call(['/sbin/reboot'])
-def execCMD(cmd):
+def execCMD(httpparser):
+ cmd = httpparser.getCMD()
cmds = cmd.split(" ")
try:
result = subprocess.check_output(cmds)
@@ -24,11 +25,17 @@ def execCMD(cmd):
return result.decode('utf-8')
-def procsession(disk, partition):
+def procsession(httpparser):
+ disk = httpparser.getDisk()
+ partition = httpparser.getPartition()
+
result = subprocess.check_output([OG_PATH + 'interfaceAdm/IniciarSesion', disk, partition], shell=True)
return result.decode('utf-8')
-def procsoftware(disk, partition, path):
+def procsoftware(httpparser, path):
+ disk = httpparser.getDisk()
+ partition = httpparser.getPartition()
+
result = subprocess.check_output([OG_PATH + 'interfaceAdm/InventarioSoftware', disk, partition, path], shell=True)
return result.decode('utf-8')
@@ -36,11 +43,24 @@ def prochardware(path):
result = subprocess.check_output([OG_PATH + 'interfaceAdm/InventarioHardware', path], shell=True)
return result.decode('utf-8')
-def procsetup(disk, cache, cachesize, partlist):
+def procsetup(httpparser):
+ disk = httpparser.getDisk()
+ cache = httpparser.getCache()
+ cachesize = httpparser.getCacheSize()
+ partlist = httpparser.getPartitionSetup()
+
for part in partlist:
cfg = 'dis=' + disk + '*che=' + cache + '*tch=' + cachesize + '!par=' + part["partition"] + '*cpt='+part["code"] + '*sfi=' + part['filesystem'] + '*tam=' + part['size'] + '*ope=' + part['format'] + '%'
subprocess.check_output([OG_PATH + 'interfaceAdm/Configurar', disk, cfg], shell=True)
-def procirestore(disk, partition, name, repo, ctype, profile, cid):
+def procirestore(httpparser):
+ disk = httpparser.getDisk()
+ partition = httpparser.getPartition()
+ name = httpparser.getName()
+ repo = httpparser.getRepo()
+ ctype = httpparser.getType()
+ profile = httpparser.getProfile()
+ cid = httpparser.getId()
+
result = subprocess.check_output([OG_PATH + 'interfaceAdm/RestaurarImagen', disk, partition, name, repo, ctype], shell=True)
return result.decode('utf-8')
diff --git a/src/ogRest.py b/src/ogRest.py
index 7efd7ea..6e13129 100644
--- a/src/ogRest.py
+++ b/src/ogRest.py
@@ -22,9 +22,9 @@ class jsonResponse():
class ogThread():
# Executing cmd thread
- def execcmd(msgqueue, cmd):
+ def execcmd(msgqueue, httpparser):
msgqueue.queue.clear()
- msgqueue.put(ogOperations.execCMD(cmd))
+ msgqueue.put(ogOperations.execCMD(httpparser))
# Powering off thread
def poweroff():
@@ -36,14 +36,14 @@ class ogThread():
ogOperations.reboot()
# Process session
- def procsession(msgqueue, disk, partition):
+ def procsession(msgqueue, httpparser):
msgqueue.queue.clear()
- msgqueue.put(ogOperations.procsession(disk, partition))
+ msgqueue.put(ogOperations.procsession(httpparser))
# Process software
- def procsoftware(msgqueue, disk, partition, path):
+ def procsoftware(msgqueue, httpparser, path):
msgqueue.queue.clear()
- msgqueue.put(ogOperations.procsoftware(disk, partition, path))
+ msgqueue.put(ogOperations.procsoftware(httpparser, path))
# Process hardware
def prochardware(msgqueue, path):
@@ -51,13 +51,13 @@ class ogThread():
msgqueue.put(ogOperations.prochardware(path))
# Process setup
- def procsetup(msgqueue, disk, cache, cachesize, partlist):
- ogOperations.procsetup(disk, cache, cachesize, partlist)
+ def procsetup(msgqueue, httpparser):
+ ogOperations.procsetup(httpparser)
# Process image restore
- def procirestore(msgqueue, disk, partition, name, repo, ctype, profile, cid):
+ def procirestore(msgqueue, httpparser):
msgqueue.queue.clear()
- msgqueue.put(ogOperations.procirestore(disk, partition, name, repo, ctype, profile, cid))
+ msgqueue.put(ogOperations.procirestore(httpparser))
class ogResponses(Enum):
BAD_REQUEST=0
@@ -107,18 +107,15 @@ class ogRest():
elif ("reboot" in URI):
self.process_reboot(client)
elif ("shell/run" in URI):
- self.process_shellrun(client, httpparser.getCMD())
+ self.process_shellrun(client, httpparser)
elif ("session" in URI):
- self.process_session(client, httpparser.getDisk(), httpparser.getPartition())
+ self.process_session(client, httpparser)
elif ("software" in URI):
- self.process_software(client, httpparser.getDisk(), httpparser.getPartition())
+ self.process_software(client, httpparser)
elif ("setup" in URI):
- self.process_setup(client, httpparser.getDisk(), httpparser.getCache(), httpparser.getCacheSize(), httpparser.getPartitionSetup())
+ self.process_setup(client, httpparser)
elif ("image/restore" in URI):
- self.process_irestore(client, httpparser.getDisk(),
- httpparser.getPartition(), httpparser.getName(),
- httpparser.getRepo(), httpparser.getType(),
- httpparser.getProfile(), httpparser.getId())
+ self.process_irestore(client, httpparser)
else:
client.send(self.getResponse(ogResponses.BAD_REQUEST))
else:
@@ -139,13 +136,13 @@ class ogRest():
def process_probe(self, client):
client.send(self.getResponse(ogResponses.OK))
- def process_shellrun(self, client, cmd):
- if cmd == None:
+ def process_shellrun(self, client, httpparser):
+ if httpparser.getCMD() == None:
client.send(self.getResponse(ogResponses.BAD_REQUEST))
return
try:
- ogThread.execcmd(self.msgqueue, cmd)
+ ogThread.execcmd(self.msgqueue, httpparser)
except ValueError as err:
print(err.args[0])
client.send(self.getResponse(ogResponses.BAD_REQUEST))
@@ -162,13 +159,13 @@ class ogRest():
jsonResp.addElement('out', self.msgqueue.get())
client.send(self.getResponse(ogResponses.OK, jsonResp))
- def process_session(self, client, disk, partition):
- threading.Thread(target=ogThread.procsession, args=(self.msgqueue, disk, partition,)).start()
+ def process_session(self, client, httpparser):
+ threading.Thread(target=ogThread.procsession, args=(self.msgqueue, httpparser,)).start()
client.send(self.getResponse(ogResponses.OK))
- def process_software(self, client, disk, partition):
+ def process_software(self, client, httpparser):
path = '/tmp/CSft-' + client.ip + '-' + partition
- threading.Thread(target=ogThread.procsoftware, args=(self.msgqueue, disk, partition, path,)).start()
+ threading.Thread(target=ogThread.procsoftware, args=(self.msgqueue, httpparser, path,)).start()
client.send(self.getResponse(ogResponses.OK))
def process_hardware(self, client):
@@ -179,10 +176,10 @@ class ogRest():
def process_schedule(self, client):
client.send(self.getResponse(ogResponses.OK))
- def process_setup(self, client, disk, cache, cachesize, partlist):
- threading.Thread(target=ogThread.procsetup, args=(self.msgqueue, disk, cache, cachesize, partlist,)).start()
+ def process_setup(self, client, httpparser):
+ threading.Thread(target=ogThread.procsetup, args=(self.msgqueue, httpparser,)).start()
client.send(self.getResponse(ogResponses.OK))
- def process_irestore(self, client, disk, partition, name, repo, ctype, profile, cid):
- threading.Thread(target=ogThread.procirestore, args=(self.msgqueue, disk, partition, name, repo, ctype, profile, cid,)).start()
+ def process_irestore(self, client, httpparser):
+ threading.Thread(target=ogThread.procirestore, args=(self.msgqueue, httpparser,)).start()
client.send(self.getResponse(ogResponses.OK))