-
Notifications
You must be signed in to change notification settings - Fork 0
/
regions.py
114 lines (88 loc) · 3.76 KB
/
regions.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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
import webapp2
import models
import helpers
import json
from google.appengine.ext.webapp.util import run_wsgi_app
class RegionsUpdate(webapp2.RequestHandler):
def post(self):
regionname = self.request.get('regionname')
region = models.Region()
region.name = regionname
region.put()
self.redirect('/chapters')
'''
RegionsAddState: Adds a state to a region
'''
class RegionsAddState(webapp2.RequestHandler):
def post(self):
regionkey = self.request.get('regionkey')
statecode = self.request.get('statecode')
regionname = self.request.get('regionname')
chapters = models.getchaptersinstate(statecode)
for chapter in chapters:
newchapter = models.Chapter(parent=models.keyfromstr(regionkey))
newchapter.name = chapter.name
newchapter.state = chapter.state
newchapter.zips = chapter.zips
newchapter.zipinds = chapter.zipinds
newchapter.counties = chapter.counties
newchapter.countyinds = chapter.countyinds
newchapter.put()
models.deletechapterentry(chapter.key())
self.response.out.write( json.dumps({ 'regionkey' : regionkey, 'regionname' : regionname }) )
'''
RegionsRemoveState: Removes a state from a region
'''
class RegionsRemoveState(webapp2.RequestHandler):
def get(self):
pass
def post(self):
#regionkey = self.request.get('regionkey')
statecode = self.request.get('statecode')
chapters = models.getchaptersinstate(statecode)
for chapter in chapters:
newchapter = models.Chapter()
newchapter.name = chapter.name
newchapter.state = chapter.state
newchapter.zips = chapter.zips
newchapter.zipinds = chapter.zipinds
newchapter.counties = chapter.counties
newchapter.countyinds = chapter.countyinds
newchapter.put()
models.deletechapterentry(chapter.key())
self.response.out.write( json.dumps({ }) )
class RegionsGetChapters(webapp2.RequestHandler):
def get(self):
pass
def post(self):
regionkey = self.request.get('regionkey')
chapters = models.getchaptersinregion(models.keyfromstr(regionkey))
chapterkeys = []
for ch in chapters:
chapterkeys.append(str(ch.key()))
self.response.out.write( json.dumps({ 'chapterkeys' : chapterkeys }) )
class RegionsShowOnMap(webapp2.RequestHandler):
def post(self):
regionkey = self.request.get('regionkey')
region = models.getregion(regionkey)
chapters = models.getchaptersinregion(region)
chaptersdict = []
for c in chapters:
coords = helpers.coordsfromchapterkey(c)
chapterkey = c.key()
chapterdict = models.to_dict(c)
chapterdict['coords'] = coords
chapterdict['key'] = str(chapterkey)
chaptersdict.append(chapterdict)
self.response.out.write( json.dumps({ 'chapters' : chaptersdict, 'regionkey' : regionkey }) )
app = webapp2.WSGIApplication([
('/regions/show', RegionsShowOnMap),
('/regions/create', RegionsUpdate),
('/regions/add-state', RegionsAddState),
('/regions/remove-state', RegionsRemoveState),
('/regions/get-chapters', RegionsGetChapters)]
,debug=True)
def main():
run_wsgi_app(app)
if __name__ == "__main__":
main()