Esempio n. 1
0
    def test_metadata(self):
        t = Template("""
Text
Text
% if bar:
    ${expression}
% endif

<%include file='bar'/>

""", uri="/some/template")
        eq_(
            ModuleInfo.get_module_source_metadata(t.code, full_line_map=True),
            {
                'full_line_map': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
                                    0, 0, 0, 0, 0, 0, 1, 4, 5, 5, 5, 7, 8,
                                    8, 8, 8, 8, 8, 8],
                'source_encoding': 'ascii',
                'filename': None,
                'line_map': {34: 28, 14: 0, 21: 1, 22: 4, 23: 5, 24: 5,
                                    25: 5, 26: 7, 27: 8, 28: 8},
                'uri': '/some/template'
            }

        )
Esempio n. 2
0
    def test_metadata_two(self):
        t = Template("""
Text
Text
% if bar:
    ${expression}
% endif

    <%block name="foo">
        hi block
    </%block>


""", uri="/some/template")
        eq_(
            ModuleInfo.get_module_source_metadata(t.code, full_line_map=True),
            {
                'full_line_map': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
                            0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 5, 5, 5, 7, 7, 7,
                            7, 7, 10, 10, 10, 10, 10, 10, 8, 8, 8, 8, 8,
                            8, 8, 8, 8, 8, 8, 8],
                'source_encoding': 'ascii',
                'filename': None,
                'line_map': {33: 10, 39: 8, 45: 8, 14: 0, 51: 45, 23: 1,
                                24: 4, 25: 5, 26: 5, 27: 5, 28: 7},
                'uri': '/some/template'}
        )
Esempio n. 3
0
 def __init__(self, filename):
     with open(filename) as f:
         py_source = f.read()
     if 0:
         for i, line in enumerate(py_source.splitlines(), start=1):
             print "%3d: %s" % (i, line)
     self.metadata = ModuleInfo.get_module_source_metadata(py_source)#, full_line_map=True)
     if 0:
         print self.metadata
Esempio n. 4
0
 def __init__(self, *args, **kwargs):
     super(MakoCodeUnit, self).__init__(*args, **kwargs)
     from mako.template import ModuleInfo
     py_source = open(self.filename).read()
     self.metadata = ModuleInfo.get_module_source_metadata(
         py_source, full_line_map=True)
Esempio n. 5
0
    def test_metadata_two(self):
        t = Template(
            """
Text
Text
% if bar:
    ${expression}
% endif

    <%block name="foo">
        hi block
    </%block>


""",
            uri="/some/template",
        )
        eq_(
            ModuleInfo.get_module_source_metadata(t.code, full_line_map=True),
            {
                "full_line_map": [
                    1,
                    1,
                    1,
                    1,
                    1,
                    1,
                    1,
                    1,
                    1,
                    1,
                    1,
                    1,
                    1,
                    1,
                    0,
                    0,
                    0,
                    0,
                    0,
                    0,
                    0,
                    0,
                    0,
                    1,
                    4,
                    5,
                    5,
                    5,
                    7,
                    7,
                    7,
                    7,
                    7,
                    10,
                    10,
                    10,
                    10,
                    10,
                    10,
                    8,
                    8,
                    8,
                    8,
                    8,
                    8,
                    8,
                    8,
                    8,
                    8,
                    8,
                    8,
                ],
                "source_encoding":
                "utf-8",
                "filename":
                None,
                "line_map": {
                    34: 10,
                    40: 8,
                    46: 8,
                    15: 0,
                    52: 46,
                    24: 1,
                    25: 4,
                    26: 5,
                    27: 5,
                    28: 5,
                    29: 7,
                },
                "uri":
                "/some/template",
            },
        )
Esempio n. 6
0
    def test_metadata(self):
        t = Template(
            """
Text
Text
% if bar:
    ${expression}
% endif

<%include file='bar'/>

""",
            uri="/some/template",
        )
        eq_(
            ModuleInfo.get_module_source_metadata(t.code, full_line_map=True),
            {
                "full_line_map": [
                    1,
                    1,
                    1,
                    1,
                    1,
                    1,
                    1,
                    1,
                    1,
                    1,
                    1,
                    1,
                    1,
                    1,
                    0,
                    0,
                    0,
                    0,
                    0,
                    0,
                    0,
                    1,
                    4,
                    5,
                    5,
                    5,
                    7,
                    8,
                    8,
                    8,
                    8,
                    8,
                    8,
                    8,
                ],
                "source_encoding":
                "utf-8",
                "filename":
                None,
                "line_map": {
                    35: 29,
                    15: 0,
                    22: 1,
                    23: 4,
                    24: 5,
                    25: 5,
                    26: 5,
                    27: 7,
                    28: 8,
                    29: 8,
                },
                "uri":
                "/some/template",
            },
        )
Esempio n. 7
0
 def __init__(self, *args, **kwargs):
     super(MakoCodeUnit, self).__init__(*args, **kwargs)
     from mako.template import ModuleInfo
     py_source = open(self.filename).read()
     self.metadata = ModuleInfo.get_module_source_metadata(py_source, full_line_map=True)