Exemple #1
0
def profile_zpt(fn, count, profiler):
    from zope.pagetemplate.pagetemplate import PageTemplate
    pt = PageTemplate()
    pt.write(open(fn).read())
    for i in range(4):
        pt.pt_render(extra_context=data)
    r = [None] * count
    for i in r:
        profiler.runcall(pt.pt_render, 0, data)
Exemple #2
0
def profile_zpt(fn, count, profiler):
    from zope.pagetemplate.pagetemplate import PageTemplate
    pt = PageTemplate()
    pt.write(open(fn).read())
    for i in range(4):
        pt.pt_render(extra_context=data)
    r = [None] * count
    for i in r:
        profiler.runcall(pt.pt_render, 0, data)
Exemple #3
0
class RenderEmailSignature(BrowserView):
    """Render an email signature."""
    def __init__(self, context, request):
        super(RenderEmailSignature, self).__init__(context, request)
        model = api.portal.get_registry_record(
            'imio.dms.mail.browser.settings.IImioDmsMailConfig.'
            'omail_email_signature')
        self.pt = PageTemplate()
        self.pt.pt_source_file = lambda: 'none'
        self.pt.write(model)
        self.namespace = self.pt.pt_getContext()
        self.namespace.update({
            'request': self.request,
            'view': self,
            'context': self.context,
            'user': getSecurityManager().getUser(),
            'modules': SecureModuleImporter
        })
        dg_helper = getMultiAdapter((self.context, self.request),
                                    name='document_generation_helper_view')
        self.namespace['dghv'] = dg_helper
        self.namespace['sender'] = dg_helper.get_sender()

    def __call__(self):
        rendered = self.pt.pt_render(self.namespace)
        return richtextval(rendered)
    def render(self):
        pt = PageTemplate()
        pt.write(self.get_template())
        instance = self
        request = self.request
        namespace = self.get_context(instance, request)

        return pt.pt_render(namespace)