Skip to content

Commit 0f5843d

Browse files
committed
feat: support for GenericSerializer
1 parent 40f0bd3 commit 0f5843d

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

python/ngen_config_gen/src/ngen/config_gen/file_writer.py

+7
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
NamelistSerializer,
1717
TomlSerializer,
1818
YamlSerializer,
19+
GenericSerializer,
1920
)
2021
from pydantic import BaseModel
2122
from typing_extensions import Literal, Self
@@ -58,6 +59,8 @@ def _get_str_serializer(data: BaseModel) -> Callable[[], str]:
5859
return data.to_toml_str
5960
elif isinstance(data, YamlSerializer):
6061
return data.to_yaml_str
62+
elif isinstance(data, GenericSerializer):
63+
return data.to_str
6164
elif isinstance(data, BaseModel):
6265
return data.json
6366

@@ -81,6 +84,8 @@ def serialize(p: Path):
8184
return data.to_toml
8285
elif isinstance(data, YamlSerializer):
8386
return data.to_yaml
87+
elif isinstance(data, GenericSerializer):
88+
return data.to_file
8489
elif isinstance(data, BaseModel): # type: ignore
8590
json_serializer(data)
8691

@@ -98,6 +103,8 @@ def _get_file_extension(data: BaseModel) -> str:
98103
return "toml"
99104
elif isinstance(data, YamlSerializer):
100105
return "yaml"
106+
elif isinstance(data, GenericSerializer):
107+
return ""
101108
elif isinstance(data, BaseModel): # type: ignore
102109
return "json"
103110

0 commit comments

Comments
 (0)