Description
Status strings "expired", "warning", "ok" are used as bare string literals in keys.py and compared in cli.py. Typos would not be caught by mypy.
Proposed Solution
from typing import Literal
ExpiryStatus = Literal["expired", "warning", "ok"]
Use ExpiryStatus in ExpiryWarning.status and all comparisons.
Files
src/vaultctl/keys.py (lines 100, 102, 104)
src/vaultctl/cli.py (lines 337, 361)
Priority
P2
Description
Status strings
"expired","warning","ok"are used as bare string literals inkeys.pyand compared incli.py. Typos would not be caught by mypy.Proposed Solution
Use
ExpiryStatusinExpiryWarning.statusand all comparisons.Files
src/vaultctl/keys.py(lines 100, 102, 104)src/vaultctl/cli.py(lines 337, 361)Priority
P2