/
app.py
29 lines (26 loc) · 1019 Bytes
/
app.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
import boto3, json, time
from mail import send_email
from uuid import uuid4
from creator import create
s3 = boto3.resource('s3')
def upload_s3(source_file, filename):
bucket_name = '191621'
destination_filename = "albums/%s/%s" % (uuid4().hex, filename)
print destination_filename
bucket = s3.Bucket(bucket_name)
bucket.put_object(Key=destination_filename, Body=source_file, ACL='public-read')
return destination_filename
sqs = boto3.resource('sqs')
albumRequests = sqs.get_queue_by_name(QueueName='tomek-album')
bucket_address = 'https://s3.eu-central-1.amazonaws.com/191621'
while True:
for albumRequest in albumRequests.receive_messages():
print('processing request ..........')
albumData = json.loads(albumRequest.body)
pdf = create(albumData)
dest = upload_s3(pdf.getvalue(), 'album.pdf')
send_email(albumData['sent_to'], 'Your album', 'download here: %s/%s' % (
bucket_address, dest))
albumRequest.delete()
print('request processing finished [X]')
time.sleep(1)