6.3.2.3. Simple Disk File Sink

6.3.2.3. Simple Disk File Sink

Start python section to interscript/drivers/sinks/disk.py[1]
     1: #line 212 "sink_drivers.ipk"
     2: import string
     3: from interscript.drivers.sinks.base import sink
     4: from interscript.drivers.sinks import sink_open_error
     5: from interscript.drivers.sinks.util import mk_dir
     6: 
     7: class simple_named_file_sink(sink):
     8:   def __init__(self,pass_frame,input_filename, prefix='', eol='\n'):
     9:     self.eol = eol
    10: 
    11:     # compute absolute pathname, and create directories if necessary
    12:     # we don't use posixpath because we're enforcing an _interscript_
    13:     # pathname convention here
    14:     pathlist = string.split(input_filename,'/')
    15:     self.basename = pathlist[-1]
    16:     pathname = mk_dir(prefix, pathlist)
    17:     try:
    18:       file = open(pathname,'w')
    19:     except:
    20:       raise sink_open_error,pathname
    21:     sink.__init__(self, name = input_filename, file = file)
    22:     pass_frame.flist.append(pathname)
    23: 
    24:   def __del__(self):
    25:     self.file.close()
    26: 
    27:   def raw_write(self,line): self.file.write(line)
    28:   def raw_eol(self): self.raw_write(self.eol)
    29: 
End python section to interscript/drivers/sinks/disk.py[1]