forked from Gig-o-Matic/GO2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.py
141 lines (137 loc) · 7.29 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
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 jinja2ext
import os
from api.v1 import bands
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)])
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('/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.html', 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_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('/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_add_comment', gig.CommentHandler),
webapp2.Route('/gig_get_comment', gig.GetCommentHandler),
webapp2.Route('/print_setlist', gig.PrintSetlist),
webapp2.Route('/print_planlist', gig.PrintPlanlist),
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_new_section',band.NewSection),
webapp2.Route('/band_delete_section',band.DeleteSection),
webapp2.Route('/band_rename_section',band.RenameSection),
webapp2.Route('/band_move_section',band.MoveSection),
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.html', 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('/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('/motd_admin.html', motd.AdminPage),
webapp2.Route('/whatis.html', login.WhatisPageHandler),
webapp2.Route('/stats.html', stats.StatsPage),
webapp2.Route('/generate_stats', stats.AutoGenerateStats),
webapp2.Route('/cal/b/<bk:.+>', caldav.BandRequestHandler),
webapp2.Route('/cal/m/<mk:.+>', caldav.MemberRequestHandler),
webapp2.Route('/calhelp', caldav.HelpHandler),
webapp2.Route('/api/v1/bands.json', bands.Index)
], config=config, debug=True)