Initial commit
This commit is contained in:
commit
af7f71e109
2 changed files with 56 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
__pycache__/
|
55
app.py
Normal file
55
app.py
Normal file
|
@ -0,0 +1,55 @@
|
|||
from flask import Flask
|
||||
import datetime
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
# We request users to send the run number to prevent accidentially getting old requests from a previous run
|
||||
# This maybe will give to much errors from people forgetting to change their number
|
||||
# Remove it?
|
||||
|
||||
# TODO
|
||||
# Save and read from a file to persist over reboots
|
||||
# Save progress through time during 1 run
|
||||
# Save result of different runs
|
||||
|
||||
db = {
|
||||
"current_run": 0,
|
||||
"run_start_timer": None,
|
||||
"run_data": {
|
||||
}
|
||||
}
|
||||
|
||||
@app.route("/")
|
||||
def index():
|
||||
return "Okay"
|
||||
|
||||
@app.route("/start_run/<run_index>")
|
||||
def start_run(run_index):
|
||||
db["current_run"] = run_index
|
||||
starttime = datetime.datetime.now()
|
||||
db["run_data"][run_index] = {
|
||||
"starttime": starttime,
|
||||
"data": {}
|
||||
}
|
||||
# TODO send start request to the first person in the chain. Probably a zeus part already written as example
|
||||
return f'Run {run_index} started at {starttime}'
|
||||
|
||||
@app.route("/checkpoint/start/<run>/<index>")
|
||||
def checkpoint_start(run, index):
|
||||
if db["current_run"] != run:
|
||||
return "Wrong run number, you are probably behind.", 404
|
||||
else:
|
||||
db["run_data"][run]["data"][index]["start"] = datetime.datetime.now()
|
||||
return "Success."
|
||||
|
||||
|
||||
@app.route("/checkpoint/handoff/<run>/<index>")
|
||||
def checkpoint_handoff(run, index):
|
||||
if db["current_run"] != run:
|
||||
return "Wrong run number, you are probably behind.", 404
|
||||
else:
|
||||
db["run_data"][run]["data"][index]["handoff"] = datetime.datetime.now()
|
||||
return "Success."
|
||||
|
||||
if __name__ == "__main__":
|
||||
app.run(debug=True)
|
Loading…
Reference in a new issue