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: