fix: using try/finally to return the html and then call the action
This commit is contained in:
parent
bdf585afe5
commit
58b0b0fea0
@ -105,10 +105,11 @@ class RequestHandler:
|
|||||||
self._app.add_url_rule('/shutdown', 'shutdown', self.shutdown, methods=['POST'])
|
self._app.add_url_rule('/shutdown', 'shutdown', self.shutdown, methods=['POST'])
|
||||||
self._app.add_url_rule('/restart', 'restart', self.restart, methods=['POST'])
|
self._app.add_url_rule('/restart', 'restart', self.restart, methods=['POST'])
|
||||||
# plugins
|
# plugins
|
||||||
self._app.add_url_rule('/plugins', 'plugins', self.plugins, strict_slashes=False, defaults={'name': None, 'subpath': None})
|
self._app.add_url_rule('/plugins', 'plugins', self.plugins, strict_slashes=False,
|
||||||
self._app.add_url_rule('/plugins/<name>', 'plugins', self.plugins, strict_slashes=False, methods=['GET','POST'], defaults={'subpath': None})
|
defaults={'name': None, 'subpath': None})
|
||||||
self._app.add_url_rule('/plugins/<name>/<path:subpath>', 'plugins', self.plugins, methods=['GET','POST'])
|
self._app.add_url_rule('/plugins/<name>', 'plugins', self.plugins, strict_slashes=False,
|
||||||
|
methods=['GET', 'POST'], defaults={'subpath': None})
|
||||||
|
self._app.add_url_rule('/plugins/<name>/<path:subpath>', 'plugins', self.plugins, methods=['GET', 'POST'])
|
||||||
|
|
||||||
def index(self):
|
def index(self):
|
||||||
other_mode = 'AUTO' if Agent.INSTANCE.mode == 'manual' else 'MANU'
|
other_mode = 'AUTO' if Agent.INSTANCE.mode == 'manual' else 'MANU'
|
||||||
@ -130,26 +131,29 @@ class RequestHandler:
|
|||||||
|
|
||||||
# need to return something here
|
# need to return something here
|
||||||
if name in plugins.loaded and hasattr(plugins.loaded[name], 'on_webhook'):
|
if name in plugins.loaded and hasattr(plugins.loaded[name], 'on_webhook'):
|
||||||
return render_template_string(plugins.loaded[name].on_webhook(subpath, args=arguments, req_method=req_method))
|
return render_template_string(
|
||||||
|
plugins.loaded[name].on_webhook(subpath, args=arguments, req_method=req_method))
|
||||||
|
|
||||||
abort(500)
|
abort(500)
|
||||||
|
|
||||||
|
|
||||||
# serve a message and shuts down the unit
|
# serve a message and shuts down the unit
|
||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
pwnagotchi.shutdown()
|
try:
|
||||||
return render_template_string(STATUS_PAGE % (pwnagotchi.name(), 'Shutting down ...'))
|
return render_template_string(STATUS_PAGE % (pwnagotchi.name(), 'Shutting down ...'))
|
||||||
|
finally:
|
||||||
|
pwnagotchi.shutdown()
|
||||||
|
|
||||||
# serve a message and restart the unit in the other mode
|
# serve a message and restart the unit in the other mode
|
||||||
def restart(self):
|
def restart(self):
|
||||||
other_mode = 'AUTO' if Agent.INSTANCE.mode == 'manual' else 'MANU'
|
other_mode = 'AUTO' if Agent.INSTANCE.mode == 'manual' else 'MANU'
|
||||||
pwnagotchi.restart(other_mode)
|
try:
|
||||||
return render_template_string(STATUS_PAGE % (pwnagotchi.name(), 'Restart in %s mode ...' % other_mode))
|
return render_template_string(STATUS_PAGE % (pwnagotchi.name(), 'Restart in %s mode ...' % other_mode))
|
||||||
|
finally:
|
||||||
|
pwnagotchi.restart(other_mode)
|
||||||
|
|
||||||
# serve the PNG file with the display image
|
# serve the PNG file with the display image
|
||||||
def ui(self):
|
def ui(self):
|
||||||
global frame_lock, frame_path
|
global frame_lock, frame_path
|
||||||
|
|
||||||
with frame_lock:
|
with frame_lock:
|
||||||
return send_file(frame_path, mimetype='image/png')
|
return send_file(frame_path, mimetype='image/png')
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user