-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmeal-server.py
80 lines (70 loc) Β· 3.23 KB
/
meal-server.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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# meal-server.py
import json
import datetime
from datetime import date
import time
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route("/meal", methods=['POST'])
def main():
req = request.get_json() # μμ² λ΄μ© κ°μ Έμ€κΈ°
user_input_day = req["action"]["detailParams"]["sys_date"]["origin"]
requested_date_info = req["action"]["params"]["sys_date"] # μμΌμ λ°λ₯Έ λ μ§ μ 보
requested_date_obj = json.loads(requested_date_info)
requested_date = requested_date_obj.get("date")
print(req["userRequest"]["user"])
try:
requested_date_list = requested_date.split("-")
if user_input_day == "μΌμμΌ":
today = datetime.date.today()
sunday = today + datetime.timedelta(days=-today.weekday()-1)
requested_date = sunday.strftime("%Y-%m-%d")
requested_date_list = requested_date.split("-")
year = requested_date_list[0]
month = requested_date_list[1]
date = requested_date_list[2]
requested_day = datetime.date(int(year), int(month), int(date))
requested_day = requested_day.strftime("%A") # λ μ§μ λ°λ₯Έ μμΌ μ 보(μμ΄)
day_dict = {"Sunday": "μΌμμΌ", "Monday": "μμμΌ", "Tuesday": "νμμΌ", "Wednesday": "μμμΌ", "Thursday": "λͺ©μμΌ", "Friday": "κΈμμΌ", "Saturday": "ν μμΌ"}
requested_day_in_kor = day_dict.get(requested_day)
date_message = requested_day_in_kor + "(" + requested_date + ")π₯"
with open('/home/ec2-user/api/database/%s.txt' % requested_date) as file:
content = json.load(file)
breakfast = content["breakfast"]
lunch = content["lunch"]
dinner = content["dinner"]
meal_message = "\n====== μμΉ¨ ======\n" + breakfast + "\n====== μ μ¬ ======\n" + lunch + "\n====== μ λ
======\n" + dinner
except FileNotFoundError:
error_message = "λ±λ‘λ μλ¨ μ λ³΄κ° μμ΅λλ€."
meal_message = "\n====== μμΉ¨ ======\n" + error_message + "\n====== μ μ¬ ======\n" + error_message + "\n====== μ λ
======\n" + error_message
except AttributeError:
date_error_message = "μ ν¨νμ§ μμ λ μ§μ
λλ€. λ€μ μ
λ ₯ν΄μ£ΌμΈμ!"
date_message = date_error_message
meal_message = ""
meal_response = {
"version": "2.0",
"template": {
"outputs": [
{
"simpleText": {
"text": date_message + meal_message
}
}
],
"quickReplies": [
{
"action": "message",
"label": "λμλ§",
"messageText": "λμλ§"
},
{
"action": "message",
"label": "κ°μμ΄ λ¨Ήκ³ μΆμ΄μπͺ",
"messageText": "κ°μ?"
}
]
}
}
return jsonify(meal_response)
if __name__ == "__main__":
app.run(host='0.0.0.0', port=3000)