diff options
author | Alvaro Neira Ayuso <aneira@soleta.eu> | 2020-01-14 13:02:45 +0100 |
---|---|---|
committer | Alvaro Neira Ayuso <alvaroneay@gmail.com> | 2020-01-19 19:50:44 +0100 |
commit | 38b57c4ae43e062049d8a2a1a33f9a790a18b327 (patch) | |
tree | 4cb34789ab0d18936f21cea82d127d2d3f39381c /src | |
parent | a306b8b9d8cc3248f05dd4b5971a6ddd97ab1cde (diff) |
Improve setup command response
This patch adds a new response support. This way allows us to send a new
response message with more information about the partitions already set up.
The format of the response is:
{ "disk" : "1", "cache" : "1", "cache_size" : "0",
"partition_setup": [{"partition": "1", "code": "LINUX", "filesystem": "EMPTY",
"size": "498688", "format": "0"}...]
Diffstat (limited to 'src')
-rw-r--r-- | src/linux/ogOperations.py | 23 | ||||
-rw-r--r-- | src/ogRest.py | 13 |
2 files changed, 31 insertions, 5 deletions
diff --git a/src/linux/ogOperations.py b/src/linux/ogOperations.py index 1aa454f..3fa636e 100644 --- a/src/linux/ogOperations.py +++ b/src/linux/ogOperations.py @@ -60,10 +60,31 @@ def procsetup(httpparser): cache = httpparser.getCache() cachesize = httpparser.getCacheSize() partlist = httpparser.getPartitionSetup() + listConfigs = [] for part in partlist: + i = 0 + json = {} 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) + try: + subprocess.check_output([OG_PATH + 'interfaceAdm/Configurar', disk, cfg], shell=True) + except: + continue + + result = subprocess.check_output([OG_PATH + 'interfaceAdm/getConfiguration'], shell=True) + val = result.decode('utf-8').rstrip().split('\t') + while i < len(val): + val[i] = val[i].split('=')[1] + i += 1 + + json['partition'] = val[1] + json['code'] = val[4] + json['filesystem'] = val[2] + json['size'] = val[5] + json['format'] = val[6] + listConfigs.append(json) + + return listConfigs def procirestore(httpparser): disk = httpparser.getDisk() diff --git a/src/ogRest.py b/src/ogRest.py index 5119eea..cf7a4ee 100644 --- a/src/ogRest.py +++ b/src/ogRest.py @@ -102,8 +102,14 @@ class ogThread(): client.send(restResponse.getResponse(ogResponses.OK, jsonResp)) # Process setup - def procsetup(msgqueue, httpparser): - ogOperations.procsetup(httpparser) + def procsetup(client, httpparser): + jsonResp = jsonResponse() + jsonResp.addElement('disk', httpparser.getDisk()) + jsonResp.addElement('cache', httpparser.getCache()) + jsonResp.addElement('cache_size', httpparser.getCacheSize()) + listconfig = ogOperations.procsetup(httpparser) + jsonResp.addElement('partition_setup', listconfig) + client.send(restResponse.getResponse(ogResponses.OK, jsonResp)) # Process image restore def procirestore(httpparser): @@ -212,8 +218,7 @@ class ogRest(): client.send(restResponse.getResponse(ogResponses.OK)) def process_setup(self, client, httpparser): - threading.Thread(target=ogThread.procsetup, args=(self.msgqueue, httpparser,)).start() - client.send(restResponse.getResponse(ogResponses.OK)) + threading.Thread(target=ogThread.procsetup, args=(client, httpparser,)).start() def process_irestore(self, client, httpparser): threading.Thread(target=ogThread.procirestore, args=(client, httpparser,)).start() |