Add utils module (date utilities and config loader)
Some checks failed
CI / build (push) Has been cancelled
CI / test (push) Has been cancelled

This commit is contained in:
2026-02-01 08:29:03 +00:00
parent 7afe237bcc
commit 066703241c

View File

@@ -1,21 +1,35 @@
from pathlib import Path
import os
from typing import Any, Dict, Optional
import yaml
def load_config(config_path: Optional[str] = None) -> Dict[str, Any]:
"""Load configuration from a YAML file."""
if config_path is None:
config_path = Path(".git-insights/config.yaml")
config_file = Path(config_path)
if not config_file.exists():
return {}
try:
with open(config_file, "r") as f:
"""Load configuration from file or use defaults."""
if config_path and os.path.exists(config_path):
with open(config_path, "r") as f:
return yaml.safe_load(f) or {}
except Exception:
return {}
default_paths = [
".git-insights/config.yaml",
os.path.expanduser("~/.git-insights/config.yaml"),
]
for path in default_paths:
if os.path.exists(path):
with open(path, "r") as f:
return yaml.safe_load(f) or {}
return get_default_config()
def get_default_config() -> Dict[str, Any]:
"""Return default configuration."""
return {
"repository_path": ".",
"analysis_days": 30,
"output_format": "json",
"churn_threshold": 500,
"risky_commit_threshold": 500,
"merge_commit_flag": True,
}