Hello community,

here is the log from the commit of package python-marshmallow for 
openSUSE:Factory checked in at 2019-11-14 23:52:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-marshmallow (Old)
 and      /work/SRC/openSUSE:Factory/.python-marshmallow.new.26869 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-marshmallow"

Thu Nov 14 23:52:56 2019 rev:12 rq:748433 version:3.2.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-marshmallow/python-marshmallow.changes    
2019-10-09 15:19:45.512451727 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-marshmallow.new.26869/python-marshmallow.changes
 2019-11-14 23:52:57.464529787 +0100
@@ -1,0 +2,10 @@
+Wed Nov 13 15:40:31 UTC 2019 - Sebastian Wagner <[email protected]>
+
+- Update to version 3.2.2:
+ - Bug fixes:
+  - Don't load fields for which ``load_only`` and ``dump_only`` are both 
``True`` (:pr:`1448`). 
+  - Fix types in ``marshmallow.validate`` (:pr:`1446`).
+ - Support:
+  - Test against Python 3.8 (pr:`1431`).
+
+-------------------------------------------------------------------

Old:
----
  marshmallow-3.2.1.tar.gz

New:
----
  marshmallow-3.2.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-marshmallow.spec ++++++
--- /var/tmp/diff_new_pack.Ayk8vF/_old  2019-11-14 23:52:57.976529609 +0100
+++ /var/tmp/diff_new_pack.Ayk8vF/_new  2019-11-14 23:52:57.976529609 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-marshmallow
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LLC.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %define skip_python2 1
 Name:           python-marshmallow
-Version:        3.2.1
+Version:        3.2.2
 Release:        0
 Summary:        ORM/ODM/framework-agnostic library to convert datatypes 
from/to Python types
 License:        MIT AND BSD-3-Clause

++++++ marshmallow-3.2.1.tar.gz -> marshmallow-3.2.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/marshmallow-3.2.1/AUTHORS.rst 
new/marshmallow-3.2.2/AUTHORS.rst
--- old/marshmallow-3.2.1/AUTHORS.rst   2019-10-01 05:36:17.000000000 +0200
+++ new/marshmallow-3.2.2/AUTHORS.rst   2019-11-04 22:14:53.000000000 +0100
@@ -139,3 +139,4 @@
 - Charles-Axel Dein `@charlax <https://github.com/charlax>`_
 - `@phrfpeixoto <https://github.com/phrfpeixoto>`_
 - `@jceresini <https://github.com/jceresini>`_
+- Nikolay Shebanov `@killthekitten <https://github.com/killthekitten>`_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/marshmallow-3.2.1/CHANGELOG.rst 
new/marshmallow-3.2.2/CHANGELOG.rst
--- old/marshmallow-3.2.1/CHANGELOG.rst 2019-10-01 05:36:17.000000000 +0200
+++ new/marshmallow-3.2.2/CHANGELOG.rst 2019-11-04 22:14:53.000000000 +0100
@@ -1,6 +1,18 @@
 Changelog
 ---------
 
+3.2.2 (2019-11-04)
+******************
+
+Bug fixes:
+
+- Don't load fields for which ``load_only`` and ``dump_only`` are both 
``True`` (:pr:`1448`). 
+- Fix types in ``marshmallow.validate`` (:pr:`1446`).
+
+Support:
+
+- Test against Python 3.8 (pr:`1431`).
+
 3.2.1 (2019-09-30)
 ++++++++++++++++++
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/marshmallow-3.2.1/PKG-INFO 
new/marshmallow-3.2.2/PKG-INFO
--- old/marshmallow-3.2.1/PKG-INFO      2019-10-01 05:36:28.000000000 +0200
+++ new/marshmallow-3.2.2/PKG-INFO      2019-11-04 22:15:05.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: marshmallow
-Version: 3.2.1
+Version: 3.2.2
 Summary: A lightweight library for converting complex datatypes to and from 
native Python datatypes.
 Home-page: https://github.com/marshmallow-code/marshmallow
 Author: Steven Loria
@@ -186,8 +186,9 @@
 Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
 Requires-Python: >=3.5
-Provides-Extra: dev
+Provides-Extra: tests
 Provides-Extra: lint
 Provides-Extra: docs
-Provides-Extra: tests
+Provides-Extra: dev
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/marshmallow-3.2.1/setup.py 
new/marshmallow-3.2.2/setup.py
--- old/marshmallow-3.2.1/setup.py      2019-10-01 05:36:17.000000000 +0200
+++ new/marshmallow-3.2.2/setup.py      2019-11-04 22:14:53.000000000 +0100
@@ -4,13 +4,13 @@
 EXTRAS_REQUIRE = {
     "tests": ["pytest", "pytz", "simplejson"],
     "lint": [
-        "mypy==0.730",
-        "flake8==3.7.8",
+        "mypy==0.740",
+        "flake8==3.7.9",
         "flake8-bugbear==19.8.0",
-        "pre-commit~=1.17",
+        "pre-commit~=1.20",
     ],
     "docs": [
-        "sphinx==2.2.0",
+        "sphinx==2.2.1",
         "sphinx-issues==1.2.0",
         "alabaster==0.7.12",
         "sphinx-version-warning==1.1.2",
@@ -80,6 +80,7 @@
         "Programming Language :: Python :: 3.5",
         "Programming Language :: Python :: 3.6",
         "Programming Language :: Python :: 3.7",
+        "Programming Language :: Python :: 3.8",
     ],
     test_suite="tests",
     project_urls={
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/marshmallow-3.2.1/src/marshmallow/__init__.py 
new/marshmallow-3.2.2/src/marshmallow/__init__.py
--- old/marshmallow-3.2.1/src/marshmallow/__init__.py   2019-10-01 
05:36:17.000000000 +0200
+++ new/marshmallow-3.2.2/src/marshmallow/__init__.py   2019-11-04 
22:14:53.000000000 +0100
@@ -13,7 +13,7 @@
 from marshmallow.exceptions import ValidationError
 from distutils.version import LooseVersion
 
-__version__ = "3.2.1"
+__version__ = "3.2.2"
 __version_info__ = tuple(LooseVersion(__version__).version)
 __all__ = [
     "EXCLUDE",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/marshmallow-3.2.1/src/marshmallow/error_store.py 
new/marshmallow-3.2.2/src/marshmallow/error_store.py
--- old/marshmallow-3.2.1/src/marshmallow/error_store.py        2019-10-01 
05:36:17.000000000 +0200
+++ new/marshmallow-3.2.2/src/marshmallow/error_store.py        2019-11-04 
22:14:53.000000000 +0100
@@ -54,7 +54,7 @@
             return errors
         return dict(errors1, **{SCHEMA: merge_errors(errors1.get(SCHEMA), 
errors2)})
     if isinstance(errors2, list):
-        return [errors1] + errors2 if errors2 else errors1
+        return [errors1] + errors2
     if isinstance(errors2, dict):
         return dict(errors2, **{SCHEMA: merge_errors(errors1, 
errors2.get(SCHEMA))})
     return [errors1, errors2]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/marshmallow-3.2.1/src/marshmallow/schema.py 
new/marshmallow-3.2.2/src/marshmallow/schema.py
--- old/marshmallow-3.2.1/src/marshmallow/schema.py     2019-10-01 
05:36:17.000000000 +0200
+++ new/marshmallow-3.2.2/src/marshmallow/schema.py     2019-11-04 
22:14:53.000000000 +0100
@@ -245,7 +245,7 @@
         @dataclass
         class Album:
             title: str
-            release_data: dt.date
+            release_date: dt.date
 
         class AlbumSchema(Schema):
             title = fields.Str()
@@ -969,12 +969,9 @@
 
         load_fields, dump_fields = self.dict_class(), self.dict_class()
         for field_name, field_obj in fields_dict.items():
-            if field_obj.load_only:
-                load_fields[field_name] = field_obj
-            elif field_obj.dump_only:
-                dump_fields[field_name] = field_obj
-            else:
+            if not field_obj.dump_only:
                 load_fields[field_name] = field_obj
+            if not field_obj.load_only:
                 dump_fields[field_name] = field_obj
 
         dump_data_keys = [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/marshmallow-3.2.1/src/marshmallow/validate.py 
new/marshmallow-3.2.2/src/marshmallow/validate.py
--- old/marshmallow-3.2.1/src/marshmallow/validate.py   2019-10-01 
05:36:17.000000000 +0200
+++ new/marshmallow-3.2.2/src/marshmallow/validate.py   2019-11-04 
22:14:53.000000000 +0100
@@ -16,6 +16,8 @@
         add a useful `__repr__` implementation for validators.
     """
 
+    error = None  # type: typing.Optional[str]
+
     def __repr__(self) -> str:
         args = self._repr_args()
         args = "{}, ".format(args) if args else ""
@@ -95,7 +97,7 @@
         error: str = None
     ):
         self.relative = relative
-        self.error = error or self.default_message
+        self.error = error or self.default_message  # type: str
         self.schemes = schemes or self.default_schemes
         self.require_tld = require_tld
 
@@ -153,7 +155,7 @@
     default_message = "Not a valid email address."
 
     def __init__(self, *, error: str = None):
-        self.error = error or self.default_message
+        self.error = error or self.default_message  # type: str
 
     def _format_error(self, value) -> typing.Any:
         return self.error.format(input=value)
@@ -336,7 +338,7 @@
 
     def __init__(self, comparable, *, error: str = None):
         self.comparable = comparable
-        self.error = error or self.default_message
+        self.error = error or self.default_message  # type: str
 
     def _repr_args(self) -> str:
         return "comparable={!r}".format(self.comparable)
@@ -377,7 +379,7 @@
         self.regex = (
             re.compile(regex, flags) if isinstance(regex, (str, bytes)) else 
regex
         )
-        self.error = error or self.default_message
+        self.error = error or self.default_message  # type: str
 
     def _repr_args(self) -> str:
         return "regex={!r}".format(self.regex)
@@ -408,7 +410,7 @@
 
     def __init__(self, method: str, *, error: str = None, **kwargs):
         self.method = method
-        self.error = error or self.default_message
+        self.error = error or self.default_message  # type: str
         self.kwargs = kwargs
 
     def _repr_args(self) -> str:
@@ -439,7 +441,7 @@
     def __init__(self, iterable: typing.Iterable, *, error: str = None):
         self.iterable = iterable
         self.values_text = ", ".join(str(each) for each in self.iterable)
-        self.error = error or self.default_message
+        self.error = error or self.default_message  # type: str
 
     def _repr_args(self) -> str:
         return "iterable={!r}".format(self.iterable)
@@ -479,7 +481,7 @@
         self.choices_text = ", ".join(str(choice) for choice in self.choices)
         self.labels = labels if labels is not None else []
         self.labels_text = ", ".join(str(label) for label in self.labels)
-        self.error = error or self.default_message
+        self.error = error or self.default_message  # type: str
 
     def _repr_args(self) -> str:
         return "choices={!r}, labels={!r}".format(self.choices, self.labels)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/marshmallow-3.2.1/src/marshmallow.egg-info/PKG-INFO 
new/marshmallow-3.2.2/src/marshmallow.egg-info/PKG-INFO
--- old/marshmallow-3.2.1/src/marshmallow.egg-info/PKG-INFO     2019-10-01 
05:36:28.000000000 +0200
+++ new/marshmallow-3.2.2/src/marshmallow.egg-info/PKG-INFO     2019-11-04 
22:15:05.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: marshmallow
-Version: 3.2.1
+Version: 3.2.2
 Summary: A lightweight library for converting complex datatypes to and from 
native Python datatypes.
 Home-page: https://github.com/marshmallow-code/marshmallow
 Author: Steven Loria
@@ -186,8 +186,9 @@
 Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
 Requires-Python: >=3.5
-Provides-Extra: dev
+Provides-Extra: tests
 Provides-Extra: lint
 Provides-Extra: docs
-Provides-Extra: tests
+Provides-Extra: dev
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/marshmallow-3.2.1/src/marshmallow.egg-info/requires.txt 
new/marshmallow-3.2.2/src/marshmallow.egg-info/requires.txt
--- old/marshmallow-3.2.1/src/marshmallow.egg-info/requires.txt 2019-10-01 
05:36:28.000000000 +0200
+++ new/marshmallow-3.2.2/src/marshmallow.egg-info/requires.txt 2019-11-04 
22:15:05.000000000 +0100
@@ -3,23 +3,23 @@
 pytest
 pytz
 simplejson
-mypy==0.730
-flake8==3.7.8
+mypy==0.740
+flake8==3.7.9
 flake8-bugbear==19.8.0
-pre-commit~=1.17
+pre-commit~=1.20
 tox
 
 [docs]
-sphinx==2.2.0
+sphinx==2.2.1
 sphinx-issues==1.2.0
 alabaster==0.7.12
 sphinx-version-warning==1.1.2
 
 [lint]
-mypy==0.730
-flake8==3.7.8
+mypy==0.740
+flake8==3.7.9
 flake8-bugbear==19.8.0
-pre-commit~=1.17
+pre-commit~=1.20
 
 [tests]
 pytest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/marshmallow-3.2.1/tests/test_deserialization.py 
new/marshmallow-3.2.2/tests/test_deserialization.py
--- old/marshmallow-3.2.1/tests/test_deserialization.py 2019-10-01 
05:36:17.000000000 +0200
+++ new/marshmallow-3.2.2/tests/test_deserialization.py 2019-11-04 
22:14:53.000000000 +0100
@@ -1010,7 +1010,7 @@
             field.deserialize("invalid")
 
     def 
test_field_deserialization_with_user_validator_that_raises_error_with_list(
-        self
+        self,
     ):
         def validator(val):
             raise ValidationError(["err1", "err2"])
@@ -1258,7 +1258,7 @@
         assert load_data == {"bar": {"baz": 42}}
 
     def 
test_deserialize_with_attribute_param_error_returns_field_name_not_attribute_name(
-        self
+        self,
     ):
         class AliasingUserSerializer(Schema):
             username = fields.Email(attribute="email")
@@ -1271,7 +1271,7 @@
         assert errors["username"] == ["Not a valid email address."]
 
     def 
test_deserialize_with_attribute_param_error_returns_data_key_not_attribute_name(
-        self
+        self,
     ):
         class AliasingUserSerializer(Schema):
             name = fields.String(data_key="Name")
@@ -1308,12 +1308,19 @@
         class AliasingUserSerializer(Schema):
             name = fields.String()
             years = fields.Integer(dump_only=True)
+            size = fields.Integer(dump_only=True, load_only=True)
             nicknames = fields.List(fields.Str(), dump_only=True)
 
-        data = {"name": "Mick", "years": "42", "nicknames": ["Your Majesty", 
"Brenda"]}
+        data = {
+            "name": "Mick",
+            "years": "42",
+            "size": "12",
+            "nicknames": ["Your Majesty", "Brenda"],
+        }
         result = AliasingUserSerializer(unknown=EXCLUDE).load(data)
         assert result["name"] == "Mick"
         assert "years" not in result
+        assert "size" not in result
         assert "nicknames" not in result
 
     def test_deserialize_with_missing_param_value(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/marshmallow-3.2.1/tests/test_fields.py 
new/marshmallow-3.2.2/tests/test_fields.py
--- old/marshmallow-3.2.1/tests/test_fields.py  2019-10-01 05:36:17.000000000 
+0200
+++ new/marshmallow-3.2.2/tests/test_fields.py  2019-11-04 22:14:53.000000000 
+0100
@@ -215,7 +215,7 @@
     ]
 
     def 
test_default_error_messages_get_merged_with_parent_error_messages_cstm_msg(
-        self
+        self,
     ):
         field = self.MyField()
         assert field.error_messages["custom"] == "Custom error message."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/marshmallow-3.2.1/tests/test_serialization.py 
new/marshmallow-3.2.2/tests/test_serialization.py
--- old/marshmallow-3.2.1/tests/test_serialization.py   2019-10-01 
05:36:17.000000000 +0200
+++ new/marshmallow-3.2.2/tests/test_serialization.py   2019-11-04 
22:14:53.000000000 +0100
@@ -77,6 +77,25 @@
         with pytest.raises(AttributeError):
             field.serialize("key", user)
 
+    def test_serialize_with_load_only_param(self):
+        class AliasingUserSerializer(Schema):
+            name = fields.String()
+            years = fields.Integer(load_only=True)
+            size = fields.Integer(dump_only=True, load_only=True)
+            nicknames = fields.List(fields.Str(), load_only=True)
+
+        data = {
+            "name": "Mick",
+            "years": "42",
+            "size": "12",
+            "nicknames": ["Your Majesty", "Brenda"],
+        }
+        result = AliasingUserSerializer().dump(data)
+        assert result["name"] == "Mick"
+        assert "years" not in result
+        assert "size" not in result
+        assert "nicknames" not in result
+
     def test_function_field_load_only(self):
         field = fields.Function(deserialize=lambda obj: None)
         assert field.load_only
@@ -598,7 +617,7 @@
         assert len(result) == 2
 
     def 
test_list_field_work_with_generators_empty_generator_returns_none_for_every_non_returning_yield_statement(
  # noqa: B950
-        self
+        self,
     ):
         def custom_generator():
             yield


Reply via email to