forked from Gig-o-Matic/GO2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.py
174 lines (171 loc) · 9.07 KB
/
main.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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
from webapp2_extras import sessions
import webapp2
import login
import agenda
import grid
import calview
import member
import gig
import plan
import band
import help
import motd
import credits
import maintenance
import stats
import caldav
import activity
import forum
import jinja2ext
import os
import cryptoutil
import goemail
import rss
CONFIG = {
'webapp2_extras.auth': {
'user_model': 'member.Member',
'user_attributes': ['name', 'is_superuser']
},
'webapp2_extras.sessions': {
'secret_key': 'GABBAGABBAHEY'
},
'webapp2_extras.jinja2': {
'template_path': os.path.join(os.path.dirname(__file__), 'templates'),
'environment_args': {'extensions': ['jinja2.ext.i18n']},
'filters': {
'html_content': jinja2ext.html_content,
'safe_name': jinja2ext.safe_name,
'good_breaks': jinja2ext.good_breaks}
},
'webapp2_extras.i18n': {
'translations_path': os.path.join(os.path.dirname(__file__), 'locale')
}
}
if False: # maintenance mode?
APPLICATION = webapp2.WSGIApplication([(r'/.*', maintenance.MaintenancePage)], config=CONFIG, debug=True)
else:
APPLICATION = webapp2.WSGIApplication([
webapp2.Route('/', member.DefaultPage, name='home'),
webapp2.Route('/band/<band_name:.+>', band.InfoPage),
webapp2.Route('/login', login.LoginPage, name='login'),
webapp2.Route('/logout', login.LogoutHandler, name='logout'),
webapp2.Route('/signup', login.SignupPage, name='signup'),
webapp2.Route('/check_email', login.CheckEmail),
webapp2.Route('/<type:v|p>/<user_id:\d+>-<signup_token:.+>',
handler=login.VerificationHandler, name='verification'),
webapp2.Route('/<type:e>/<user_id:\d+>-<signup_token:.+>',
handler=login.EmailVerificationHandler, name='emailverification'),
webapp2.Route('/<type:i>/<user_id:\d+>-<signup_token:.+>',
handler=login.InviteVerificationHandler, name='inviteverification'),
webapp2.Route('/link_error', login.LinkErrorHandler, name='linkerror'),
webapp2.Route('/forgot', login.ForgotPasswordHandler, name='forgot'),
webapp2.Route('/password', login.SetPasswordHandler),
webapp2.Route('/invitepassword', login.InviteVerificationHandler),
webapp2.Route('/login_auto_old_token', login.AutoDeleteSignupTokenHandler),
webapp2.Route('/help', help.HelpHandler),
webapp2.Route('/changelog', help.ChangeLogHandler),
webapp2.Route('/privacy', help.PrivacyHandler),
webapp2.Route('/help_band_request.html', help.SignUpBandHandler),
webapp2.Route('/credits', credits.CreditsHandler),
webapp2.Route('/seen_welcome', motd.SeenWelcomeHandler),
webapp2.Route('/seen_motd', motd.SeenHandler),
webapp2.Route('/agenda.html', agenda.MainPage),
webapp2.Route('/agenda.html', agenda.MainPage, name='agenda'),
webapp2.Route('/agenda_switch', agenda.SwitchView),
webapp2.Route('/grid.html', grid.MainPage),
webapp2.Route('/calview.html', calview.MainPage),
webapp2.Route('/member_info.html', member.InfoPage, name='memberinfo'),
webapp2.Route('/member_edit.html', member.EditPage),
webapp2.Route('/member_get_assocs', member.ManageBandsGetAssocs, name='getassocs'),
webapp2.Route(
'/member_get_other_bands',
member.ManageBandsGetOtherBands,
name='getotherbands'),
webapp2.Route('/member_new_assoc', member.ManageBandsNewAssoc, name='newassoc'),
webapp2.Route(
'/member_delete_assoc.html',
member.ManageBandsDeleteAssoc,
name='deleteassoc'),
webapp2.Route('/member_admin', member.AdminPage, name="memberadmin"),
webapp2.Route('/member_admin_get_all_members', member.AdminPageAllMembers),
webapp2.Route('/member_admin_get_signup_members', member.AdminPageSignupMembers),
webapp2.Route('/member_admin_get_invite_members', member.AdminPageInviteMembers),
webapp2.Route('/member_delete_invite', member.DeleteInvite),
webapp2.Route('/member_makeadmin', member.AdminMember),
webapp2.Route('/member_makebeta', member.BetaMember),
webapp2.Route('/member_delete', member.DeleteMember),
webapp2.Route('/member_set_section', member.SetSection),
webapp2.Route('/member_set_color', member.SetColor),
webapp2.Route('/member_set_get_email', member.SetGetEmail),
webapp2.Route('/member_set_hide_from_schedule', member.SetHideFromSchedule),
webapp2.Route('/member_set_multi', member.SetMulti),
webapp2.Route('/member_get_bands', member.GetBandList),
webapp2.Route('/member_get_add_gig_bands', member.GetAddGigBandList),
webapp2.Route('/member_rewrite', member.RewriteAll),
webapp2.Route('/verify_member', member.VerifyMember),
webapp2.Route('/gig_info.html', gig.InfoPage, name="gig_info"),
webapp2.Route('/gig_edit.html', gig.EditPage),
webapp2.Route('/gig_archive', gig.ArchiveHandler),
webapp2.Route('/gig_autoarchive', gig.AutoArchiveHandler),
webapp2.Route('/gig_delete', gig.DeleteHandler),
webapp2.Route('/gig_restore_trashed', gig.RestoreHandler),
webapp2.Route('/gig_add_comment', gig.CommentHandler),
webapp2.Route('/gig_get_comment', gig.GetCommentHandler),
webapp2.Route('/gig_answerlink',gig.AnswerLinkHandler, name="gig_answerlink"),
webapp2.Route('/print_setlist', gig.PrintSetlist),
webapp2.Route('/print_planlist', gig.PrintPlanlist),
webapp2.Route('/member_spreadsheet', band.MemberSpreadsheet),
webapp2.Route('/sendreminder', gig.SendReminder),
webapp2.Route('/band_info.html', band.InfoPage),
webapp2.Route('/band_edit.html', band.EditPage),
webapp2.Route('/band_delete.html', band.DeleteBand),
webapp2.Route('/band_get_members', band.BandGetMembers, name='getmembers'),
webapp2.Route('/band_get_sections', band.BandGetSections, name='getsections'),
webapp2.Route('/band_setup_sections', band.SetupSections, name='setupSections'),
webapp2.Route('/band_confirm_member', band.ConfirmMember),
webapp2.Route('/band_makeadmin', band.AdminMember),
webapp2.Route('/band_makeoccasional', band.MakeOccasionalMember),
webapp2.Route('/band_removemember', band.RemoveMember),
webapp2.Route('/band_admin', band.AdminPage),
webapp2.Route('/band_get_member_list', band.GetMemberList),
webapp2.Route('/band_nav.html', band.BandNavPage),
webapp2.Route('/band_get_upcoming', band.GetUpcoming),
webapp2.Route('/band_get_public_members', band.GetPublicMembers),
webapp2.Route('/band_invite.html', band.InvitePage),
webapp2.Route('/band_send_invites', band.SendInvites),
webapp2.Route('/band_activity', activity.MainPage),
webapp2.Route('/band_gig_archive', band.GigArchivePage),
webapp2.Route('/band_gig_trashcan', band.GigTrashcanPage),
webapp2.Route('/calevents', calview.CalEvents),
webapp2.Route('/updateplan', plan.UpdatePlan),
webapp2.Route('/updateplanfeedback', plan.UpdatePlanFeedback),
webapp2.Route('/updateplancomment', plan.UpdatePlanComment),
webapp2.Route('/updateplansection', plan.UpdatePlanSection),
webapp2.Route('/send_reminders', plan.SendReminders),
webapp2.Route('/motd_admin', motd.AdminPage),
webapp2.Route('/crypto_admin', cryptoutil.AdminPage, name='crypto_admin'),
webapp2.Route('/whatis.html', login.WhatisPageHandler),
webapp2.Route('/stats', stats.StatsPage),
webapp2.Route('/generate_stats', stats.AutoGenerateStats),
webapp2.Route('/cal/b/<bk:.+>', caldav.BandRequestHandler),
webapp2.Route('/cal/m/<mk:.+>', caldav.MemberRequestHandler),
webapp2.Route('/cal/p/<bk:.+>', caldav.PublicBandGigRequestHandler),
webapp2.Route('/calhelp', caldav.HelpHandler),
webapp2.Route('/topic_add_forumpost', forum.AddForumPostHandler),
webapp2.Route('/topic_get_forumpost', forum.GetForumPostHandler),
webapp2.Route('/open_post_reply', forum.OpenPostReplyHandler),
webapp2.Route('/forum', forum.ForumHandler),
webapp2.Route('/forum_topic', forum.ForumTopicHandler),
webapp2.Route('/forum_new_topic', forum.NewTopicHandler),
webapp2.Route('/forum_get_topics', forum.ForumGetTopicsHandler),
webapp2.Route('/topic_toggle_open', forum.TopicToggleOpenHandler),
webapp2.Route('/forum_toggle_pin', forum.TogglePinHandler),
webapp2.Route('/forum_admin', forum.ForumAdminHandler),
webapp2.Route('/forum_add', forum.AddForumHandler),
webapp2.Route('/forum_delete', forum.DeleteForumHandler),
webapp2.Route('/search',forum.SearchHandler),
webapp2.Route('/announce_new_gig_handler',goemail.AnnounceNewGigHandler),
webapp2.Route('/send_new_gig_handler',goemail.SendNewGigHandler),
webapp2.Route('/rss/<bk:.+>',rss.GetRssHandler),
webapp2.Route('/make_rss_feed_handler',rss.MakeRssFeedHandler)
], config=CONFIG, debug=True)