Total Complexity | 5 |
Total Lines | 24 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | from pathlib import Path |
||
|
|||
2 | |||
3 | from pocketutils.tools.filesys_tools import FilesysTools |
||
4 | |||
5 | from mandos.model.utils.setup import logger |
||
6 | |||
7 | |||
8 | def unlink(path: Path, *, missing_ok: bool = False) -> None: |
||
9 | info = FilesysTools.get_info(path) |
||
10 | path.unlink(missing_ok=missing_ok) |
||
11 | if info.is_valid_symlink: |
||
12 | logger.trace(f"Deleted valid symlink {path} (to {info.resolved})") |
||
13 | elif info.is_broken_symlink: |
||
14 | logger.trace(f"Deleted -broken- symlink {path} (to {info.resolved})") |
||
15 | elif info.is_file: |
||
16 | logger.trace(f"Deleted file {path}") |
||
17 | elif info.source.exists(): # can't happen, I think |
||
18 | logger.trace(f"Deleted misc. path {path}") |
||
19 | else: |
||
20 | logger.trace(f"Did not delete {path} (did not exist)") |
||
21 | |||
22 | |||
23 | __all__ = ["unlink"] |
||
24 |