/
addfaultyseries.py
93 lines (85 loc) · 4.31 KB
/
addfaultyseries.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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
import webapp2, logging
from google.appengine.ext import db
from google.appengine.api import memcache
from FaultyDatabases import FaultySeries, FaultyListSeries, FaultyTotal
class AddFaultySeries(webapp2.RequestHandler):
def post(self):
data = self.request.params
if 'auth' not in data.keys():
self.response.write('Unauthorised Request.')
logging.error('Unauthorised Request.')
else:
auth = data['auth']
if auth != 'NarutoStark':
self.response.write('Unauthorised Request.')
logging.error('Unauthorised Request.')
else:
logging.info('Recieved an Entry')
# Get total number of series in use from memcache. If unavailable try datastore
mem_total = memcache.get('faultytotal')
db_total_entry = FaultyTotal.all().get()
if db_total_entry is not None:
db_total = db_total_entry.total
logging.debug('old db_total = ' + str(db_total))
else:
db_tot = FaultyTotal(total = 0)
db_tot.put()
logging.debug('added entry 0 in FaultyTotal db')
mem_total = 0
db_total_entry = FaultyTotal.all().get()
logging.debug('old mem_total = ' + str(mem_total))
if mem_total is None and (db_total_entry is None or db_total is None):
total = 1
elif mem_total is None:
total = db_total + 1
logging.debug('No total in memcache. Using datastore')
else:
total = mem_total + 1
logging.debug('total found in memcache')
# End
title = data['title']
tvid = data['tvid']
slno = total
logging.info('title = ' + str(title))
logging.info('tvid = ' + str(tvid))
# Put the given series in ListSeries after checking if its already present
lsquery = FaultyListSeries.all()
lsquery.filter('tvid =', tvid)
lsout = lsquery.get()
if lsout is None:
listseries = FaultyListSeries(tvid=tvid, title=title)
listseries.slno = slno
listseries.put()
logging.info('Entry put in FaultyListSeries database')
# End
# Put the given series in Series after checking if its already present
# If already present then, reset the values
squery = FaultySeries.all()
squery.filter('tvid =', tvid)
sout = squery.get()
if sout is not None:
db_series = sout
else:
db_series = FaultySeries(tvid=tvid, title=title)
db_series.status = -1 #Default
db_series.rely = 99 #Default
db_series.epname = 'None' #Default
db_series.epinfo = '0.0' #Default
db_series.epdate = 'dd mm yyyy' #Default
db_series.up_cycle = 0 #Default
db_series.comments = 'No Comments' #Default
db_series.put()
logging.info('Entry put in FaultySeries database')
#End
# Now put the updated value in datastore and memcache
logging.debug('slno = ' + str(total))
db_total_entry.total = total
db_total_entry.put()
memcache.set('faultytotal', total)
logging.debug('Put new total in memcache and db')
# End
self.response.write(title + ' put into the faultydatabase.\n')
else:
self.response.write('The series is already present in FaultyListSeries database')
logging.error('Series already in FaultyListSeries database')
application= webapp2.WSGIApplication([("/addfaultyseries",AddFaultySeries),],debug=True)