| 1 | import sys, os |
| 2 | |
| 3 | class File: |
| 4 | def __init__(self,fnam="out.pov",*items): |
| 5 | self.file = open(fnam,"w") |
| 6 | self.__indent = 0 |
| 7 | self.write(*items) |
| 8 | def include(self,name): |
| 9 | self.writeln( '#include "%s"'%name ) |
| 10 | self.writeln() |
| 11 | def indent(self): |
| 12 | self.__indent += 1 |
| 13 | def dedent(self): |
| 14 | self.__indent -= 1 |
| 15 | assert self.__indent >= 0 |
| 16 | def block_begin(self): |
| 17 | self.writeln( "{" ) |
| 18 | self.indent() |
| 19 | def block_end(self): |
| 20 | self.dedent() |
| 21 | self.writeln( "}" ) |
| 22 | if self.__indent == 0: |
| 23 | # blank line if this is a top level end |
| 24 | self.writeln( ) |
| 25 | def write(self,*items): |
| 26 | for item in items: |
| 27 | if type(item) == str: |
| 28 | self.include(item) |
| 29 | else: |
| 30 | item.write(self) |
| 31 | def writeln(self,s=""): |
| 32 | #print " "*self.__indent+s |
| 33 | self.file.write(" "*self.__indent+s+os.linesep) |
| 34 | |
| 35 | class Vector: |
| 36 | def __init__(self,*args): |
no outgoing calls
no test coverage detected