Skip to content

Commit b334ddc

Browse files
Fix docs
1 parent 5c29a87 commit b334ddc

File tree

3 files changed

+16
-13
lines changed

3 files changed

+16
-13
lines changed

src/roman_datamodels/datamodels/_datamodels.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
import functools
1313
import itertools
1414
import logging
15-
from collections.abc import Mapping
15+
from collections.abc import MutableMapping
1616
from pathlib import Path
1717
from typing import TYPE_CHECKING
1818

@@ -166,8 +166,8 @@ def __init__(self, init=None, **kwargs):
166166

167167
@classmethod
168168
def _creator_defaults(
169-
cls, defaults: dict[str, Any] | None = None, *, time: Time | None = None
170-
) -> dict[str, dict[str, str | Time]]:
169+
cls, defaults: MutableMapping[str, Any] | None = None, *, time: Time | None = None
170+
) -> MutableMapping[str, Any]:
171171
"""
172172
The default values for the create constructors, `create_minimal` and `create_fake_data`.
173173
@@ -185,11 +185,11 @@ def _creator_defaults(
185185
some values that we want to always set to a specific value.
186186
"""
187187

188-
def merge_dicts(dict1, dict2):
188+
def merge_dicts(dict1: MutableMapping[str, Any], dict2: MutableMapping[str, Any]) -> MutableMapping[str, Any]:
189189
for key in dict2:
190190
if key in dict1:
191-
dict1_is_mapping = isinstance(dict1[key], Mapping)
192-
dict2_is_mapping = isinstance(dict2[key], Mapping)
191+
dict1_is_mapping = isinstance(dict1[key], MutableMapping)
192+
dict2_is_mapping = isinstance(dict2[key], MutableMapping)
193193

194194
if dict1_is_mapping and dict2_is_mapping:
195195
dict1[key] = merge_dicts(dict1[key], dict2[key])
@@ -215,7 +215,7 @@ def merge_dicts(dict1, dict2):
215215
)
216216

217217
@classmethod
218-
def create_minimal(cls, defaults=None):
218+
def create_minimal(cls, defaults=None, *, tag=None):
219219
"""
220220
Class method that constructs an "minimal" model.
221221
@@ -240,10 +240,10 @@ def create_minimal(cls, defaults=None):
240240
be incomplete (invalid) as not all required attributes
241241
can be guessed.
242242
"""
243-
return super().create_minimal(defaults=cls._creator_defaults(defaults))
243+
return super().create_minimal(defaults=cls._creator_defaults(defaults), tag=tag)
244244

245245
@classmethod
246-
def create_fake_data(cls, defaults=None, shape=None):
246+
def create_fake_data(cls, defaults=None, shape=None, *, tag=None):
247247
"""
248248
Class method that constructs a model filled with fake data.
249249
@@ -273,7 +273,9 @@ def create_fake_data(cls, defaults=None, shape=None):
273273
A valid model with fake data.
274274
"""
275275
return super().create_fake_data(
276-
defaults=cls._creator_defaults(defaults, time=Time("2020-01-01T00:00:00.0", format="isot", scale="utc")), shape=shape
276+
defaults=cls._creator_defaults(defaults, time=Time("2020-01-01T00:00:00.0", format="isot", scale="utc")),
277+
shape=shape,
278+
tag=tag,
277279
)
278280

279281

src/roman_datamodels/stnode/_mixins.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@
3535
"ForcedImageSourceCatalogMixin",
3636
"ForcedMosaicSourceCatalogMixin",
3737
"FpsFileDateMixin",
38+
"FpsMixin",
39+
"GuidewindowMixin",
3840
"ImageSourceCatalogMixin",
3941
"L2CalStepMixin",
4042
"L3CalStepMixin",
@@ -46,6 +48,7 @@
4648
"SdfSoftwareVersionMixin",
4749
"TelescopeMixin",
4850
"TvacFileDateMixin",
51+
"TvacMixin",
4952
"WfiImgPhotomRefMixin",
5053
"WfiModeMixin",
5154
]

src/roman_datamodels/stnode/_tagged.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -209,9 +209,7 @@ def create_from_node(cls, node, builder=None, *, tag: str | None = None):
209209
@property
210210
def _tag(self):
211211
# _tag is required by asdf to allow __asdf_traverse__
212-
if self._read_tag is None:
213-
return self._default_tag
214-
return self._read_tag
212+
return getattr(self, "_read_tag", self._default_tag)
215213

216214
@property
217215
def tag(self):

0 commit comments

Comments
 (0)