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


Python plugin.MarkupTemplateEnginePlugin类代码示例

本文整理汇总了Python中genshi.template.plugin.MarkupTemplateEnginePlugin的典型用法代码示例。如果您正苦于以下问题:Python MarkupTemplateEnginePlugin类的具体用法?Python MarkupTemplateEnginePlugin怎么用?Python MarkupTemplateEnginePlugin使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了MarkupTemplateEnginePlugin类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_load_template_from_string

 def test_load_template_from_string(self):
     plugin = MarkupTemplateEnginePlugin()
     tmpl = plugin.load_template(None, template_string="""<p>
       $message
     </p>""")
     self.assertEqual(None, tmpl.filename)
     assert isinstance(tmpl, MarkupTemplate)
开发者ID:nervatura,项目名称:nerva2py,代码行数:7,代码来源:plugin.py

示例2: test_helper_functions

    def test_helper_functions(self):
        plugin = MarkupTemplateEnginePlugin()
        tmpl = plugin.load_template(PACKAGE + '.templates.functions')
        output = plugin.render({'snippet': u'<b>Foo</b>'}, template=tmpl)
        self.assertEqual("""<div>
False
bar
<b>Foo</b>
<b>Foo</b>
</div>""", output)
开发者ID:nervatura,项目名称:nerva2py,代码行数:10,代码来源:plugin.py

示例3: setup_tw_middleware

def setup_tw_middleware(app, config):
    # Set up the TW middleware, as per errors and instructions at:
    # http://groups.google.com/group/toscawidgets-discuss/browse_thread/thread/c06950b8d1f62db9
    # http://toscawidgets.org/documentation/ToscaWidgets/install/pylons_app.html
    def enable_i18n_for_template(template):
        template.filters.insert(0, Translator(ugettext))

    def filename_suffix_adder(inner_loader, suffix):
        def _add_suffix(filename):
            return inner_loader(filename + suffix)

        return _add_suffix

    # Ensure that the toscawidgets template loader includes the search paths
    # from our main template loader.
    tw_engine_options = {"genshi.loader_callback": enable_i18n_for_template}
    tw_engines = EngineManager(extra_vars_func=None, options=tw_engine_options)
    tw_engines["genshi"] = MarkupTemplateEnginePlugin()
    tw_engines["genshi"].loader = config["pylons.app_globals"].genshi_loader

    # Disable the built-in package name template resolution.
    tw_engines["genshi"].use_package_naming = False

    # Rebuild package name template resolution using mostly standard Genshi
    # load functions. With our customizations to the TemplateLoader, the
    # absolute paths that the builtin resolution produces are erroneously
    # treated as being relative to the search path.

    # Search the tw templates dir using the pkg_resources API.
    # Expected input: 'input_field.html'
    tw_loader = loader.package("tw.forms", "templates")

    # Include the .html extension automatically.
    # Expected input: 'input_field'
    tw_loader = filename_suffix_adder(tw_loader, ".html")

    # Apply this loader only when the filename starts with tw.forms.templates.
    # This prefix is stripped off when calling the above loader.
    # Expected input: 'tw.forms.templates.input_field'
    tw_loader = loader.prefixed(**{"tw.forms.templates.": tw_loader})

    # Add this path to our global loader
    tw_engines["genshi"].loader.search_path.append(tw_loader)

    app = tw.api.make_middleware(
        app,
        {
            "toscawidgets.framework": "pylons",
            "toscawidgets.framework.default_view": "genshi",
            "toscawidgets.framework.translator": lazy_ugettext,
            "toscawidgets.framework.engines": tw_engines,
        },
    )
    return app
开发者ID:kiberpipa,项目名称:mediacore,代码行数:54,代码来源:middleware.py

示例4: test_render

    def test_render(self):
        plugin = MarkupTemplateEnginePlugin()
        tmpl = plugin.load_template(PACKAGE + '.templates.test')
        output = plugin.render({'message': 'Hello'}, template=tmpl)
        self.assertEqual("""<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en">
  <head>
    <title>Test</title>
  </head>
  <body>
    <h1>Test</h1>
    <p>Hello</p>
  </body>
</html>""", output)
开发者ID:nervatura,项目名称:nerva2py,代码行数:14,代码来源:plugin.py

示例5: test_render_fragment_with_doctype

    def test_render_fragment_with_doctype(self):
        plugin = MarkupTemplateEnginePlugin(options={
            'genshi.default_doctype': 'html-strict',
        })
        tmpl = plugin.load_template(PACKAGE + '.templates.test_no_doctype')
        output = plugin.render({'message': 'Hello'}, template=tmpl,
                               fragment=True)
        self.assertEqual("""<html lang="en">
  <head>
    <title>Test</title>
  </head>
  <body>
    <h1>Test</h1>
    <p>Hello</p>
  </body>
</html>""", output)
开发者ID:nervatura,项目名称:nerva2py,代码行数:16,代码来源:plugin.py

示例6: test_render_with_doctype

    def test_render_with_doctype(self):
        plugin = MarkupTemplateEnginePlugin(options={
            'genshi.default_doctype': 'html-strict',
        })
        tmpl = plugin.load_template(PACKAGE + '.templates.test')
        output = plugin.render({'message': 'Hello'}, template=tmpl)
        self.assertEqual("""<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
  <head>
    <title>Test</title>
  </head>
  <body>
    <h1>Test</h1>
    <p>Hello</p>
  </body>
</html>""", output)
开发者ID:nervatura,项目名称:nerva2py,代码行数:16,代码来源:plugin.py

示例7: setup_tw_middleware

def setup_tw_middleware(app, config):
    def filename_suffix_adder(inner_loader, suffix):
        def _add_suffix(filename):
            return inner_loader(filename + suffix)

        return _add_suffix

    # Ensure that the toscawidgets template loader includes the search paths
    # from our main template loader.
    tw_engines = EngineManager(extra_vars_func=None)
    tw_engines["genshi"] = MarkupTemplateEnginePlugin()
    tw_engines["genshi"].loader = config["pylons.app_globals"].genshi_loader

    # Disable the built-in package name template resolution.
    tw_engines["genshi"].use_package_naming = False

    # Rebuild package name template resolution using mostly standard Genshi
    # load functions. With our customizations to the TemplateLoader, the
    # absolute paths that the builtin resolution produces are erroneously
    # treated as being relative to the search path.

    # Search the tw templates dir using the pkg_resources API.
    # Expected input: 'input_field.html'
    tw_loader = loader.package("tw.forms", "templates")

    # Include the .html extension automatically.
    # Expected input: 'input_field'
    tw_loader = filename_suffix_adder(tw_loader, ".html")

    # Apply this loader only when the filename starts with tw.forms.templates.
    # This prefix is stripped off when calling the above loader.
    # Expected input: 'tw.forms.templates.input_field'
    tw_loader = loader.prefixed(**{"tw.forms.templates.": tw_loader})

    # Add this path to our global loader
    tw_engines["genshi"].loader.search_path.append(tw_loader)

    app = tw.api.make_middleware(
        app,
        {
            "toscawidgets.framework": "pylons",
            "toscawidgets.framework.default_view": "genshi",
            "toscawidgets.framework.engines": tw_engines,
        },
    )
    return app
开发者ID:greentv,项目名称:mediacore,代码行数:46,代码来源:middleware.py

示例8: __init__

class WSGITrac:
    """Callable class. Initi with path=/path/to/trac/env"""
    def __init__(self, path, secure=False, parent=False):
      self.path = path
      self.secure = secure
      self.parent = parent
      self.template = MarkupTemplateEnginePlugin()

    def __call__(self, environ, start_response):

      https = environ.get("HTTPS", "off")
      if self.secure and https != 'on':
        return redirect_https(environ, start_response)

      if self.parent:
        project = path_info_pop(environ)
        if project:

            if not os.path.isdir('{0}/{1}'.format(self.path, project)):
                start_response("404 Not Found", [('content-type', 'text/html')])
                return self.template.render({'message': 'Trac name {0} does\'t exist.'.format(project)},
                        format='xhtml', template="wsgiplugin.notfound")

            environ['trac.env_path'] = os.path.join(self.path, project)
            try:
                return dispatch_request(environ, start_response)
            except HTTPForbidden:
                if environ.get('REMOTE_USER'): #We have SOMETHING set in REMOTE_USER - so Forbidden
                    start_response("200 OK", [('content-type', 'text/html')])
                    return self.template.render({}, format='xhtml', template="wsgiplugin.unauthorized")
                else:
                    url = '/login_form?came_from=%s' % construct_url(environ)
                    start_response("302 Temporary Redirect", [('Location', url)])
                    return []
            except HTTPNotFound, e:
                start_response("404 Not Found", [('content-type', 'text/html')])
                return self.template.render({'message': e}, format='xhtml', template="wsgiplugin.notfound")
        else:
            return self._send_index(environ, start_response)

      else:
开发者ID:getpenelope,项目名称:WSGITrac,代码行数:41,代码来源:wsgiplugin.py

示例9: __init__

class WSGITrac:
    """Callable class. Initi with path=/path/to/trac/env"""
    def __init__(self, path, secure=False, parent=False):
      self.path = path
      self.secure = secure
      self.parent = parent
      self.template = MarkupTemplateEnginePlugin()
    
    def __call__(self, environ, start_response):

      https = environ.get("HTTPS", "off")
      if self.secure and https != 'on':
        return redirect_https(environ, start_response)
    
      if self.parent:
        project = path_info_pop(environ)
        if project:
            environ['trac.env_path'] = os.path.join(self.path, project)
            return dispatch_request(environ, start_response)
        else:
            return self._send_index(environ, start_response)
          
      else:
        environ['trac.env_path'] = self.path
        return dispatch_request(environ, start_response)
            
        
    def _send_index(self, environ, start_response):
        projects = []
                          
        for env_name in os.listdir(self.path):
            env_path = os.path.join(self.path, env_name)
            try:
              env = open_environment(env_path)
              env_perm = PermissionCache(PermissionSystem(env).get_user_permissions(environ.get("REMOTE_USER", "anonymous")))
                      
              if env_perm.has_permission('WIKI_VIEW'):
                  projects.append({
                      'name': env.project_name,
                      'description': env.project_description,
                      # XXX: get rid of the double / in the beginning
                      'href': construct_url(environ, path_info="/"+env_name),
                  })
            except Exception:
              pass

        projects.sort(lambda x, y: cmp(x['name'].lower(), y['name'].lower()))
        start_response("200 OK", [('content-type', 'text/html')])
        return self.template.render({"projects":projects}, format='xhtml', template = "wsgiplugin.index")
开发者ID:nyuhuhuu,项目名称:trachacks,代码行数:49,代码来源:wsgiplugin.py

示例10: create_tw_engine_manager

def create_tw_engine_manager(app_globals):
    def filename_suffix_adder(inner_loader, suffix):
        def _add_suffix(filename):
            return inner_loader(filename + suffix)
        return _add_suffix

    # Ensure that the toscawidgets template loader includes the search paths
    # from our main template loader.
    tw_engines = EngineManager(extra_vars_func=None)
    tw_engines['genshi'] = MarkupTemplateEnginePlugin()
    tw_engines['genshi'].loader = app_globals.genshi_loader

    # Disable the built-in package name template resolution.
    tw_engines['genshi'].use_package_naming = False

    # Rebuild package name template resolution using mostly standard Genshi
    # load functions. With our customizations to the TemplateLoader, the
    # absolute paths that the builtin resolution produces are erroneously
    # treated as being relative to the search path.

    # Search the tw templates dir using the pkg_resources API.
    # Expected input: 'input_field.html'
    tw_loader = loader.package('tw.forms', 'templates')

    # Include the .html extension automatically.
    # Expected input: 'input_field'
    tw_loader = filename_suffix_adder(tw_loader, '.html')

    # Apply this loader only when the filename starts with tw.forms.templates.
    # This prefix is stripped off when calling the above loader.
    # Expected input: 'tw.forms.templates.input_field'
    tw_loader = loader.prefixed(**{'tw.forms.templates.': tw_loader})

    # Add this path to our global loader
    tw_engines['genshi'].loader.search_path.append(tw_loader)
    return tw_engines
开发者ID:knyar,项目名称:mediadrop,代码行数:36,代码来源:middleware.py

示例11: test_transform_without_load

 def test_transform_without_load(self):
     plugin = MarkupTemplateEnginePlugin()
     stream = plugin.transform({'message': 'Hello'},
                               PACKAGE + '.templates.test')
     assert isinstance(stream, Stream)
开发者ID:nervatura,项目名称:nerva2py,代码行数:5,代码来源:plugin.py

示例12: test_load_template_from_file

 def test_load_template_from_file(self):
     plugin = MarkupTemplateEnginePlugin()
     tmpl = plugin.load_template(PACKAGE + '.templates.test')
     self.assertEqual('test.html', os.path.basename(tmpl.filename))
     assert isinstance(tmpl, MarkupTemplate)
开发者ID:nervatura,项目名称:nerva2py,代码行数:5,代码来源:plugin.py

示例13: __init__

 def __init__(self, extra_vars_func=None, options=None):
     default_doctype = options.pop('genshi.default_doctype', None)
     MarkupTemplateEnginePlugin.__init__(self, extra_vars_func, options)
     self.default_doctype = default_doctype
开发者ID:marqui678,项目名称:finalchance.Panopta,代码行数:4,代码来源:genshisupport.py


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