/
handler.py
54 lines (47 loc) · 1.32 KB
/
handler.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
import json
from app.generate import generate
from app.data import Sonnets
headers = {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Headers": "*",
"Access-Control-Allow-Credentials": True,
"Content-Type": "application/json"
}
def shakespeare(event, context):
return {
"statusCode": 200,
"body": json.dumps({ "sonnet": generate() }),
"headers": headers
}
def get_sonnet(event, context):
_id = event["pathParameters"]["id"]
if _id == None:
return {
"statusCode": 400,
"body": json.dumps({ "error": "no id provided" }),
"headers": headers,
}
body = {}
statusCode = 200
try:
_id = int(_id) - 1
keys = list(Sonnets.keys())
if len(keys) <= _id:
statusCode = 400
body["error"] = "id must be less than " + str(len(keys))
elif _id < 1:
statusCode = 400
body["error"] = "id must be 1 or greater"
else:
body["sonnet"] = {
"title": keys[_id],
"text": Sonnets[keys[_id]]
}
except ValueError:
statusCode = 400
body["error"] = "id is not an integer"
return {
"statusCode": statusCode,
"body": json.dumps(body),
"headers": headers,
}