diff options
Diffstat (limited to 'io_import_dxf/dxfgrabber/headersection.py')
-rwxr-xr-x | io_import_dxf/dxfgrabber/headersection.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/io_import_dxf/dxfgrabber/headersection.py b/io_import_dxf/dxfgrabber/headersection.py new file mode 100755 index 00000000..a12cee95 --- /dev/null +++ b/io_import_dxf/dxfgrabber/headersection.py @@ -0,0 +1,33 @@ +# Purpose: handle header section +# Created: 21.07.2012, taken from my ezdxf project +# Copyright (C) 2012, Manfred Moitzi +# License: MIT License +from __future__ import unicode_literals +__author__ = "mozman <mozman@gmx.at>" + +from .tags import TagGroups, DXFTag + +class HeaderSection(dict): + name = "header" + + def __init__(self): + super(HeaderSection, self).__init__() + self._create_default_vars() + + @staticmethod + def from_tags(tags): + header = HeaderSection() + if tags[1] == DXFTag(2, 'HEADER'): # DXF12 without a HEADER section is valid! + header._build(tags) + return header + + def _create_default_vars(self): + self['$ACADVER'] = 'AC1009' + self['$DWGCODEPAGE'] = 'ANSI_1252' + + def _build(self, tags): + if len(tags) == 3: # empty header section! + return + groups = TagGroups(tags[2:-1], split_code=9) + for group in groups: + self[group[0].value] = group[1].value |