예제 #1
0
    def __init__(self, filename):
        self.sandbox = _sandbox.new()
        self.sandbox.update(_sandbox.extensions)

        if isinstance(filename, list):
            self.f = filename
            self.fn = '<string>'
        else:
            self.f = _sandbox._open(filename).read().splitlines()
            self.fn = filename

        self.r, self.py_q = _pre(self.f)
        self.r = doc_pre(self.r)
예제 #2
0
    def __init__(self, filename):
        self.sandbox = _sandbox.new()
        self.sandbox.update(_sandbox.extensions)

        if isinstance(filename, list):
            self.f = filename
            self.fn = '<string>'
        else:
            self.f = _sandbox._open(filename).read().splitlines()
            self.fn = filename

        self.r, self.py_q = _pre(self.f)
        self.r = doc_pre(self.r)
예제 #3
0
파일: _parse.py 프로젝트: micheltem/dmsl
 def __init__(self, filename):
     self.sandbox = {}
     if isinstance(filename, list):
         self.f = filename
         fn = '<string>'
     else:
         self.f = _sandbox._open(filename).read().splitlines()
         fn = filename
     self.r, self.py_q = _pre(self.f)
     if len(self.py_q) == 0:
         self.code = None
         self.py_str = ''
     else:
         self.code, self.py_str = _compile(self.py_q, fn)
         self.code = func(self.code.co_consts[0], self.sandbox)
     self.r = _doc_pre(self.r)
예제 #4
0
                py_queue.append(txt_fmt.format(py_id, py_count, l, inlines))
                f[i] = ws+u'{{{0}}}'.format(py_count)
                py_count += 1
                i += 1
                continue
        
        i += 1
    
    return f, py_queue


if __name__ == '__main__':
    import codecs
    import sys
    _f = codecs.open(sys.argv[1], 'r', 'utf-8').read().expandtabs(4).splitlines()
    f, q = _pre(_f)
    print '\n=== F ==='
    for x in f:
        print `x`
    print '\n=== Q ==='
    for x in q:
        print `x`
    

########NEW FILE########
__FILENAME__ = _py
#from _parse_pre import _parse_pre
from _pre import _pre

def _compile(py_queue, fn, kwargs):
    py_str = '\n  '.join(py_queue)
예제 #5
0
                f[i] = ws + u'{{{0}}}'.format(py_count)
                py_count += 1
                i += 1
                continue

        i += 1

    return f, py_queue


if __name__ == '__main__':
    import codecs
    import sys
    _f = codecs.open(sys.argv[1], 'r',
                     'utf-8').read().expandtabs(4).splitlines()
    f, q = _pre(_f)
    print '\n=== F ==='
    for x in f:
        print ` x `
    print '\n=== Q ==='
    for x in q:
        print ` x `

########NEW FILE########
__FILENAME__ = _py
#from _parse_pre import _parse_pre
from _pre import _pre


def _compile(py_queue, fn, kwargs):
    py_str = '\n  '.join(py_queue)
예제 #6
0
args = parser.parse_args()

if args.template_dir is not None:
    _sandbox._open.template_dir = args.template_dir[0]

if not args.debug:
    parse_templates(args.templates, args.kwargs[0], args._locals[0], args.timed, args.cache, args.repeat[0])
else:
    import pprint
    from _pre import _pre
    from _py import _compile

    pp = pprint.PrettyPrinter(depth=3)

    fn = args.templates[0]
    f = _sandbox._open(fn).read().splitlines()
    r, py_q = _pre(f)
    print('\n!!! r !!!\n')
    pp.pprint(r)
    print('\n@@@ py_q @@@\n')
    pp.pprint(py_q)
    print('\n### py_str ###\n')
    code, py_str = _compile(py_q, fn)
    print(py_str)
    print('\n$$$$$$$$$$\n')




예제 #7
0
    help=
    'Parser step output for debugging module and templates. Negates any other options set (except --template-dir) and only applicable for parsing a single template file.'
)

args = parser.parse_args()

if args.template_dir is not None:
    _sandbox._open.template_dir = args.template_dir[0]

if not args.debug:
    parse_templates(args.templates, args.kwargs[0], args._locals[0],
                    args.timed, args.cache, args.repeat[0])
else:
    import pprint
    from _pre import _pre
    from _py import _compile

    pp = pprint.PrettyPrinter(depth=3)

    fn = args.templates[0]
    f = _sandbox._open(fn).read().splitlines()
    r, py_q = _pre(f)
    print('\n!!! r !!!\n')
    pp.pprint(r)
    print('\n@@@ py_q @@@\n')
    pp.pprint(py_q)
    print('\n### py_str ###\n')
    code, py_str = _compile(py_q, fn)
    print(py_str)
    print('\n$$$$$$$$$$\n')