def __init__(self,pass_frame,input_filename, prefix='', eol='\n'): self.pass_frame = pass_frame self.process = pass_frame.process self.site = self.process.site self.platform = self.site.platform if 'sinks' in self.process.trace: self.process.acquire_object(self,'NAMED FILE SINK '+input_filename) self.eol = eol # compute absolute pathname, and create directories if necessary # we don't use posixpath because we're enforcing an _interscript_ # pathname convention here pathlist = input_filename.split('/') self.basename = pathlist[-1] pathname = self.platform.mk_dir(prefix, pathlist) if self.platform.file_exists(pathname): self.tmp_filename = self.platform.tempfile.mktemp() if 'sinks' in self.process.trace: print('Generating temporary',self.tmp_filename,'for',input_filename) try: file =self.platform.open(self.tmp_filename,'w') self.pass_frame.fdict[input_filename]='temporary' except: raise sink_open_error(self.tmp_filename) sink_base.__init__(self, filename = pathname, name = input_filename, file = file ) if pass_frame: self.pass_frame.flist.append(input_filename) else: if 'sinks' in self.process.trace: print('Generating original',input_filename) try: file = self.platform.open(pathname,'w') if pass_frame: self.pass_frame.fdict[input_filename]='original' except: raise sink_open_error(pathname) sink_base.__init__(self, filename = pathname, name = input_filename, file = file) if pass_frame: self.pass_frame.flist.append(input_filename)
def __init__(self, pass_frame, input_filename, prefix='', eol='\n'): self.eol = eol # compute absolute pathname, and create directories if necessary # we don't use posixpath because we're enforcing an _interscript_ # pathname convention here pathlist = input_filename.split('/') self.basename = pathlist[-1] platform = pass_frame.process.site.platform pathname = platform.mk_dir(prefix, pathlist) try: file = platform.open(pathname, 'w') except: raise sink_open_error(pathname) sink_base.__init__(self, name=input_filename, file=file) if pass_frame: pass_frame.flist.append(pathname)
def __init__(self, pass_frame, input_filename, prefix="", eol="\n"): self.eol = eol # compute absolute pathname, and create directories if necessary # we don't use posixpath because we're enforcing an _interscript_ # pathname convention here pathlist = input_filename.split("/") self.basename = pathlist[-1] platform = pass_frame.process.site.platform pathname = platform.mk_dir(prefix, pathlist) try: file = platform.open(pathname, "w") except: raise sink_open_error(pathname) sink_base.__init__(self, name=input_filename, file=file) if pass_frame: pass_frame.flist.append(pathname)