Mercurial > hgbook
diff en/examples/run-example @ 680:8366882f67f2
Fix up more formatting goop
author | Bryan O'Sullivan <bos@serpentine.com> |
---|---|
date | Wed, 18 Mar 2009 00:00:58 -0700 |
parents | 80928ea6e7ae |
children | a2923aa93da9 |
line wrap: on
line diff
--- a/en/examples/run-example Tue Mar 17 21:47:12 2009 -0700 +++ b/en/examples/run-example Wed Mar 18 00:00:58 2009 -0700 @@ -7,6 +7,7 @@ import cStringIO import errno import getopt +import glob import os import pty import re @@ -54,15 +55,30 @@ return None def result_name(name): - return os.path.join('results', name.replace(os.sep, '-')) + return os.path.normpath(os.path.join('results', name.replace(os.sep, '-'))) + +def wopen(name): + path = os.path.dirname(name) + if path: + try: + os.makedirs(path) + except OSError, err: + if err.errno != errno.EEXIST: + raise + return open(name, 'w') class example: entities = dict.fromkeys(l.rstrip() for l in open('auto-snippets.xml')) def __init__(self, name, verbose, keep_change): - self.name = name + self.name = os.path.normpath(name) self.verbose = verbose self.keep_change = keep_change + + def status(self, s): + sys.stdout.write(s) + if not s.endswith('\n'): + sys.stdout.flush() def rename_output(self, base, ignore=[]): mangle_re = re.compile('(?:' + '|'.join(ignore) + ')') @@ -97,7 +113,7 @@ os.unlink(errname) return False else: - print >> sys.stderr, '\nOutput of %s has changed!' % baseq + print >> sys.stderr, '\nOutput of %s has changed!' % base if self.keep_change: os.rename(errname, oldname) return False @@ -105,18 +121,9 @@ os.system('diff -u %s %s 1>&2' % (oldname, errname)) return True -def wopen(name): - path = os.path.dirname(name) - if path: - try: - os.makedirs(path) - except OSError, err: - if err.errno != errno.EEXIST: - raise - return open(name, 'w') - class static_example(example): def run(self): + self.status('running %s\n' % self.name) s = open(self.name).read().rstrip() s = s.replace('&', '&').replace('<', '<').replace('>', '>') ofp = wopen(result_name(self.name + '.tmp')) @@ -152,11 +159,6 @@ yield cfp.getvalue() cfp.seek(0) cfp.truncate() - - def status(self, s): - sys.stdout.write(s) - if not s.endswith('\n'): - sys.stdout.flush() def send(self, s): if self.verbose: