當前位置: 首頁>>代碼示例>>Python>>正文


Python compat.StringIO方法代碼示例

本文整理匯總了Python中mako.compat.StringIO方法的典型用法代碼示例。如果您正苦於以下問題:Python compat.StringIO方法的具體用法?Python compat.StringIO怎麽用?Python compat.StringIO使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在mako.compat的用法示例。


在下文中一共展示了compat.StringIO方法的13個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: _render

# 需要導入模塊: from mako import compat [as 別名]
# 或者: from mako.compat import StringIO [as 別名]
def _render(template, callable_, args, data, as_unicode=False):
    """create a Context and return the string
    output of the given template and template callable."""

    if as_unicode:
        buf = util.FastEncodingBuffer(as_unicode=True)
    elif template.bytestring_passthrough:
        buf = compat.StringIO()
    else:
        buf = util.FastEncodingBuffer(
            as_unicode=as_unicode,
            encoding=template.output_encoding,
            errors=template.encoding_errors)
    context = Context(buf, **data)
    context._outputting_as_unicode = as_unicode
    context._set_with_template(template)

    _render_context(template, callable_, context, *args,
                    **_kwargs_for_callable(callable_, data))
    return context._pop_buffer().getvalue() 
開發者ID:jpush,項目名稱:jbox,代碼行數:22,代碼來源:runtime.py

示例2: test_generate_normal

# 需要導入模塊: from mako import compat [as 別名]
# 或者: from mako.compat import StringIO [as 別名]
def test_generate_normal(self):
        stream = StringIO()
        printer = PythonPrinter(stream)
        printer.writeline("import lala")
        printer.writeline("for x in foo:")
        printer.writeline("print x")
        printer.writeline(None)
        printer.writeline("print y")
        assert (
            stream.getvalue()
            == """import lala
for x in foo:
    print x
print y
"""
        ) 
開發者ID:sqlalchemy,項目名稱:mako,代碼行數:18,代碼來源:test_pygen.py

示例3: test_generate_adjusted

# 需要導入模塊: from mako import compat [as 別名]
# 或者: from mako.compat import StringIO [as 別名]
def test_generate_adjusted(self):
        block = """
        x = 5 +6
        if x > 7:
            for y in range(1,5):
                print "<td>%s</td>" % y
"""
        stream = StringIO()
        printer = PythonPrinter(stream)
        printer.write_indented_block(block)
        printer.close()
        # print stream.getvalue()
        assert (
            stream.getvalue()
            == """
x = 5 +6
if x > 7:
    for y in range(1,5):
        print "<td>%s</td>" % y

"""
        ) 
開發者ID:sqlalchemy,項目名稱:mako,代碼行數:24,代碼來源:test_pygen.py

示例4: test_backslash_line

# 需要導入模塊: from mako import compat [as 別名]
# 或者: from mako.compat import StringIO [as 別名]
def test_backslash_line(self):
        block = """
            # comment
    if test:
        if (lala + hoho) + \\
(foobar + blat) == 5:
            print "hi"
    print "more indent"
"""
        stream = StringIO()
        printer = PythonPrinter(stream)
        printer.write_indented_block(block)
        printer.close()
        assert (
            stream.getvalue()
            == """
            # comment
if test:
    if (lala + hoho) + \\
(foobar + blat) == 5:
        print "hi"
print "more indent"

"""
        ) 
開發者ID:sqlalchemy,項目名稱:mako,代碼行數:27,代碼來源:test_pygen.py

示例5: test_generate_adjusted

# 需要導入模塊: from mako import compat [as 別名]
# 或者: from mako.compat import StringIO [as 別名]
def test_generate_adjusted(self):
        block = """
        x = 5 +6
        if x > 7:
            for y in range(1,5):
                print "<td>%s</td>" % y
"""
        stream = StringIO()
        printer = PythonPrinter(stream)
        printer.write_indented_block(block)
        printer.close()
        #print stream.getvalue()
        assert stream.getvalue() == \
"""
x = 5 +6
if x > 7:
    for y in range(1,5):
        print "<td>%s</td>" % y

""" 
開發者ID:jhpyle,項目名稱:docassemble,代碼行數:22,代碼來源:test_pygen.py

示例6: test_multi_line

# 需要導入模塊: from mako import compat [as 別名]
# 或者: from mako.compat import StringIO [as 別名]
def test_multi_line(self):
        block = \
"""
    if test:
        print ''' this is a block of stuff.
this is more stuff in the block.
and more block.
'''
        do_more_stuff(g)
"""
        stream = StringIO()
        printer = PythonPrinter(stream)
        printer.write_indented_block(block)
        printer.close()
        #print stream.getvalue()
        assert stream.getvalue() == \
"""
if test:
    print ''' this is a block of stuff.
this is more stuff in the block.
and more block.
'''
    do_more_stuff(g)

""" 
開發者ID:jhpyle,項目名稱:docassemble,代碼行數:27,代碼來源:test_pygen.py

示例7: test_false_unindentor

# 需要導入模塊: from mako import compat [as 別名]
# 或者: from mako.compat import StringIO [as 別名]
def test_false_unindentor(self):
        stream = StringIO()
        printer = PythonPrinter(stream)
        for line in [
            "try:",
            "elsemyvar = 12",
            "if True:",
            "print 'hi'",
            None,
            "finally:",
            "dosomething",
            None
        ]:
            printer.writeline(line)

        assert stream.getvalue() == \
"""try:
    elsemyvar = 12
    if True:
        print 'hi'
finally:
    dosomething
"""    , stream.getvalue() 
開發者ID:jhpyle,項目名稱:docassemble,代碼行數:25,代碼來源:test_pygen.py

示例8: _render

# 需要導入模塊: from mako import compat [as 別名]
# 或者: from mako.compat import StringIO [as 別名]
def _render(template, callable_, args, data, as_unicode=False):
    """create a Context and return the string
    output of the given template and template callable."""

    if as_unicode:
        buf = util.FastEncodingBuffer(as_unicode=True)
    elif template.bytestring_passthrough:
        buf = compat.StringIO()
    else:
        buf = util.FastEncodingBuffer(
                        as_unicode=as_unicode,
                        encoding=template.output_encoding,
                        errors=template.encoding_errors)
    context = Context(buf, **data)
    context._outputting_as_unicode = as_unicode
    context._set_with_template(template)

    _render_context(template, callable_, context, *args,
                            **_kwargs_for_callable(callable_, data))
    return context._pop_buffer().getvalue() 
開發者ID:fboender,項目名稱:ansible-cmdb,代碼行數:22,代碼來源:runtime.py

示例9: _render

# 需要導入模塊: from mako import compat [as 別名]
# 或者: from mako.compat import StringIO [as 別名]
def _render(template, callable_, args, data, as_unicode=False):
    """create a Context and return the string
    output of the given template and template callable."""

    if as_unicode:
        buf = util.FastEncodingBuffer(as_unicode=True)
    elif template.bytestring_passthrough:
        buf = compat.StringIO()
    else:
        buf = util.FastEncodingBuffer(
            as_unicode=as_unicode,
            encoding=template.output_encoding,
            errors=template.encoding_errors,
        )
    context = Context(buf, **data)
    context._outputting_as_unicode = as_unicode
    context._set_with_template(template)

    _render_context(
        template,
        callable_,
        context,
        *args,
        **_kwargs_for_callable(callable_, data)
    )
    return context._pop_buffer().getvalue() 
開發者ID:remg427,項目名稱:misp42splunk,代碼行數:28,代碼來源:runtime.py

示例10: test_generate_combo

# 需要導入模塊: from mako import compat [as 別名]
# 或者: from mako.compat import StringIO [as 別名]
def test_generate_combo(self):
        block = """
                x = 5 +6
                if x > 7:
                    for y in range(1,5):
                        print "<td>%s</td>" % y
                    print "hi"
                print "there"
                foo(lala)
"""
        stream = StringIO()
        printer = PythonPrinter(stream)
        printer.writeline("import lala")
        printer.writeline("for x in foo:")
        printer.writeline("print x")
        printer.write_indented_block(block)
        printer.writeline(None)
        printer.writeline("print y")
        printer.close()
        # print "->" + stream.getvalue().replace(' ', '#') + "<-"
        eq_(
            stream.getvalue(),
            """import lala
for x in foo:
    print x

    x = 5 +6
    if x > 7:
        for y in range(1,5):
            print "<td>%s</td>" % y
        print "hi"
    print "there"
    foo(lala)

print y
""",
        ) 
開發者ID:sqlalchemy,項目名稱:mako,代碼行數:39,代碼來源:test_pygen.py

示例11: test_multi_line

# 需要導入模塊: from mako import compat [as 別名]
# 或者: from mako.compat import StringIO [as 別名]
def test_multi_line(self):
        block = """
    if test:
        print ''' this is a block of stuff.
this is more stuff in the block.
and more block.
'''
        do_more_stuff(g)
"""
        stream = StringIO()
        printer = PythonPrinter(stream)
        printer.write_indented_block(block)
        printer.close()
        # print stream.getvalue()
        assert (
            stream.getvalue()
            == """
if test:
    print ''' this is a block of stuff.
this is more stuff in the block.
and more block.
'''
    do_more_stuff(g)

"""
        ) 
開發者ID:sqlalchemy,項目名稱:mako,代碼行數:28,代碼來源:test_pygen.py

示例12: test_generate_normal

# 需要導入模塊: from mako import compat [as 別名]
# 或者: from mako.compat import StringIO [as 別名]
def test_generate_normal(self):
        stream = StringIO()
        printer = PythonPrinter(stream)
        printer.writeline("import lala")
        printer.writeline("for x in foo:")
        printer.writeline("print x")
        printer.writeline(None)
        printer.writeline("print y")
        assert stream.getvalue() == \
"""import lala
for x in foo:
    print x
print y
""" 
開發者ID:jhpyle,項目名稱:docassemble,代碼行數:16,代碼來源:test_pygen.py

示例13: test_generate_combo

# 需要導入模塊: from mako import compat [as 別名]
# 或者: from mako.compat import StringIO [as 別名]
def test_generate_combo(self):
        block = \
"""
                x = 5 +6
                if x > 7:
                    for y in range(1,5):
                        print "<td>%s</td>" % y
                    print "hi"
                print "there"
                foo(lala)
"""
        stream = StringIO()
        printer = PythonPrinter(stream)
        printer.writeline("import lala")
        printer.writeline("for x in foo:")
        printer.writeline("print x")
        printer.write_indented_block(block)
        printer.writeline(None)
        printer.writeline("print y")
        printer.close()
        #print "->" + stream.getvalue().replace(' ', '#') + "<-"
        eq_(stream.getvalue(),
"""import lala
for x in foo:
    print x

    x = 5 +6
    if x > 7:
        for y in range(1,5):
            print "<td>%s</td>" % y
        print "hi"
    print "there"
    foo(lala)

print y
""") 
開發者ID:jhpyle,項目名稱:docassemble,代碼行數:38,代碼來源:test_pygen.py


注:本文中的mako.compat.StringIO方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。