def __enter__(self, *args): self.cwd = os.getcwdu() try: os.chdir(self.path) except OSError: if not self.workaround_temp_folder_permissions: raise from calibre.ptempfile import reset_temp_folder_permissions reset_temp_folder_permissions() os.chdir(self.path) return self.cwd