Exemplo n.º 1
0
Arquivo: core.py Projeto: alon/polinax
 def render(self, method=None, encoding='utf-8', out=None, **kwargs):
     """Return a string representation of the stream.
     
     Any additional keyword arguments are passed to the serializer, and thus
     depend on the `method` parameter value.
     
     :param method: determines how the stream is serialized; can be either
                    "xml", "xhtml", "html", "text", or a custom serializer
                    class; if `None`, the default serialization method of
                    the stream is used
     :param encoding: how the output string should be encoded; if set to
                      `None`, this method returns a `unicode` object
     :param out: a file-like object that the output should be written to
                 instead of being returned as one big string; note that if
                 this is a file or socket (or similar), the `encoding` must
                 not be `None` (that is, the output must be encoded)
     :return: a `str` or `unicode` object (depending on the `encoding`
              parameter), or `None` if the `out` parameter is provided
     :rtype: `basestring`
     
     :see: XMLSerializer, XHTMLSerializer, HTMLSerializer, TextSerializer
     :note: Changed in 0.5: added the `out` parameter
     """
     from genshi.output import encode
     if method is None:
         method = self.serializer or 'xml'
     generator = self.serialize(method=method, **kwargs)
     return encode(generator, method=method, encoding=encoding, out=out)
Exemplo n.º 2
0
 def render(self, method=None, encoding=None, out=None, **kwargs):
     """Return a string representation of the stream.
     
     Any additional keyword arguments are passed to the serializer, and thus
     depend on the `method` parameter value.
     
     :param method: determines how the stream is serialized; can be either
                    "xml", "xhtml", "html", "text", or a custom serializer
                    class; if `None`, the default serialization method of
                    the stream is used
     :param encoding: how the output string should be encoded; if set to
                      `None`, this method returns a `unicode` object
     :param out: a file-like object that the output should be written to
                 instead of being returned as one big string; note that if
                 this is a file or socket (or similar), the `encoding` must
                 not be `None` (that is, the output must be encoded)
     :return: a `str` or `unicode` object (depending on the `encoding`
              parameter), or `None` if the `out` parameter is provided
     :rtype: `basestring`
     
     :see: XMLSerializer, XHTMLSerializer, HTMLSerializer, TextSerializer
     :note: Changed in 0.5: added the `out` parameter
     """
     from genshi.output import encode
     if method is None:
         method = self.serializer or 'xml'
     generator = self.serialize(method=method, **kwargs)
     return encode(generator, method=method, encoding=encoding, out=out)
Exemplo n.º 3
0
		def wrapper(*args, **kwargs):
			cherrypy.thread_data.template = loader.load(os.getcwd()+filename)
			opt = options.copy()
			if method == 'html':
				opt.setdefault('doctype', 'html')
			serializer = get_serializer(method, **opt)
			stream = func(*args, **kwargs)
			if not isinstance(stream, Stream):
				return stream
			return encode(serializer(stream), method=serializer, encoding=encoding)
Exemplo n.º 4
0
 def wrapper(*args, **kwargs):
     cherrypy.thread_data.template = loader.load(filename)
     opt = options.copy()
     if method == "html":
         opt.setdefault("doctype", "html")
     serializer = get_serializer(method, **opt)
     stream = func(*args, **kwargs)
     if not isinstance(stream, Stream):
         return stream
     return encode(serializer(stream), method=serializer, encoding=encoding)
Exemplo n.º 5
0
 def wrapper(*args, **kwargs):
     thread_data.template = request.app.tpl.load(filename)
     opt = options.copy()
     if method == 'html':
         opt.setdefault('doctype', 'html')
     serializer = get_serializer(method, **opt)
     stream = func(*args, **kwargs)
     if not isinstance(stream, Stream):
         return stream
     return encode(serializer(stream), method=serializer,
                   encoding=encoding)
Exemplo n.º 6
0
 def wrapper(*args, **kwargs):
     loader.load(filename)
     opt = options.copy()
     if method == 'html':
         opt.setdefault('doctype', 'html')
     serializer = get_serializer(method, **opt)
     stream = func(*args, **kwargs)
     if not isinstance(stream, Stream):
         return stream
     return encode(serializer(stream), method=serializer,
                   encoding=encoding)
Exemplo n.º 7
0
 def wrapper(*args, **kwargs):
     cherrypy.thread_data.template = loader.load(filename)
     opt = options.copy()
     if not ajax.isXmlHttpRequest() and method == 'html':
         opt.setdefault('doctype', 'html')
     serializer = get_serializer(method, **opt)
     stream = func(*args, **kwargs)
     if not isinstance(stream, Stream):
         return stream
     return encode(serializer(stream), method=serializer,
                   encoding=encoding)
def build_table(**kwargs):
    """
    Build the HTML content
    """
    path = resource_filename("DQDefects.data", "table.html")
    with open(path) as fd:
        template = MarkupTemplate(fd, path)

    stream = template.generate(HTML=HTML, **kwargs)
    serializer = HTMLSerializer(doctype="html5")
    content = encode(serializer(stream))
    return content
Exemplo n.º 9
0
 def wrapper(*args, **kwargs):
     c = pyblox.tmpl_context._current_obj()
     c.template = loader.load(xmldir+filename)
     opt = options.copy()
     if method == 'html':
         opt.setdefault('doctype', 'html')
     serializer = get_serializer(method, **opt)
     stream = func(*args, **kwargs)
     if not isinstance(stream, Stream):
         return stream
     return encode(serializer(stream), method=serializer,
         encoding=encoding)
Exemplo n.º 10
0
 def wrapper(*args, **kwargs):
     c = bootstrappy.tmpl_context._current_obj()
     c.template = loader.load(xmldir + filename)
     opt = options.copy()
     if method == 'html':
         opt.setdefault('doctype', 'html')
     serializer = get_serializer(method, **opt)
     stream = func(*args, **kwargs)
     if not isinstance(stream, Stream):
         return stream
     return encode(serializer(stream),
                   method=serializer,
                   encoding=encoding)
Exemplo n.º 11
0
 def wrapper(*args, **kwargs):
     cherrypy.thread_data.template = loader.load(filename)
     cherrypy.thread_data.parent = parent
     opt = options.copy()
     
     # if no doctype is set, try to autodetect
     # if doctype is False, skip doctype
     # if doctype is set, use it
     if doctype is None:
         if method == 'html':
             opt.setdefault('doctype', 'html')
         if method == 'xhtml':
             opt.setdefault('doctype', 'xhtml')
     elif doctype is not False:
         opt.setdefault('doctype', doctype)
     
     serializer = get_serializer(method, **opt)
     stream = func(*args, **kwargs)
     
     if not isinstance(stream, Stream):
         return stream
     return encode(serializer(stream), method=serializer,
                   encoding=encoding)