+++ /dev/null
-import sys
-
-class OutFile:
- def __init__(self, fn):
- self.filename = fn
- if fn==None:
- self.file = sys.stdout
- else:
- self.file = open(fn, "w")
- self.indent = 0
-
- def make(self, kwd, *params):
- pstr = ""
- for p in params:
- if type(p)==float:
- pstr += " %#.6g"%p
- else:
- pstr += " %s"%p
- return "%s%s"%(kwd, pstr)
-
- def write(self, kwd, *params):
- self.file.write("%s%s;\n"%('\t'*self.indent, self.make(kwd, *params)))
-
- def begin(self, kwd, *params):
- i = '\t'*self.indent
- self.file.write("%s%s\n%s{\n"%(i, self.make(kwd, *params), i))
- self.indent += 1
-
- def end(self):
- self.indent -= 1
- self.file.write("%s};\n"%('\t'*self.indent))
-
-
-def open_output(f):
- if isinstance(f, OutFile):
- return f
- return OutFile(f)