From 6260c58aa185200a08c76ecc99a941a26a93eeb8 Mon Sep 17 00:00:00 2001 From: Tin Tvrtkovic Date: Sun, 19 Dec 2021 14:43:28 +0100 Subject: [PATCH] Rename gen.make_dict_unstructure_fn.omit_if_default --- HISTORY.rst | 1 + src/cattr/converters.py | 5 ++++- src/cattr/gen.py | 7 +++++-- tests/test_gen_dict.py | 5 +++-- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/HISTORY.rst b/HISTORY.rst index 1ce31e78..36a477e4 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -6,6 +6,7 @@ History * Add PEP 563 (string annotations) for dataclasses. (`#195 `_) * Fix handling of dictionaries with string Enum keys for bson, orjson, and tomlkit. +* Rename the ``cattr.gen.make_dict_unstructure_fn.omit_if_default`` parameter to ``_cattrs_omit_if_default``, for consistency. The ``omit_if_default`` parameters to ``GenConverter`` and ``override`` are unchanged. 1.9.0 (2021-12-06) ------------------ diff --git a/src/cattr/converters.py b/src/cattr/converters.py index bbafcfd3..793aaf47 100644 --- a/src/cattr/converters.py +++ b/src/cattr/converters.py @@ -720,7 +720,10 @@ def gen_unstructure_attrs_fromdict(self, cl: Type[T]) -> Dict[str, Any]: } h = make_dict_unstructure_fn( - cl, self, omit_if_default=self.omit_if_default, **attrib_overrides + cl, + self, + _cattrs_omit_if_default=self.omit_if_default, + **attrib_overrides, ) return h diff --git a/src/cattr/gen.py b/src/cattr/gen.py index eced3b71..2de29320 100644 --- a/src/cattr/gen.py +++ b/src/cattr/gen.py @@ -52,7 +52,7 @@ def override(omit_if_default=None, rename=None, omit: bool = False): def make_dict_unstructure_fn( cl, converter, - omit_if_default: bool = False, + _cattrs_omit_if_default: bool = False, _cattrs_use_linecache: bool = True, **kwargs, ): @@ -139,7 +139,10 @@ def make_dict_unstructure_fn( invoke = f"instance.{attr_name}" if d is not attr.NOTHING and ( - (omit_if_default and override.omit_if_default is not False) + ( + _cattrs_omit_if_default + and override.omit_if_default is not False + ) or override.omit_if_default ): def_name = f"__cattr_def_{attr_name}" diff --git a/tests/test_gen_dict.py b/tests/test_gen_dict.py index aee1208e..9358d183 100644 --- a/tests/test_gen_dict.py +++ b/tests/test_gen_dict.py @@ -79,7 +79,8 @@ def test_nodefs_generated_unstructuring_cl(cl_and_vals): assume(False) converter.register_unstructure_hook( - cl, make_dict_unstructure_fn(cl, converter, omit_if_default=True) + cl, + make_dict_unstructure_fn(cl, converter, _cattrs_omit_if_default=True), ) inst = cl(*vals) @@ -129,7 +130,7 @@ def test_individual_overrides(cl_and_vals): make_dict_unstructure_fn( cl, converter, - omit_if_default=True, + _cattrs_omit_if_default=True, **{attr.name: override(omit_if_default=False)} ), )