summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/dataclasses-json/marshmallow-4.0-compat.patch
blob: aafbb08b63ebf8c99ff9912b85b5edb66c50cfa6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
diff --git a/dataclasses_json/api.py b/dataclasses_json/api.py
index 3481e93..a19eb0a 100644
--- a/dataclasses_json/api.py
+++ b/dataclasses_json/api.py
@@ -79,7 +79,6 @@ class DataClassJsonMixin(abc.ABC):
                only=None,
                exclude=(),
                many: bool = False,
-               context=None,
                load_only=(),
                dump_only=(),
                partial: bool = False,
@@ -95,7 +94,6 @@ class DataClassJsonMixin(abc.ABC):
         return Schema(only=only,
                       exclude=exclude,
                       many=many,
-                      context=context,
                       load_only=load_only,
                       dump_only=dump_only,
                       partial=partial,

diff --git a/dataclasses_json/mm.py b/dataclasses_json/mm.py
index 9cfacf1..cecd3b0 100644
--- a/dataclasses_json/mm.py
+++ b/dataclasses_json/mm.py
@@ -248,7 +248,7 @@ def build_type(type_, options, mixin, field, cls):
                 options['field_many'] = bool(
                     _is_supported_generic(field.type) and _is_collection(
                         field.type))
-                return fields.Nested(type_.schema(), **options)
+                return fields.Nested(type_.schema(), metadata=options)
             else:
                 warnings.warn(f"Nested dataclass field {field.name} of type "
                               f"{field.type} detected in "

From b5ea169f19cea0e346ba152c75ab49802f307e5e Mon Sep 17 00:00:00 2001
From: Steven Packard <spackard1@bloomberg.net>
Date: Sat, 9 Apr 2022 03:37:52 -0400
Subject: [PATCH] fix(mm): Replace deprecated Marshmallow Field parameters

In Marshmallow 3.13.0, the `default` and `missing` parameters of the
`Field` object were deprecated and replaced with `dump_default` and
`load_default` respectively.

fixes: #328
---
 dataclasses_json/mm.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dataclasses_json/mm.py b/dataclasses_json/mm.py
index 9cfacf1d..b9e54d8e 100644
--- a/dataclasses_json/mm.py
+++ b/dataclasses_json/mm.py
@@ -305,7 +305,7 @@ def schema(cls, mixin, infer_missing):
         else:
             type_ = field.type
             options: typing.Dict[str, typing.Any] = {}
-            missing_key = 'missing' if infer_missing else 'default'
+            missing_key = 'load_default' if infer_missing else 'dump_default'
             if field.default is not MISSING:
                 options[missing_key] = field.default
             elif field.default_factory is not MISSING: