devops-exercises/exercises/flask_container_ci/app/main.py
abregman d43ec162f0 Rename repository
Unforunately, It came to my knowledge that this repository
promoted a phenomenon where DevOps interviews became a trivia game
where people think it's normal to throw 20 random short questions
like "what is fork()" or "which tools would you use for each
of the following areas?" and this was not my intention.

To explcitly state this repository doesn't represents real DevOps
interview questions I've decided to rename it.
2020-01-12 22:28:43 +02:00

59 lines
1.1 KiB
Python

#!/usr/bin/env python
# coding=utf-8
from flask import Flask
from flask import make_response
import json
from werkzeug.exceptions import NotFound
app = Flask(__name__)
with open("./users.json", "r") as f:
users = json.load(f)
@app.route("/", methods=['GET'])
def index():
return pretty_json({
"resources": {
"users": "/users",
"user": "/users/<username>",
},
"current_uri": "/"
})
@app.route("/users", methods=['GET'])
def all_users():
return pretty_json(users)
@app.route("/users/<username>", methods=['GET'])
def user_data(username):
if username not in users:
raise NotFound
return pretty_json(users[username])
@app.route("/users/<username>/something", methods=['GET'])
def user_something(username):
raise NotImplementedError()
def pretty_json(arg):
response = make_response(json.dumps(arg, sort_keys=True, indent=4))
response.headers['Content-type'] = "application/json"
return response
def create_test_app():
app = Flask(__name__)
return app
if __name__ == "__main__":
app.run(port=5000)