1
1
import json
2
+ import logging
2
3
3
4
from django .http import HttpResponse , HttpResponseBadRequest
4
5
from django .views .decorators .csrf import csrf_exempt
11
12
transcode_oncomplete
12
13
)
13
14
15
+ logger = logging .getLogger ('bellhops' )
16
+
14
17
@csrf_exempt
15
18
def endpoint (request ):
16
19
"""
@@ -22,6 +25,9 @@ def endpoint(request):
22
25
except ValueError :
23
26
return HttpResponseBadRequest ('Invalid JSON' )
24
27
28
+ logger .info ("Transcoding endpoint hit with data {data}" .format (
29
+ data = data
30
+ ))
25
31
26
32
# handle SNS subscription
27
33
if data ['Type' ] == 'SubscriptionConfirmation' :
@@ -43,21 +49,30 @@ def endpoint(request):
43
49
44
50
#
45
51
if message ['state' ] == 'PROGRESSING' :
46
- job = EncodeJob .objects .get (pk = message ['jobId' ])
52
+ try :
53
+ job = EncodeJob .objects .get (pk = message ['jobId' ])
54
+ except EncodeJob .DoesNotExist :
55
+ return HttpResponse ("Bad jobID" , status = 400 )
47
56
job .message = 'Progress'
48
57
job .state = 1
49
58
job .save ()
50
59
51
60
transcode_onprogress .send (sender = None , job = job , message = message )
52
61
elif message ['state' ] == 'COMPLETED' :
53
- job = EncodeJob .objects .get (pk = message ['jobId' ])
62
+ try :
63
+ job = EncodeJob .objects .get (pk = message ['jobId' ])
64
+ except EncodeJob .DoesNotExist :
65
+ return HttpResponse ("Bad jobID" , status = 400 )
54
66
job .message = 'Success'
55
67
job .state = 4
56
68
job .save ()
57
69
58
70
transcode_oncomplete .send (sender = None , job = job , message = message )
59
71
elif message ['state' ] == 'ERROR' :
60
- job = EncodeJob .objects .get (pk = message ['jobId' ])
72
+ try :
73
+ job = EncodeJob .objects .get (pk = message ['jobId' ])
74
+ except EncodeJob .DoesNotExist :
75
+ return HttpResponse ("Bad jobID" , status = 400 )
61
76
job .message = message ['messageDetails' ]
62
77
job .state = 2
63
78
job .save ()
0 commit comments