本文整理汇总了Python中WebTemplates.WebTemplates.startPageWithHeader方法的典型用法代码示例。如果您正苦于以下问题:Python WebTemplates.startPageWithHeader方法的具体用法?Python WebTemplates.startPageWithHeader怎么用?Python WebTemplates.startPageWithHeader使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WebTemplates.WebTemplates
的用法示例。
在下文中一共展示了WebTemplates.startPageWithHeader方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: WebTutorInfo
# 需要导入模块: from WebTemplates import WebTemplates [as 别名]
# 或者: from WebTemplates.WebTemplates import startPageWithHeader [as 别名]
class WebTutorInfo(Resource):
_ = dummyTranslator
MAX_TYPE = POST_PROCESS + 1
session_types = [{'code': IACLASS, 'desc': _('A.I.'), 'arr': 0},
{'code': PACLASS, 'desc': _('C.P.'), 'arr': 1},
{'code': EXTRA_IACLASS, 'desc': _('Sin turno'), 'arr': 2},
{'code': OFFLINE_QUESTION, 'desc': _('Preguntas offline'), 'arr': 3},
{'code': WAITING, 'desc': _('En espera'), 'arr': 4},
{'code': EXTRA_WAITING, 'desc': _('En espera (Sin turno)'), 'arr': 5},
{'code': ABSENT, 'desc': _('Ausente'), 'arr': 6},
{'code': POST_PROCESS, 'desc': _('Postprocesado'), 'arr': 7}]
def __init__(self):
self.db = DBConnect()
self.template = WebTemplates()
Resource.__init__(self)
def getChild(self, path, request):
if path == "":
return self
else:
return static.File.childNotFound
# Si estamos autenticados como admin, sirve para modificar las materias de
# cualquier tutor.
# Si somos tutor, sirve para modificar solo los propios.
def render_GET(self, request):
d = defer.maybeDeferred(getTranslatorFromSession, request)
d.addCallback(self.doAuthentication, request)
return server.NOT_DONE_YET
def doAuthentication(self, trans, request):
session = request.getSession()
_ = trans
# 0) Se empieza la página
header = """
<link rel="stylesheet" type="text/css" media="all" href="/calendar/calendar-win2k-cold-1.css" title="win2k-cold-1" />
<script type="text/javascript" src="/calendar/calendar.js"></script>
<script type="text/javascript" src="/calendar/lang/calendar-sp.js"></script>
<script type="text/javascript" src="/calendar/calendar-setup.js"></script>"""
request.write(self.template.startPageWithHeader(session, header, \
_('Informacion de tutores')))
d = defer.maybeDeferred(lambda:None)
# 1) Verificar que esté autenticado ante el sistema
if not hasattr(session, 'username'):
request.write(self.template.notAuthenticated(session))
# 2) Si es Admin, administra todos los usuarios
elif session.kind == ADMIN:
msg = '<h2>' + _('Informacion de los tutores del sistema') + '</h2>'
# La función que imprime el contenido, pero con otros argumentos
self.printContent(request, d, msg)
else:
# 4) Si no es Admin es alguien que no está
# autorizado a ver la información de tutores
request.write(self.template.notAuthorized(session))
# 5) Se termina la página
d.addCallback(lambda a: request.write(self.template.finishPage(session)))
d.addCallback(lambda a: request.finish())
return d
def printContent(self, request, d, msg):
"""Consulta los datos de tutores de la base de datos y los manda
a imprimir
"""
args = self.checkRequest(d, request)
try:
pag = int(request.args['pag'][0])
except:
pag = 0
d.addCallback(lambda a: request.write(msg))
d.addCallback(lambda a: self.printForm(request, args))
d.addCallback(lambda a: self.requestData(request, args['start'], args['end'],pag))
d.addCallback(self.printData, request,pag)
return d
def requestData(self, request, time_start, time_end, pag):
"""Consulta los datos de los tutores en la tabla session con los límites de
fecha dados por time_start y time_end
"""
query = "select p.username, p.id, sum(dmin('%s', s.time_end) - \
dmax('%s', s.time_start)) as total, s.session_type, (select count(*) \
from person p, tutor t where p.id = t.id) from person p, \
tutor t left join session s on (s.fk_tutor = t.id and \
s.time_start < '%s' and s.time_end > '%s') where t.id = p.id \
group by p.id, p.username, s.session_type \
order by username, session_type"
query += " LIMIT %d OFFSET %d" % (ITEMS_PAG, ITEMS_PAG*pag)
d = self.db.db.runQuery(query, ((time_end, time_start) * 2))
d.addCallback(self.requestTotal, time_start, time_end)
return d
def requestTotal(self, rows, time_start, time_end):
"""recupera los totales de TODOS los tutores en una lista session_type | total"""
#.........这里部分代码省略.........