refactor: make web more REST

This commit is contained in:
Dobin
2024-03-28 20:24:15 +00:00
parent c4e992e7c6
commit d6e68d3014
3 changed files with 14 additions and 21 deletions
+6 -11
View File
@@ -9,7 +9,7 @@
<div class="indent"> <div class="indent">
<h2> {{project_name}} </h2> <h2> {{project_name}} </h2>
<form method="POST" enctype="multipart/form-data" action="/add_project"> <form method="POST" enctype="multipart/form-data" action="/project_add">
<input type="hidden" name="project_name" value="{{project_name}}"> <input type="hidden" name="project_name" value="{{project_name}}">
<div class="row"> <div class="row">
@@ -92,8 +92,7 @@
<div class="col-6"> <div class="col-6">
<form method="POST" enctype="multipart/form-data" action="/build_project"> <form method="POST" enctype="multipart/form-data" action="/project/{{project_name}}/build">
<input type="hidden" name="project_name" value="{{project_name}}">
<button class="btn btn-primary" type="submit" value="start">Build</button> <button class="btn btn-primary" type="submit" value="start">Build</button>
</form> </form>
</div> </div>
@@ -101,24 +100,20 @@
<div class="row"> <div class="row">
<div class="col-6"> <div class="col-6">
<form method="POST" enctype="multipart/form-data" action="/exec_project"> <form method="POST" enctype="multipart/form-data" action="/project/{{project_name}}/exec">
<input type="hidden" name="project_name" value="{{project_name}}">
<button class="btn btn-primary" type="submit" value="start">Start Local</button> <button class="btn btn-primary" type="submit" value="start">Start Local</button>
</form> </form>
<form method="POST" enctype="multipart/form-data" action="/exec_project?no_exec=true"> <form method="POST" enctype="multipart/form-data" action="/project/{{project_name}}/exec?no_exec=true">
<input type="hidden" name="project_name" value="{{project_name}}">
<button class="btn btn-primary" type="submit" value="start">File Local</button> <button class="btn btn-primary" type="submit" value="start">File Local</button>
</form> </form>
</div> </div>
<div class="col-6"> <div class="col-6">
<form method="POST" enctype="multipart/form-data" action="/exec_project?remote=true"> <form method="POST" enctype="multipart/form-data" action="/project/{{project_name}}/exec?remote=true">
<input type="hidden" name="project_name" value="{{project_name}}">
<button class="btn btn-primary" type="submit" value="start">Start Remote</button> <button class="btn btn-primary" type="submit" value="start">Start Remote</button>
</form> </form>
<form method="POST" enctype="multipart/form-data" action="/exec_project?remote=true&no_exec=true"> <form method="POST" enctype="multipart/form-data" action="/project/{{project_name}}/exec?remote=true&no_exec=true">
<input type="hidden" name="project_name" value="{{project_name}}">
<button class="btn btn-primary" type="submit" value="start">File Remote</button> <button class="btn btn-primary" type="submit" value="start">File Remote</button>
</form> </form>
</div> </div>
+1 -1
View File
@@ -12,7 +12,7 @@
<div class="col-md-3"> <div class="col-md-3">
<form method="POST" enctype="multipart/form-data" action="/add_project"> <form method="POST" enctype="multipart/form-data" action="/api/project">
<div class="row row-cols-lg-auto g-3"> <div class="row row-cols-lg-auto g-3">
+7 -9
View File
@@ -157,7 +157,7 @@ def project(name):
) )
@views.route("/add_project", methods=['POST', 'GET']) @views.route("/project_add", methods=['POST', 'GET'])
def add_project(): def add_project():
if request.method == 'POST': if request.method == 'POST':
settings = Settings() settings = Settings()
@@ -247,11 +247,10 @@ def supermega_thread(project: Project):
) )
@views.route("/build_project", methods=['POST', 'GET']) @views.route("/project/<project_name>/build", methods=['POST', 'GET'])
def build_project(): def build_project(project_name):
global thread_running global thread_running
project_name = request.form.get('project_name')
project = storage.get_project(project_name) project = storage.get_project(project_name)
project.settings.try_start_final_infected_exe = False project.settings.try_start_final_infected_exe = False
@@ -259,10 +258,10 @@ def build_project():
thread.start() thread.start()
thread_running = True thread_running = True
return redirect("/status_project/{}".format(project_name), code=302) return redirect("/project/{}/status".format(project_name), code=302)
@views.route("/status_project/<project_name>") @views.route("/project/<project_name>/status")
def status_project(project_name): def status_project(project_name):
global thread_running global thread_running
if thread_running: if thread_running:
@@ -273,9 +272,8 @@ def status_project(project_name):
return redirect("/project/{}".format(project_name), code=302) return redirect("/project/{}".format(project_name), code=302)
@views.route("/exec_project", methods=['POST', 'GET']) @views.route("/project/<project_name>/exec", methods=['POST', 'GET'])
def start_project(): def start_project(project_name):
project_name = request.form.get('project_name')
project = storage.get_project(project_name) project = storage.get_project(project_name)
if project == None: if project == None:
return redirect("/", code=302) return redirect("/", code=302)