当前位置: 首页>>代码示例>>Python>>正文


Python WebTemplates.startPageWithHeader方法代码示例

本文整理汇总了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"""
        
#.........这里部分代码省略.........
开发者ID:mgaitan,项目名称:beppo,代码行数:103,代码来源:WebTutorInfo.py


注:本文中的WebTemplates.WebTemplates.startPageWithHeader方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。