Changeset 1085 in tailor


Ignore:
Timestamp:
04/01/06 18:37:47 (7 years ago)
Author:
lele@…
Hash name:
20060401163747-97f81-9744ea203e2d66f7c66e7325817e2782763ebe9c
Message:

Check for working directory existence, to avoid confusing error message

File:
1 edited

Legend:

Unmodified
Added
Removed
  • vcpx/shwrap.py

    r1047 r1085  
    179179        from locale import getpreferredencoding 
    180180        from os import environ, getcwd 
     181        from os.path import isdir 
    181182        from cStringIO import StringIO 
     183        from errno import ENOENT 
    182184 
    183185        self.exit_status = None 
     
    194196            return 
    195197 
    196         if not kwargs.has_key('cwd') and self.cwd: 
    197             kwargs['cwd'] = self.cwd 
    198  
    199         self.log.debug("Executing %r (%r)", self, kwargs.get('cwd', getcwd())) 
     198        cwd = kwargs.setdefault('cwd', self.cwd or getcwd()) 
     199        if not isdir(cwd): 
     200            raise OSError(ENOENT, "Working directory does not exist", cwd) 
     201 
     202        self.log.debug("Executing %r (%r)", self, cwd) 
    200203 
    201204        if not kwargs.has_key('env'): 
     
    233236                            stderr=error, 
    234237                            env=kwargs.get('env'), 
    235                             cwd=kwargs.get('cwd'), 
     238                            cwd=cwd, 
    236239                            universal_newlines=True) 
    237240        except OSError, e: 
    238             from errno import ENOENT 
    239  
    240241            if e.errno == ENOENT: 
    241                 raise OSError("'%s' does not exist!" % self._last_command[0]) 
     242                raise OSError("%r does not exist!" % self._last_command[0]) 
    242243            else: 
    243244                raise 
Note: See TracChangeset for help on using the changeset viewer.