website/generator/git.py
2024-04-10 00:36:47 +01:00

24 lines
659 B
Python

import datetime
from pathlib import Path
import subprocess
def get_latest_commit_hash(base_dir: Path | str) -> str:
return (
subprocess.check_output("git rev-parse HEAD".split(" "), cwd=base_dir)
.decode()
.strip()
)
def get_latest_commit_datetime(base_dir: Path | str) -> datetime.datetime:
# See https://git-scm.com/docs/pretty-formats for info about the format string
return datetime.datetime.fromtimestamp(
int(
subprocess.check_output(
"git show --no-patch --format=%ct HEAD".split(" "), cwd=base_dir
)
.decode()
.strip()
)
)