-
Notifications
You must be signed in to change notification settings - Fork 0
/
dagkot.py
97 lines (71 loc) · 2.26 KB
/
dagkot.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
94
95
96
97
from google.appengine.api import users
from google.appengine.ext.db import BadKeyError
import base
import settings
from models.dagkot import Dagkot
class View(base.BaseRequestHandler):
def get(self, dagkot_key):
try:
dagkot = Dagkot.get(dagkot_key)
if dagkot:
self.render_html('dagkot/view.html', dagkot=dagkot)
else:
message_cont = 'Dagkot does not exist'
message_type = 'ERROR'
self.render_html('home/landing.html',
message_content=message_cont,
message_type=message_type)
except BadKeyError as e:
message_cont = 'Invalid key'
message_type = 'ERROR'
self.render_html('home/landing.html',
message_content=message_cont,
message_type=message_type)
class ViewAll(base.BaseRequestHandler):
def get(self):
limit = settings.DAGKOTS_PER_PAGE
offset = 0
dagkots = Dagkot.all().order('-dagkot_date').run(offset=offset, limit=limit)
self.render_html('dagkot/view-all.html',
dagkots=dagkots, current_page='ALL_DAGKOTS')
class ViewAllNext(base.BaseRequestHandler):
def _query(self, page):
limit = settings.DAGKOTS_PER_PAGE
try:
offset = int(page)
except ValueError:
offset = 0
if offset > 0:
offset -= 1
offset *= limit
dagkots = Dagkot.all().order('-dagkot_date').run(offset=offset, limit=limit)
self.render_html('dagkot/view-all-next.html', dagkots=dagkots)
def get(self, page):
self._query(page)
def post(self, page):
self._query(page)
class ViewMine(base.BaseRequestHandler):
def get(self):
user = users.get_current_user()
limit = settings.DAGKOTS_PER_PAGE
offset = 0
dagkots = Dagkot.all().filter('dagkot_author =', user).order('-dagkot_date').run(offset=offset, limit=limit)
self.render_html('dagkot/view-mine.html',
dagkots=dagkots, current_page='MY_DAGKOTS')
class ViewMineNext(base.BaseRequestHandler):
def _query(self, page):
user = users.get_current_user()
limit = settings.DAGKOTS_PER_PAGE
try:
offset = int(page)
except ValueError:
offset = 0
if offset > 0:
offset -= 1
offset *= limit
dagkots = Dagkot.all().filter('dagkot_author =', user).order('-dagkot_date').run(offset=offset, limit=limit)
self.render_html('dagkot/view-mine-next.html', dagkots=dagkots)
def get(self, page):
self._query(page)
def post(self, page):
self._query(page)