@@ -0,0 +1,44 @@
|
||||
"""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())
|
||||
Reference in New Issue
Block a user