view tests/heredoctest.py @ 24078:e44586d9c207

webcommands: move help import into help command handler A subsequent patch will introduce an import cycle between mercurial.help and mercurial.hgweb.webcommands. Break the cycle by moving the import of mercurial.help into the web command that actually needs it.
author Gregory Szorc <gregory.szorc@gmail.com>
date Fri, 06 Feb 2015 22:47:48 -0800
parents 8d45a42b0c0f
children 1db2127d2373
line wrap: on
line source

import sys

globalvars = {}
lines = sys.stdin.readlines()
while lines:
    l = lines.pop(0)
    if l.startswith('SALT'):
        print l[:-1]
    elif l.startswith('>>> '):
        snippet = l[4:]
        while lines and lines[0].startswith('... '):
            l = lines.pop(0)
            snippet += l[4:]
        c = compile(snippet, '<heredoc>', 'single')
        try:
            exec c in globalvars
        except Exception, inst:
            print repr(inst)