hgbook

diff en/examples/run-example @ 580:8366882f67f2

Fix up more formatting goop
author Bryan O'Sullivan <bos@serpentine.com>
date Wed Mar 18 00:00:58 2009 -0700 (2009-03-18)
parents 80928ea6e7ae
children a2923aa93da9
line diff
     1.1 --- a/en/examples/run-example	Tue Mar 17 21:47:12 2009 -0700
     1.2 +++ b/en/examples/run-example	Wed Mar 18 00:00:58 2009 -0700
     1.3 @@ -7,6 +7,7 @@
     1.4  import cStringIO
     1.5  import errno
     1.6  import getopt
     1.7 +import glob
     1.8  import os
     1.9  import pty
    1.10  import re
    1.11 @@ -54,15 +55,30 @@
    1.12      return None
    1.13          
    1.14  def result_name(name):
    1.15 -    return os.path.join('results', name.replace(os.sep, '-'))
    1.16 +    return os.path.normpath(os.path.join('results', name.replace(os.sep, '-')))
    1.17 +
    1.18 +def wopen(name):
    1.19 +    path = os.path.dirname(name)
    1.20 +    if path:
    1.21 +        try:
    1.22 +            os.makedirs(path)
    1.23 +        except OSError, err:
    1.24 +            if err.errno != errno.EEXIST:
    1.25 +                raise
    1.26 +    return open(name, 'w')
    1.27  
    1.28  class example:
    1.29      entities = dict.fromkeys(l.rstrip() for l in open('auto-snippets.xml'))
    1.30  
    1.31      def __init__(self, name, verbose, keep_change):
    1.32 -        self.name = name
    1.33 +        self.name = os.path.normpath(name)
    1.34          self.verbose = verbose
    1.35          self.keep_change = keep_change
    1.36 +        
    1.37 +    def status(self, s):
    1.38 +        sys.stdout.write(s)
    1.39 +        if not s.endswith('\n'):
    1.40 +            sys.stdout.flush()
    1.41  
    1.42      def rename_output(self, base, ignore=[]):
    1.43          mangle_re = re.compile('(?:' + '|'.join(ignore) + ')')
    1.44 @@ -97,7 +113,7 @@
    1.45              os.unlink(errname)
    1.46              return False
    1.47          else:
    1.48 -            print >> sys.stderr, '\nOutput of %s has changed!' % baseq
    1.49 +            print >> sys.stderr, '\nOutput of %s has changed!' % base
    1.50              if self.keep_change:
    1.51                  os.rename(errname, oldname)
    1.52                  return False
    1.53 @@ -105,18 +121,9 @@
    1.54                  os.system('diff -u %s %s 1>&2' % (oldname, errname))
    1.55              return True
    1.56  
    1.57 -def wopen(name):
    1.58 -    path = os.path.dirname(name)
    1.59 -    if path:
    1.60 -        try:
    1.61 -            os.makedirs(path)
    1.62 -        except OSError, err:
    1.63 -            if err.errno != errno.EEXIST:
    1.64 -                raise
    1.65 -    return open(name, 'w')
    1.66 -
    1.67  class static_example(example):
    1.68      def run(self):
    1.69 +        self.status('running %s\n' % self.name)
    1.70          s = open(self.name).read().rstrip()
    1.71          s = s.replace('&', '&amp;').replace('<', '&lt;').replace('>', '&gt;')
    1.72          ofp = wopen(result_name(self.name + '.tmp'))
    1.73 @@ -152,11 +159,6 @@
    1.74                  yield cfp.getvalue()
    1.75                  cfp.seek(0)
    1.76                  cfp.truncate()
    1.77 -        
    1.78 -    def status(self, s):
    1.79 -        sys.stdout.write(s)
    1.80 -        if not s.endswith('\n'):
    1.81 -            sys.stdout.flush()
    1.82  
    1.83      def send(self, s):
    1.84          if self.verbose: