#750: Adapting route {{GET /command}}} parameters.
parent
633c90c26e
commit
85f395ee78
|
@ -108,7 +108,8 @@ class OpenGnSysWorker(ServerWorker):
|
|||
interface = None # Bound interface for OpenGnsys
|
||||
REST = None # REST object
|
||||
logged_in = False # User session flag
|
||||
locked = {}
|
||||
locked = {} # Locked partitions
|
||||
commands = [] # Running commands
|
||||
random = None # Random string for secure connections
|
||||
length = 32 # Random string length
|
||||
|
||||
|
@ -392,10 +393,11 @@ class OpenGnSysWorker(ServerWorker):
|
|||
(stat, out, err) = operations.exec_command(code)
|
||||
# Removing command from the list
|
||||
for c in self.commands:
|
||||
if c.has_key('id') and c['id'] == op_id:
|
||||
if c.getName() == op_id:
|
||||
self.commands.remove(c)
|
||||
# Sending results
|
||||
self.REST.sendMessage(route, {'id': op_id, 'status': stat, 'output': out, 'error': err})
|
||||
self.REST.sendMessage(route, {'client': self.interface.ip, 'trace': op_id, 'status': stat, 'output': out,
|
||||
'error': err})
|
||||
|
||||
def process_command(self, path, get_params, post_params, server):
|
||||
"""
|
||||
|
@ -404,8 +406,8 @@ class OpenGnSysWorker(ServerWorker):
|
|||
:param get_params: ignored
|
||||
:param post_params: object with format:
|
||||
id: operation id.
|
||||
code: command code
|
||||
route: callback URL
|
||||
script: command code
|
||||
redirect_url: callback REST route
|
||||
:param server: headers data
|
||||
:rtype: object with launching status
|
||||
"""
|
||||
|
@ -413,17 +415,17 @@ class OpenGnSysWorker(ServerWorker):
|
|||
self.checkSecret(server)
|
||||
# Processing data
|
||||
try:
|
||||
code = post_params.get('code')
|
||||
script = post_params.get('script')
|
||||
op_id = post_params.get('id')
|
||||
route = post_params.get('route')
|
||||
route = post_params.get('redirect_url')
|
||||
# Checking if the thread id. exists
|
||||
for c in self.commands:
|
||||
if c.has_key('id') and c['id'] == op_id:
|
||||
if c.getName() == op_id:
|
||||
raise Exception('Task id. already exists: {}'.format(op_id))
|
||||
# Launching a new thread
|
||||
thr = threading.Thread(name=op_id, target=self.task_command, args=(code, route, op_id))
|
||||
thr = threading.Thread(name=op_id, target=self.task_command, args=(script, route, op_id))
|
||||
thr.start()
|
||||
self.commands.append({'id': op_id, 'code': code})
|
||||
self.commands.append(thr)
|
||||
except Exception as e:
|
||||
logger.error('Got exception {}'.format(e))
|
||||
return {'error': e}
|
||||
|
@ -438,12 +440,14 @@ class OpenGnSysWorker(ServerWorker):
|
|||
:param server:
|
||||
:return: object
|
||||
"""
|
||||
#data = []
|
||||
#for c in self.commands:
|
||||
# if c.is_alive():
|
||||
# data.append({'name': c.getName(), 'code': c.__dict__['_Thread__args']})
|
||||
#return data
|
||||
return self.commands
|
||||
data = []
|
||||
logger.debug('Received execinfo operation')
|
||||
self.checkSecret(server)
|
||||
# Returning the arguments of all running threads
|
||||
for c in self.commands:
|
||||
if c.is_alive():
|
||||
data.append(c.__dict__['_Thread__args'])
|
||||
return data
|
||||
|
||||
def process_hardware(self, path, get_params, post_params, server):
|
||||
"""
|
||||
|
@ -454,7 +458,7 @@ class OpenGnSysWorker(ServerWorker):
|
|||
:param server:
|
||||
"""
|
||||
data = []
|
||||
logger.debug('Recieved hardware operation')
|
||||
logger.debug('Received hardware operation')
|
||||
self.checkSecret(server)
|
||||
# Processing data
|
||||
try:
|
||||
|
@ -474,5 +478,5 @@ class OpenGnSysWorker(ServerWorker):
|
|||
:param server:
|
||||
:return:
|
||||
"""
|
||||
logger.debug('Recieved software operation with params: {}'.format(post_params))
|
||||
logger.debug('Received software operation with params: {}'.format(post_params))
|
||||
return operations.get_software(post_params.get('disk'), post_params.get('part'))
|
||||
|
|
Loading…
Reference in New Issue