Skip to content

Commit c01b52e

Browse files
committed
add ftype attribute to Dfn
1 parent ad0b128 commit c01b52e

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

modflow_devtools/dfns/__init__.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ class Dfn:
9797
parent: str | None = None
9898
advanced: bool = False
9999
multi: bool = False
100+
ftype: str | None = None
100101
ref: Ref | None = None
101102
blocks: Blocks | None = None
102103
children: Dfns | None = None
@@ -533,6 +534,7 @@ def map(self, dfn: Dfn) -> Dfn:
533534
name=dfn.name,
534535
advanced=dfn.advanced,
535536
multi=dfn.multi,
537+
ftype=dfn.ftype or (dfn.name.split("-", 1)[1].upper() if "-" in dfn.name else None),
536538
ref=dfn.ref,
537539
blocks=MapV1To2.map_blocks(dfn),
538540
schema_version=v2,
@@ -569,18 +571,22 @@ def load(f, format: str = "dfn", **kwargs) -> Dfn:
569571
parent=try_parse_parent(meta),
570572
advanced=is_advanced_package(meta),
571573
multi=is_multi_package(meta),
574+
ftype=name.split("-", 1)[1].upper() if "-" in name else None,
572575
blocks=blocks,
573576
)
574577

575578
elif format == "toml":
576579
data = tomli.load(f)
580+
dfn_name = data.pop("name", kwargs.pop("name", None))
577581

578582
dfn_fields = {
579-
"name": data.pop("name", kwargs.pop("name", None)),
583+
"name": dfn_name,
580584
"schema_version": Version(str(data.pop("schema_version", "2"))),
581585
"parent": data.pop("parent", None),
582586
"advanced": data.pop("advanced", False),
583587
"multi": data.pop("multi", False),
588+
"ftype": data.pop("ftype", None)
589+
or (dfn_name.split("-", 1)[1].upper() if dfn_name and "-" in dfn_name else None),
584590
"ref": data.pop("ref", None),
585591
}
586592

0 commit comments

Comments
 (0)