Skip to content

Commit 00ff238

Browse files
committed
add ftype attribute to Dfn
1 parent c12d4c6 commit 00ff238

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

modflow_devtools/dfn/__init__.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ class Dfn:
8585
parent: str | None = None
8686
advanced: bool = False
8787
multi: bool = False
88+
ftype: str | None = None
8889
ref: Ref | None = None
8990
blocks: Blocks | None = None
9091
children: Dfns | None = None
@@ -521,6 +522,7 @@ def map(self, dfn: Dfn) -> Dfn:
521522
name=dfn.name,
522523
advanced=dfn.advanced,
523524
multi=dfn.multi,
525+
ftype=dfn.ftype or (dfn.name.split("-", 1)[1].upper() if "-" in dfn.name else None),
524526
ref=dfn.ref,
525527
blocks=MapV1To2.map_blocks(dfn),
526528
schema_version=v2,
@@ -557,18 +559,22 @@ def load(f, format: str = "dfn", **kwargs) -> Dfn:
557559
parent=try_parse_parent(meta),
558560
advanced=is_advanced_package(meta),
559561
multi=is_multi_package(meta),
562+
ftype=name.split("-", 1)[1].upper() if "-" in name else None,
560563
blocks=blocks,
561564
)
562565

563566
elif format == "toml":
564567
data = tomli.load(f)
568+
dfn_name = data.pop("name", kwargs.pop("name", None))
565569

566570
dfn_fields = {
567-
"name": data.pop("name", kwargs.pop("name", None)),
571+
"name": dfn_name,
568572
"schema_version": Version(str(data.pop("schema_version", "2"))),
569573
"parent": data.pop("parent", None),
570574
"advanced": data.pop("advanced", False),
571575
"multi": data.pop("multi", False),
576+
"ftype": data.pop("ftype", None)
577+
or (dfn_name.split("-", 1)[1].upper() if dfn_name and "-" in dfn_name else None),
572578
"ref": data.pop("ref", None),
573579
}
574580

0 commit comments

Comments
 (0)