-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrun.py
44 lines (32 loc) · 1.24 KB
/
run.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import os
from datetime import datetime
from flask import Flask, redirect, render_template, request
app = Flask(__name__)
messages=[]
def add_messages(username, message):
"""Add messages to the `messages` list"""
now = datetime.now().strftime("%H:%M:%S")
messages_dict = {"timestamp": now, "from": username, "message": message}
messages.append(messages_dict)
def get_all_messages():
"""Get al of the messages"""
return messages
@app.route('/', methods=["GET", "POST"])
def index():
"""Main page with instructions"""
if request.method == "POST":
with open("data/users.txt", "a") as user_list:
user_list.writelines(request.form["username"] + "\n")
return redirect(request.form["username"])
return render_template("index.html")
@app.route('/<username>')
def user(username):
"""Display chat messages"""
messages = get_all_messages()
return render_template("chat.html", username=username, chat_messages=messages)
@app.route('/<username>/<message>')
def send_message(username, message):
"""Create a new message and redirect back to the chat page"""
add_messages(username, message)
return redirect(username)
app.run(host=os.getenv('IP'), port=int(os.getenv('PORT')), debug=True)