code: def cleanup(self):
          
          shutil.rmtree(self.name, onerror=lambda *a: os.chmod(a[1], __import__('stat').S_IWRITE) or os.unlink(a[1]))
          if os.path.exists(self.name):
              raise IOError(17, "File exists: '{}'".format(self.name))
docs: Recursively delete directory.