annotate get_tickers/app.py @ 14:e77f773aeb46

add deployment metadata
author Dennis C. M. <dennis@denniscm.com>
date Sat, 10 Jun 2023 14:52:03 +0100
parents ab988fd1e6fa
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
1 import json
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
2 import boto3
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
3 from boto3.dynamodb.conditions import Key
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
4
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
5 resource = boto3.resource('dynamodb')
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
6 table = resource.Table('FinanceParser')
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
7
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
8
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
9 def lambda_handler(event, context):
7
7c5fb7573dd8 first working version
Dennis C. M. <dennis@denniscm.com>
parents: 5
diff changeset
10 response = table.scan(
7c5fb7573dd8 first working version
Dennis C. M. <dennis@denniscm.com>
parents: 5
diff changeset
11 FilterExpression=Key('pk').begins_with('file')
5
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
12 )
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
13
13
ab988fd1e6fa fix minor bugs
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
14 results = []
ab988fd1e6fa fix minor bugs
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
15 for item in response['Items']:
ab988fd1e6fa fix minor bugs
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
16 item_pk = item['pk'].split('#', 1)[1]
ab988fd1e6fa fix minor bugs
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
17 item_year = item['sk'].split('#', 1)[0]
ab988fd1e6fa fix minor bugs
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
18 item_key = f'{item_pk}#{item_year}' # pnl#acx#2022
ab988fd1e6fa fix minor bugs
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
19
ab988fd1e6fa fix minor bugs
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
20 if item_key not in results:
ab988fd1e6fa fix minor bugs
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
21 results.append(item_key)
ab988fd1e6fa fix minor bugs
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
22
5
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
23 return {
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
24 "statusCode": 200,
7
7c5fb7573dd8 first working version
Dennis C. M. <dennis@denniscm.com>
parents: 5
diff changeset
25 "headers": {
7c5fb7573dd8 first working version
Dennis C. M. <dennis@denniscm.com>
parents: 5
diff changeset
26 "Access-Control-Allow-Headers": "Content-Type",
7c5fb7573dd8 first working version
Dennis C. M. <dennis@denniscm.com>
parents: 5
diff changeset
27 "Access-Control-Allow-Origin": "*",
7c5fb7573dd8 first working version
Dennis C. M. <dennis@denniscm.com>
parents: 5
diff changeset
28 "Access-Control-Allow-Methods": "GET"
7c5fb7573dd8 first working version
Dennis C. M. <dennis@denniscm.com>
parents: 5
diff changeset
29 },
5
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
30 "body": json.dumps({
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
31 "message": {
13
ab988fd1e6fa fix minor bugs
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
32 "items": results,
ab988fd1e6fa fix minor bugs
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
33 "count": len(results)
5
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
34 }
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
35 }),
2daf0dc08247 add get report endpoint
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
36 }