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


Python markupsafe.Markup方法代码示例

本文整理汇总了Python中markupsafe.Markup方法的典型用法代码示例。如果您正苦于以下问题:Python markupsafe.Markup方法的具体用法?Python markupsafe.Markup怎么用?Python markupsafe.Markup使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在markupsafe的用法示例。


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

示例1: convert_doc

# 需要导入模块: import markupsafe [as 别名]
# 或者: from markupsafe import Markup [as 别名]
def convert_doc(rst_string, view_file_url=None):
    """ Utility to load an RST file and turn it into fancy HTML. """
    rst = modify_rst(rst_string, view_file_url)

    overrides = {"report_level": "quiet"}
    try:
        html = docutils.core.publish_parts(
            source=rst, writer_name="html", settings_overrides=overrides
        )
    except Exception:
        return "<pre>%s</pre>" % jinja2.escape(rst)

    else:

        html_string = html["html_body"]

        html_string = modify_html(html_string)

        html_string = markupsafe.Markup(html_string)
        return html_string 
开发者ID:Pagure,项目名称:pagure,代码行数:22,代码来源:doc_utils.py

示例2: test_complex_custom_formatting

# 需要导入模块: import markupsafe [as 别名]
# 或者: from markupsafe import Markup [as 别名]
def test_complex_custom_formatting(self):
        class User(object):
            def __init__(self, id, username):
                self.id = id
                self.username = username
            def __html_format__(self, format_spec):
                if format_spec == 'link':
                    return Markup('<a href="/user/{0}">{1}</a>').format(
                        self.id,
                        self.__html__(),
                    )
                elif format_spec:
                    raise ValueError('Invalid format spec')
                return self.__html__()
            def __html__(self):
                return Markup('<span class=user>{0}</span>').format(self.username)

        user = User(1, 'foo')
        assert Markup('<p>User: {0:link}').format(user) == \
            Markup('<p>User: <a href="/user/1"><span class=user>foo</span></a>') 
开发者ID:jpush,项目名称:jbox,代码行数:22,代码来源:tests.py

示例3: make_csrf_page

# 需要导入模块: import markupsafe [as 别名]
# 或者: from markupsafe import Markup [as 别名]
def make_csrf_page(url, params, method='POST'):
	"""
	A Jinja function which will create an HTML page that will automatically
	perform a CSRF attack against another page.

	:param str url: The URL to use as the form action.
	:param dict params: The parameters to send in the forged request.
	:param str method: The HTTP method to use when submitting the form.
	"""
	escape = lambda s: html.escape(s, quote=True)
	form_id = utilities.random_string(12)

	page = []
	page.append('<!DOCTYPE html>')
	page.append('<html lang="en-US">')
	page.append("  <body onload=\"document.getElementById(\'{0}\').submit()\">".format(form_id))
	page.append("    <form id=\"{0}\" action=\"{1}\" method=\"{2}\">".format(form_id, escape(url), escape(method)))
	for key, value in params.items():
		page.append("      <input type=\"hidden\" name=\"{0}\" value=\"{1}\" />".format(escape(key), escape(value)))
	page.append('    </form>')
	page.append('  </body>')
	page.append('</html>')

	page = '\n'.join(page)
	return markupsafe.Markup(page) 
开发者ID:rsmusllp,项目名称:king-phisher,代码行数:27,代码来源:template_extras.py

示例4: make_redirect_page

# 需要导入模块: import markupsafe [as 别名]
# 或者: from markupsafe import Markup [as 别名]
def make_redirect_page(url, title='Automatic Redirect'):
	"""
	A Jinja function which will create an HTML page that will automatically
	redirect the viewer to a different url.

	:param str url: The URL to redirect the user to.
	:param str title: The title to use in the resulting HTML page.
	"""
	title = html.escape(title, quote=True)
	url = html.escape(url, quote=True)

	page = []
	page.append('<!DOCTYPE html>')
	page.append('<html lang="en-US">')
	page.append('  <head>')
	page.append("    <title>{0}</title>".format(title))
	page.append("    <meta http-equiv=\"refresh\" content=\"0;url={0}\" />".format(url))
	page.append('  </head>')
	page.append('  <body>')
	page.append("    <p>The content you are looking for has been moved. If you are not redirected automatically then <a href=\"{0}\">click here</a> to proceed.</p>".format(url))
	page.append('  </body>')
	page.append('</html>')

	page = '\n'.join(page)
	return markupsafe.Markup(page) 
开发者ID:rsmusllp,项目名称:king-phisher,代码行数:27,代码来源:template_extras.py

示例5: format_string

# 需要导入模块: import markupsafe [as 别名]
# 或者: from markupsafe import Markup [as 别名]
def format_string(self, s, args, kwargs, format_func=None):
        """If a format call is detected, then this is routed through this
        method so that our safety sandbox can be used for it.
        """
        if isinstance(s, Markup):
            formatter = SandboxedEscapeFormatter(self, s.escape)
        else:
            formatter = SandboxedFormatter(self)

        if format_func is not None and format_func.__name__ == "format_map":
            if len(args) != 1 or kwargs:
                raise TypeError(
                    "format_map() takes exactly one argument %d given"
                    % (len(args) + (kwargs is not None))
                )

            kwargs = args[0]
            args = None

        kwargs = _MagicFormatMapping(args, kwargs)
        rv = formatter.vformat(s, args, kwargs)
        return type(s)(rv) 
开发者ID:pypa,项目名称:pipenv,代码行数:24,代码来源:sandbox.py

示例6: has_safe_repr

# 需要导入模块: import markupsafe [as 别名]
# 或者: from markupsafe import Markup [as 别名]
def has_safe_repr(value):
    """Does the node have a safe representation?"""
    if value is None or value is NotImplemented or value is Ellipsis:
        return True
    if type(value) in (bool, int, float, complex, range_type, Markup) + string_types:
        return True
    if type(value) in (tuple, list, set, frozenset):
        for item in value:
            if not has_safe_repr(item):
                return False
        return True
    elif type(value) is dict:
        for key, value in iteritems(value):
            if not has_safe_repr(key):
                return False
            if not has_safe_repr(value):
                return False
        return True
    return False 
开发者ID:pypa,项目名称:pipenv,代码行数:21,代码来源:compiler.py

示例7: return_buffer_contents

# 需要导入模块: import markupsafe [as 别名]
# 或者: from markupsafe import Markup [as 别名]
def return_buffer_contents(self, frame, force_unescaped=False):
        """Return the buffer contents of the frame."""
        if not force_unescaped:
            if frame.eval_ctx.volatile:
                self.writeline("if context.eval_ctx.autoescape:")
                self.indent()
                self.writeline("return Markup(concat(%s))" % frame.buffer)
                self.outdent()
                self.writeline("else:")
                self.indent()
                self.writeline("return concat(%s)" % frame.buffer)
                self.outdent()
                return
            elif frame.eval_ctx.autoescape:
                self.writeline("return Markup(concat(%s))" % frame.buffer)
                return
        self.writeline("return concat(%s)" % frame.buffer) 
开发者ID:pypa,项目名称:pipenv,代码行数:19,代码来源:compiler.py

示例8: visit_AssignBlock

# 需要导入模块: import markupsafe [as 别名]
# 或者: from markupsafe import Markup [as 别名]
def visit_AssignBlock(self, node, frame):
        self.push_assign_tracking()
        block_frame = frame.inner()
        # This is a special case.  Since a set block always captures we
        # will disable output checks.  This way one can use set blocks
        # toplevel even in extended templates.
        block_frame.require_output_check = False
        block_frame.symbols.analyze_node(node)
        self.enter_frame(block_frame)
        self.buffer(block_frame)
        self.blockvisit(node.body, block_frame)
        self.newline(node)
        self.visit(node.target, frame)
        self.write(" = (Markup if context.eval_ctx.autoescape else identity)(")
        if node.filter is not None:
            self.visit_Filter(node.filter, block_frame)
        else:
            self.write("concat(%s)" % block_frame.buffer)
        self.write(")")
        self.pop_assign_tracking(frame)
        self.leave_frame(block_frame)

    # -- Expression Visitors 
开发者ID:pypa,项目名称:pipenv,代码行数:25,代码来源:compiler.py

示例9: update_tag

# 需要导入模块: import markupsafe [as 别名]
# 或者: from markupsafe import Markup [as 别名]
def update_tag(tag):
    res = None
    if request.method in ('PUT', 'POST'):
        new_tags = request.form.getlist('tags')
        result_flag = getattr(flask.g, 'bukudb', get_bukudb()).replace_tag(tag, new_tags)
        op_text = 'replace tag [{}] with [{}]'.format(tag, ', '.join(new_tags))
        if request.method == 'PUT' and result_flag and request.path.startswith('/api/'):
            res = (jsonify(response.response_template['success']),
                   status.HTTP_200_OK,
                   {'ContentType': 'application/json'})
        elif request.method == 'PUT' and request.path.startswith('/api/'):
            res = (jsonify(response.response_template['failure']),
                   status.HTTP_400_BAD_REQUEST,
                   {'ContentType': 'application/json'})
        elif request.method == 'POST' and result_flag:
            flash(Markup('Success {}'.format(op_text)), 'success')
            res = redirect(url_for('get_tags-html'))
        elif request.method == 'POST':
            flash(Markup('Failed {}'.format(op_text)), 'danger')
            res = redirect(url_for('get_tags-html'))
        else:
            abort(400, description="Unknown Condition")
    return res 
开发者ID:jarun,项目名称:buku,代码行数:25,代码来源:server.py

示例10: symbols_filter

# 需要导入模块: import markupsafe [as 别名]
# 或者: from markupsafe import Markup [as 别名]
def symbols_filter(context, value):
    renderer = renderer_from_context(context)

    if renderer:
        helper = BacktraceHelper(renderer.collector)

        def make_links(s):
            name = s[collector.NAME]
            url = renderer.url_for_symbol_name(name, context)
            return '<a href="%s">%s</a>' % (url, name)

        if isinstance(value, markupsafe.Markup):
            value = value.__html__().unescape()
        return helper.transform_known_symbols(value, make_links)

    return value 
开发者ID:HBehrens,项目名称:puncover,代码行数:18,代码来源:renderers.py

示例11: htmlsafe_json_dumps

# 需要导入模块: import markupsafe [as 别名]
# 或者: from markupsafe import Markup [as 别名]
def htmlsafe_json_dumps(obj, dumper=None, **kwargs):
    """Works exactly like :func:`dumps` but is safe for use in ``<script>``
    tags.  It accepts the same arguments and returns a JSON string.  Note that
    this is available in templates through the ``|tojson`` filter which will
    also mark the result as safe.  Due to how this function escapes certain
    characters this is safe even if used outside of ``<script>`` tags.

    The following characters are escaped in strings:

    -   ``<``
    -   ``>``
    -   ``&``
    -   ``'``

    This makes it safe to embed such strings in any place in HTML with the
    notable exception of double quoted attributes.  In that case single
    quote your attributes or HTML escape it in addition.
    """
    if dumper is None:
        dumper = json.dumps
    rv = dumper(obj, **kwargs) \
        .replace(u'<', u'\\u003c') \
        .replace(u'>', u'\\u003e') \
        .replace(u'&', u'\\u0026') \
        .replace(u"'", u'\\u0027')
    return Markup(rv) 
开发者ID:remg427,项目名称:misp42splunk,代码行数:28,代码来源:utils.py

示例12: _datetime_span

# 需要导入模块: import markupsafe [as 别名]
# 或者: from markupsafe import Markup [as 别名]
def _datetime_span(dt, relative=True, format='%Y-%m-%d %H:%M:%S', timezone=pytz.utc):
  if not dt.tzinfo:
    dt = dt.replace(tzinfo=pytz.utc)
  return markupsafe.Markup(
      '<span class="time{0}" data-timestamp="{1}">{2}</span>'.format(
          ' relative' if relative else '',
          calendar.timegm(dt.utctimetuple()),
          dt.astimezone(timezone).strftime(format))) 
开发者ID:vijos,项目名称:vj4,代码行数:10,代码来源:base.py

示例13: nl2br

# 需要导入模块: import markupsafe [as 别名]
# 或者: from markupsafe import Markup [as 别名]
def nl2br(text):
  markup = jinja2.escape(text)
  return jinja2.Markup('<br>'.join(markup.split('\n'))) 
开发者ID:vijos,项目名称:vj4,代码行数:5,代码来源:misc.py

示例14: markdown

# 需要导入模块: import markupsafe [as 别名]
# 或者: from markupsafe import Markup [as 别名]
def markdown(text):
  text = FS_RE.sub(fs_replace, text)
  return markupsafe.Markup(hoedown.html(
      text, extensions=MARKDOWN_EXTENSIONS, render_flags=MARKDOWN_RENDER_FLAGS)) 
开发者ID:vijos,项目名称:vj4,代码行数:6,代码来源:misc.py

示例15: preload_docs

# 需要导入模块: import markupsafe [as 别名]
# 或者: from markupsafe import Markup [as 别名]
def preload_docs(endpoint):
    """ Utility to load an RST file and turn it into fancy HTML. """

    here = os.path.dirname(os.path.abspath(__file__))
    fname = os.path.join(here, "..", "doc", endpoint + ".rst")
    with codecs.open(fname, "r", "utf-8") as stream:
        rst = stream.read()

    rst = modify_rst(rst)
    api_docs = docutils.examples.html_body(rst)
    api_docs = modify_html(api_docs)
    api_docs = markupsafe.Markup(api_docs)
    return api_docs 
开发者ID:Pagure,项目名称:pagure,代码行数:15,代码来源:__init__.py


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