This commit is contained in:
Christian Anetzberger
2026-01-22 20:23:51 +01:00
commit a197de9456
4327 changed files with 1235205 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
# Copyright (c) 2022, Manfred Moitzi
# License: MIT License
from typing import NamedTuple, Union
import os
from ezdxf.lldxf import const
class DWGInfo(NamedTuple):
version: str = "unknown"
release: str = "unknown"
def dwg_info(data: bytes) -> DWGInfo:
"""Returns the version and release name of a DWG file."""
if len(data) < 6:
return DWGInfo("invalid", "invalid")
version = data[:6].decode(errors="ignore")
if version[:4] != "AC10":
return DWGInfo("invalid", "invalid")
release = const.acad_release.get(version, "unknown")
return DWGInfo(version, release)
def dwg_file_info(file: Union[str, os.PathLike]) -> DWGInfo:
"""Returns the version and release name of a DWG file."""
with open(file, "rb") as fp:
return dwg_info(fp.read(6))