-
Notifications
You must be signed in to change notification settings - Fork 5
/
developer.py
59 lines (46 loc) · 1.3 KB
/
developer.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
#
# developer methods
#
import os
import csv
import codecs
import models
import datetime
import logging
import webapp2
import json
import jinja2
import gsdata
import bqutil
import auth
import local_config
from collections import defaultdict, OrderedDict
from stats import DataStats
from datatable import DataTableField
from datasource import DataSource
from auth import auth_required, auth_and_role_required
from templates import JINJA_ENVIRONMENT
# from google.appengine.api import memcache
# mem = memcache.Client()
class DeveloperPages(auth.AuthenticatedHandler, DataStats, DataSource):
'''
Methods for cross-course summary dashboard
'''
@auth_and_role_required(role='pm')
@auth_required
def get_developer(self):
'''
Dashboard page: show cross-course comparisons
'''
if not self.user in self.AUTHORIZED_USERS: # require superuser
return self.no_auth_sorry()
data = self.common_data
data.update({'is_staff': self.is_superuser(),
})
template = JINJA_ENVIRONMENT.get_template('dev-editor.html')
self.response.out.write(template.render(data))
DeveloperRoutes = [
# displayed page routes
webapp2.Route('/developer', handler=DeveloperPages, handler_method='get_developer'),
# ajax routes
]