Passed
Push — main ( 4b9dc0...1b55d1 )
by Douglas
06:16 queued 02:32
created

mandos.model.utils.unlink()   A

Complexity

Conditions 5

Size

Total Lines 13
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 5
eloc 12
nop 3
dl 0
loc 13
rs 9.3333
c 0
b 0
f 0
1
from pathlib import Path
0 ignored issues
show
introduced by
Missing module docstring
Loading history...
2
3
from pocketutils.tools.filesys_tools import FilesysTools
0 ignored issues
show
introduced by
Unable to import 'pocketutils.tools.filesys_tools'
Loading history...
4
5
from mandos.model.utils.setup import logger
6
7
8
def unlink(path: Path, *, missing_ok: bool = False) -> None:
0 ignored issues
show
introduced by
Missing function or method docstring
Loading history...
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