Files
md_to_gost/scripts/fetch_graphviz.py
Igor20264 510f7e7adf
Python application / build (push) Waiting to run
v0.5.2
Что то сделал
2026-09-08 19:37:54 +03:00

45 lines
1.3 KiB
Python

"""Download official Graphviz win64 portable into md2gost/vendor/graphviz (for exe builds)."""
from __future__ import annotations
import sys
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
if str(ROOT) not in sys.path:
sys.path.insert(0, str(ROOT))
from md2gost.dfd import ( # noqa: E402
GRAPHVIZ_VERSION,
GRAPHVIZ_ZIP_URL,
fetch_graphviz,
resolve_graphviz_engine,
strip_graphviz_tcl_libs,
vendor_graphviz_root,
)
def main() -> int:
dest = vendor_graphviz_root()
print(f"Graphviz {GRAPHVIZ_VERSION}: {GRAPHVIZ_ZIP_URL}")
print(f"Куда: {dest}")
if resolve_graphviz_engine(False) and (dest / "bin").is_dir():
n = strip_graphviz_tcl_libs(dest)
hit = resolve_graphviz_engine(False)
extra = f", снял Tcl/Tk DLL Graphviz: {n}" if n else ""
print(f"Уже есть: {hit}{extra}")
return 0
if fetch_graphviz(dest):
hit = resolve_graphviz_engine(False)
print(f"Готово: {hit or dest}")
return 0
print(
"Не удалось скачать Graphviz "
"(exe соберётся; DFD пойдёт через kroki.io или системный PATH)."
)
return 0
if __name__ == "__main__":
raise SystemExit(main())