1111from pydantic import BaseModel
1212
1313from modflow_devtools .dfn import schema as v1
14- from modflow_devtools .dfn .mapper import map as map_v1_1
1514from modflow_devtools .dfns .mapper import map as map_v2
1615
1716Format = Literal ["yaml" , "toml" , "json" ]
@@ -37,7 +36,7 @@ def _serialize_safe(obj: Any) -> Any:
3736 )
3837 if isinstance (obj , dict ):
3938 result = {k : _serialize_safe (v ) for k , v in obj .items () if v is not None }
40- # Strip redundant name from v1/v1.1 field dicts — name is the dict key in the parent block.
39+ # Strip redundant name from field dicts — name is the dict key in the parent block.
4140 if "name" in result and "type" in result :
4241 del result ["name" ]
4342 return result
@@ -81,7 +80,7 @@ def migrate(
8180 schema_version : str = "2" ,
8281 fmt : Format = "yaml" ,
8382) -> None :
84- """Migrate DFN files' schema version and serialize to the given format.
83+ """Migrate DFN files to the v2 schema and serialize to the given format.
8584
8685 Parameters
8786 ----------
@@ -90,7 +89,7 @@ def migrate(
9089 outdir : str or PathLike
9190 Output directory.
9291 schema_version : str, optional
93- Target schema version: "1.1" or "2" . Default "2".
92+ Target schema version. Default "2".
9493 fmt : str, optional
9594 Output format: "yaml", "toml", or "json". Default "yaml".
9695 """
@@ -111,27 +110,11 @@ def migrate(
111110 with inpath .open () as f :
112111 dfn = v1 .Dfn .load (f , name = inpath .stem , common = common )
113112
114- if schema_version == "1.1" :
115- dfn = map_v1_1 (dfn )
116- elif schema_version == "2" :
117- dfn = map_v2 (dfn )
118- else :
119- raise ValueError (f"Got schema version { schema_version } , supported versions are: 1.1, 2" )
120-
121- _write (_serialize_safe (dfn ), outdir / f"{ inpath .stem } { ext } " , fmt )
113+ _write (_serialize_safe (map_v2 (dfn )), outdir / f"{ inpath .stem } { ext } " , fmt )
122114 else :
123115 dfns = v1 .load_all (inpath )
124-
125- if schema_version == "1.1" :
126- dfns = v1 .to_flat (v1 .to_tree (dfns ))
127- dfns = {name : map_v1_1 (dfn ) for name , dfn in dfns .items ()}
128- elif schema_version == "2" :
129- dfns = {name : map_v2 (dfn ) for name , dfn in dfns .items ()}
130- else :
131- raise ValueError (f"Got schema version { schema_version } , supported versions are: 1.1, 2" )
132-
133116 for dfn_name , dfn in dfns .items ():
134- _write (_serialize_safe (dfn ), outdir / f"{ dfn_name } { ext } " , fmt )
117+ _write (_serialize_safe (map_v2 ( dfn ) ), outdir / f"{ dfn_name } { ext } " , fmt )
135118
136119
137120if __name__ == "__main__" :
@@ -154,7 +137,6 @@ def migrate(
154137 "--schema-version" ,
155138 "-s" ,
156139 default = "2" ,
157- choices = ["1.1" , "2" ],
158140 help = "Target schema version (default: 2)." ,
159141 )
160142 parser .add_argument (
0 commit comments