-
Notifications
You must be signed in to change notification settings - Fork 0
/
lambda_function.py
46 lines (38 loc) · 1.14 KB
/
lambda_function.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
import json
from saveLogToDB import saveErrorToDB, saveLogToDB
import traceback
from logAnalyzer.utils.logger import logGame
from logAnalyzer.logParser.logParser import logToGame
from logAnalyzer.deckReport.deckListReport import getDeckListReport
def lambda_handler(event, context):
try:
payload = json.loads(event['body'])
gameLogStr = payload['logStr']
print('GAME LOG:')
print(gameLogStr)
saveLogToDB(gameLogStr)
game = logToGame(gameLogStr)
logGame(game)
deckReports = []
for player in game.players:
deckReports.append(getDeckListReport(player))
returnJson = json.dumps({
'deckReports': deckReports
})
return {
'statusCode': 200,
'headers': {
'Content-Type': 'application/json'
},
'body': returnJson
}
except Exception as e:
exc = traceback.format_exc()
saveErrorToDB(exc)
return {
'statusCode': 500,
'headers': {
'Content-Type': 'text/plain'
},
'body': exc
}