def setUp(self):
        super(Test, self).setUp()
        traversingSetUp()
        # XXX this whole test setup is rather involved. Is there a
        # simpler way to publish widget_macros.pt? Probably.

        # load the registrations for formlib
        xmlconfig.file("configure.zcml", zope.formlib)

        # set up the widget_macros macro
        macro_template = PageTemplate()
        widget_macros = os.path.join(os.path.dirname(zope.formlib.__file__),
                                     'widget_macros.pt')

        f = open(widget_macros, 'r')
        data = f.read()
        f.close()
        macro_template.write(data)

        @zope.component.adapter(None, None)
        @implementer(zope.traversing.interfaces.ITraversable)
        class view:
            def __init__(self, ob, r=None):
                pass

            def traverse(*args):
                return macro_template.macros

        provideAdapter(view, name='view')
        provideAdapter(DefaultTraversable, [None])
Example #2
0
def create_html(rest_files, template):
    settings = {}
    settings["here"] = {"layout": template}
    page = PageTemplate()
    page.write("""<metal:block use-macro="here/layout/macros/pagelayout" />""")

    for restfile in rest_files:
        restfile.create_html(page, settings)
Example #3
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)
Example #4
0
    def template(self):
        if self.request.form.get('ajax_load'):
            layout_resource_path = getDefaultAjaxLayout(self.context)
        else:
            layout_resource_path = getDefaultSiteLayout(self.context)

        if layout_resource_path is None:
            return self.main_template
        try:
            layout = resolveResource(layout_resource_path)
        except NotFound as e:
            logger.warning('Missing layout {0:s}'.format(e))

        cooked = cook_layout(layout)
        pt = PageTemplate()
        pt.write(cooked)
        return pt
Example #5
0
def test(file):
    raw_data = open(file, 'r').read()
    pt = PageTemplate()
    pt.write(raw_data)
    if pt._v_errors:
        print('*** Error in:', file)  # noqa
        for error in pt._v_errors[1:]:
            formatted = error.replace('\n', ' ')
            linepos = formatted.rfind(', at line')
            if linepos != -1:
                formatted, formatted2 = (formatted[:linepos],
                                         formatted[linepos:])
            else:
                formatted2 = ''
            print('    ', formatted)  # noqa
            print('    ', formatted2)  # noqa
        print()  # noqa
Example #6
0
def test(file):
    raw_data = open(file, "r").read()
    pt = PageTemplate()
    pt.pt_source_file = lambda: file
    pt.write(raw_data)
    if pt._v_errors:
        print("*** Error in:", file)
        for error in pt._v_errors[1:]:
            formatted = error.replace("\n", " ")
            linepos = formatted.rfind(", at line")
            if linepos != -1:
                formatted, formatted2 = (formatted[:linepos],
                                         formatted[linepos:])
            else:
                formatted2 = ""
            print("    ", formatted)
            print("    ", formatted2)
        print()
        return False
    return True
Example #7
0
 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 setUp(self):
     self.folder = f = Folder()
     f.laf = PageTemplate()
     f.t = PageTemplate()
Example #9
0
def time_zpt(fn, count):
    from zope.pagetemplate.pagetemplate import PageTemplate
    pt = PageTemplate()
    pt.write(open(fn).read())
    return time_apply(pt.pt_render, (data, ), {}, count)
Example #10
0
def PageTemplateFile(filename):
    pt = PageTemplate()
    pt.write(codecs.open(filename, "r", encoding="utf-8").read())
    return pt