Esempio n. 1
0
  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)
Esempio n. 2
0
File: disk.py Progetto: refi64/felix
    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)
Esempio n. 3
0
File: disk.py Progetto: gbluma/felix
    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)