-
Notifications
You must be signed in to change notification settings - Fork 0
/
main_post.py
116 lines (102 loc) · 4.21 KB
/
main_post.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
115
116
'''
Created on Oct 1, 2015
@author: paul
Main module to post data into the datastore.
Most of data storage functionalities are handled by handlers in this file.
'''
import ops
import os
from google.appengine.ext import webapp
from google.appengine.ext.webapp import util
from google.appengine.api import users
DIRECTORY = os.path.dirname(__file__)
_DEBUG = True
class PostHandler(webapp.RequestHandler):
def get(self):
eventTitle = self.request.get('event_title', None)
targetAudience = self.request.get('target_audience', None)
eventDate = self.request.get('event_date', None)
startTime = self.request.get('start_time', None)
stopTime = self.request.get('stop_time', None)
eventVenue = self.request.get('event_venue', None)
category = self.request.get('category', None)
eventDomain = self.request.get('event_domain', None)
eventDescription = self.request.get('event_description', None)
ops.addEvent(eventTitle, targetAudience, eventDate, startTime, stopTime, eventVenue, category, eventDomain, eventDescription)
ops.NotifySubscribers(category, eventTitle, startTime, stopTime,eventDate,eventVenue)
self.redirect('/landing')
class PostCategoryHandler(webapp.RequestHandler):
def get(self):
user = users.get_current_user()
emailAddress = user.email()
domain = ops.getDomainFromEmail(emailAddress)
category_name = self.request.get('category_name',None)
category_description = self.request.get('category_description',None)
ops.addCategory(domain,category_name, category_description)
self.redirect('/')
class SettingsHandler(webapp.RequestHandler):
def get(self):
user = users.get_current_user()
emailAddress = user.email()
mobileNumber = self.request.get('mobileNumber',None)
ops.addMobileNumber(emailAddress,mobileNumber)
self.redirect('/')
#Subscribe to a category
class SubscriptionHandler(webapp.RequestHandler):
def get(self):
category = self.request.get('category',None)
emailAddress = self.request.get('email',None)
ops.addSubscription(category,emailAddress)
self.redirect('/',)
#Unsubscribe from a category
class UnsubscribeHandler(webapp.RequestHandler):
def get(self):
category = self.request.get('category', None)
emailAddress = self.request.get('email', None)
ops.unsubscribe(category,emailAddress)
self.redirect('/')
#Handles the sign up process
class SignupHandler(webapp.RequestHandler):
def get(self):
mobileNumber = self.request.get('mobileNumber', None)
firstName = self.request.get('firstName', None)
secondName = self.request.get('lastName', None)
countryName = self.request.get('countryName', None)
orgName = self.request.get('orgName', None)
user = users.get_current_user()
emailAddress = user.email()
domain = ops.getDomainFromEmail(emailAddress)
ops.signUp(emailAddress,domain,mobileNumber,firstName,secondName,countryName)
ops.addDomain(orgName, domain)
ops.addSubdomain(orgName,domain)
self.redirect('/',)
#Adding a subdomain
class PostSubDomainHandler(webapp.RequestHandler):
def get(self):
subdomain = self.request.get('subdomain', None)
user = users.get_current_user()
email = user.email()
ops.addSubdomainFromEmail(email,subdomain)
self.redirect('/view/settings')
#Remove subdomain
class RemoveSubDomainHandler(webapp.RequestHandler):
def get(self):
subdomain = self.request.get('q', None)
ops.removeSubdomain(subdomain)
self.redirect('/view/settings')
def main():
application = webapp.WSGIApplication(
[
('/post', PostHandler),
('/subscription', SubscriptionHandler),
('/unsubscribe', UnsubscribeHandler),
('/new_category', PostCategoryHandler),
('/settings', SettingsHandler),
('/signup', SignupHandler),
('/addsubdomain', PostSubDomainHandler),
('/remove_subdomain', RemoveSubDomainHandler)
],
debug=_DEBUG)
util.run_wsgi_app(application)
if __name__ == '__main__':
main()