Skip to content

Commit

Permalink
refactor(env): Shorten paths on Windows with env vars
Browse files Browse the repository at this point in the history
  • Loading branch information
rlaphoenix committed Apr 24, 2024
1 parent 3bfd96d commit af95ba0
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions devine/commands/env.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
import logging
import os
import shutil
import sys
from pathlib import Path
from typing import Optional

import click
Expand Down Expand Up @@ -38,10 +41,20 @@ def info() -> None:
table.add_column("Name", no_wrap=True)
table.add_column("Path")

path_vars = {
x: Path(os.getenv(x))
for x in ("TEMP", "APPDATA", "LOCALAPPDATA", "USERPROFILE")
if sys.platform == "win32" and os.getenv(x)
}

for name in sorted(dir(config.directories)):
if name.startswith("__") or name == "app_dirs":
continue
path = getattr(config.directories, name).resolve()
for var, var_path in path_vars.items():
if path.is_relative_to(var_path):
path = rf"%{var}%\{path.relative_to(var_path)}"
break
table.add_row(name.title(), str(path))

console.print(Padding(
Expand Down

0 comments on commit af95ba0

Please sign in to comment.