Ticket #398: pos.diff

File pos.diff, 1.6 KB (added by desai, 16 years ago)
  • src/lib/Client/Tools/POSIX.py

     
    244244            try: 
    245245                os.lstat(parent) 
    246246            except: 
    247                 self.logger.debug('Creating parent path for config file %s' % (entry.get('name'))) 
    248                 for idx in xrange(len(parent.split('/')[:-1])): 
    249                     current = '/'+'/'.join(parent.split('/')[1:2+idx]) 
     247                self.logger.debug('Creating parent path for config file %s' % \ 
     248                                  (entry.get('name'))) 
     249                current = '/' 
     250                for next in parent.split('/')[1:]: 
     251                    current += next + '/' 
    250252                    try: 
    251253                        sloc = os.lstat(current) 
    252254                        try: 
    253255                            if not S_ISDIR(sloc[ST_MODE]): 
     256                                self.logger.debug('%s is not a directory; recreating' \ 
     257                                                  % (current)) 
    254258                                os.unlink(current) 
    255259                                os.mkdir(current) 
    256260                        except OSError: 
    257261                            return False 
    258262                    except OSError: 
    259263                        try: 
     264                            self.logger.debug("Creating non-existent path %s" % current) 
    260265                            os.mkdir(current) 
    261266                        except OSError: 
    262267                            return False