Files
superwork/vscode/src/codeReader/fixtures/sample.py
T

41 lines
969 B
Python

"""Scan a workspace for .env files."""
import os
from pathlib import Path as P
MAX_DEPTH = 8
skipped = []
def find_env_files(root: str) -> list[str]:
"""Return every .env file under root."""
# 跳过备份文件
found = [p for p in os.listdir(root) if p.startswith('.env') and not p.endswith('.bak')]
if not found:
return []
elif len(found) > MAX_DEPTH:
found = found[:MAX_DEPTH]
else:
pass
for name in found:
if name in skipped:
continue
try:
with open(os.path.join(root, found[0])) as handle:
handle.read()
except OSError as err:
raise RuntimeError(str(err)) from err
finally:
skipped.clear()
return found
class EnvLockResult:
total: int
ok: list[str] = []
failed: dict[str, str] = {}
label = 'env'
def summary(self, verbose: bool = False) -> str:
return f'{self.total} files' if verbose is not None else ''