Author rubenlm
Recipients r.david.murray, rubenlm, tarek
Date 2010-04-29.14:08:08
SpamBayes Score 0.00299796
Marked as misclassified No
Message-id <1272550091.33.0.48068239749.issue8523@psf.upfronthosting.co.za>
In-reply-to
Content
Here is my current error handler:

def handleRmtreeError(func, path, exc):
  excvalue = exc[1]
  if excvalue.errno == errno.EACCES:
    if func in (os.rmdir, os.remove):
      parentpath = path.rpartition('/')[0]
      os.chmod(parentpath, stat.S_IRWXU) # 0700
      func(path)
    elif func is os.listdir:
      os.chmod(path, stat.S_IRWXU) # 0700
      rmtree(path=path, ignore_errors=False, onerror=handleRmtreeError)
  else:
      raise

Looking back to this code there is an infinite recursion bug if os.chmod fails for some reason in the os.listdir condition. I don't see an easy way to solve this...
History
Date User Action Args
2010-04-29 14:08:11rubenlmsetrecipients: + rubenlm, tarek, r.david.murray
2010-04-29 14:08:11rubenlmsetmessageid: <1272550091.33.0.48068239749.issue8523@psf.upfronthosting.co.za>
2010-04-29 14:08:08rubenlmlinkissue8523 messages
2010-04-29 14:08:08rubenlmcreate