Skip to content

Commit 1de0c38

Browse files
authored
Merge pull request #262 from machow/fix-member-options-tracking
fix: setting member_options no longer unsets package on members
2 parents 7339f4d + fdbc32a commit 1de0c38

File tree

2 files changed

+19
-3
lines changed

2 files changed

+19
-3
lines changed

quartodoc/builder/blueprint.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,7 @@ def _to_simple_dict(el: "BaseModel"):
117117

118118

119119
def _non_default_entries(el: Auto):
120-
d = el.dict()
121-
122-
return {k: d[k] for k in el._fields_specified}
120+
return {k: getattr(el, k) for k in el._fields_specified}
123121

124122

125123
class BlueprintTransformer(PydanticTransformer):

quartodoc/tests/test_builder_blueprint.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from quartodoc import get_object
22
from quartodoc import layout as lo
33
from quartodoc.builder.blueprint import (
4+
_non_default_entries,
45
BlueprintTransformer,
56
blueprint,
67
WorkaroundKeyError,
@@ -37,6 +38,23 @@ def bp():
3738
return BlueprintTransformer()
3839

3940

41+
def test_non_default_entries_auto():
42+
assert _non_default_entries(lo.Auto(name="a_func", include_attributes=False)) == {
43+
"name": "a_func",
44+
"include_attributes": False,
45+
}
46+
47+
48+
def test_non_default_entries_auto_member_options():
49+
# these entries are nested inside auto
50+
res = _non_default_entries(
51+
lo.Auto(name="a_func", member_options={"include_attributes": False})
52+
)
53+
54+
assert res["name"] == "a_func"
55+
assert _non_default_entries(res["member_options"]) == {"include_attributes": False}
56+
57+
4058
@pytest.mark.parametrize("path", ["quartodoc.get_object", "quartodoc:get_object"])
4159
def test_blueprint_basic(bp, path):
4260
auto = lo.Auto(name=path)

0 commit comments

Comments
 (0)