Remove the session directory and try to prune empty parents.
(self)
| 94 | # -- cleanup ---------------------------------------------------------- |
| 95 | |
| 96 | def cleanup(self) -> None: |
| 97 | """Remove the session directory and try to prune empty parents.""" |
| 98 | if self.root.exists(): |
| 99 | shutil.rmtree(self.root, ignore_errors=True) |
| 100 | # Walk up and remove empty parent directories |
| 101 | try: |
| 102 | sessions_dir = self.root.parent # .codewiki/sessions |
| 103 | if sessions_dir.exists() and not any(sessions_dir.iterdir()): |
| 104 | sessions_dir.rmdir() |
| 105 | base_dir = sessions_dir.parent # .codewiki |
| 106 | if base_dir.exists() and not any(base_dir.iterdir()): |
| 107 | base_dir.rmdir() |
| 108 | except OSError: |
| 109 | pass |
| 110 | logger.debug("Workspace cleaned up: %s", self.root) |