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('&', '&amp;').replace('<', '&lt;').replace('>', '&gt;')
         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: