Hello community,

here is the log from the commit of package python-django-picklefield for 
openSUSE:Factory checked in at 2020-02-20 14:59:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-django-picklefield (Old)
 and      /work/SRC/openSUSE:Factory/.python-django-picklefield.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-django-picklefield"

Thu Feb 20 14:59:17 2020 rev:14 rq:777595 version:2.1.1

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-django-picklefield/python-django-picklefield.changes
      2018-12-11 15:49:51.754071984 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-django-picklefield.new.26092/python-django-picklefield.changes
   2020-02-20 14:59:26.266765740 +0100
@@ -1,0 +2,6 @@
+Thu Feb 20 08:36:53 UTC 2020 - Tomáš Chvátal <[email protected]>
+
+- Update to 2.1.1:
+  * no changelog
+
+-------------------------------------------------------------------

Old:
----
  v2.0.0.tar.gz

New:
----
  v2.1.1.tar.gz

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

Other differences:
------------------
++++++ python-django-picklefield.spec ++++++
--- /var/tmp/diff_new_pack.GH5lhj/_old  2020-02-20 14:59:27.142767459 +0100
+++ /var/tmp/diff_new_pack.GH5lhj/_new  2020-02-20 14:59:27.142767459 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-django-picklefield
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,14 +18,14 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-django-picklefield
-Version:        2.0.0
+Version:        2.1.1
 Release:        0
 Summary:        Pickled object field for Django
 License:        MIT
-Group:          Development/Languages/Python
-URL:            http://github.com/gintas/django-picklefield
+URL:            https://github.com/gintas/django-picklefield
 Source:         
https://github.com/gintas/django-picklefield/archive/v%{version}.tar.gz
 BuildRequires:  %{python_module Django >= 1.11}
+BuildRequires:  %{python_module mock}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  python-rpm-macros
 Requires:       python-Django >= 1.11

++++++ v2.0.0.tar.gz -> v2.1.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-picklefield-2.0.0/.coveragerc 
new/django-picklefield-2.1.1/.coveragerc
--- old/django-picklefield-2.0.0/.coveragerc    2018-11-25 15:45:39.000000000 
+0100
+++ new/django-picklefield-2.1.1/.coveragerc    2020-01-28 16:01:12.000000000 
+0100
@@ -1,3 +1,8 @@
 [run]
 source = picklefield
 branch = True
+
+[report]
+exclude_lines =
+    pragma: no cover
+    except ImportError:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-picklefield-2.0.0/.travis.yml 
new/django-picklefield-2.1.1/.travis.yml
--- old/django-picklefield-2.0.0/.travis.yml    2018-11-25 15:45:39.000000000 
+0100
+++ new/django-picklefield-2.1.1/.travis.yml    2020-01-28 16:01:12.000000000 
+0100
@@ -1,54 +1,24 @@
-dist: trusty
+dist: bionic
 sudo: false
 language: python
-env:
-  matrix:
-  - TOXENV=flake8
-  - TOXENV=isort
 cache: pip
-matrix:
+python:
+  - 2.7
+  - 3.5
+  - 3.6
+  - 3.7
+  - 3.8
+stages:
+  - lint
+  - test
+jobs:
   fast_finish: true
   include:
-  - python: 2.7
-    env: TOXENV=py27-1.11
-  - python: 3.4
-    env: TOXENV=py34-1.11
-  - python: 3.4
-    env: TOXENV=py34-2.0
-  - python: 3.5
-    env: TOXENV=py35-1.11
-  - python: 3.5
-    env: TOXENV=py35-2.0
-  - python: 3.5
-    env: TOXENV=py35-2.1
-  - python: 3.5
-    env: TOXENV=py35-master
-  - python: 3.6
-    env: TOXENV=py36-1.11
-  - python: 3.6
-    env: TOXENV=py36-2.0
-  - python: 3.6
-    env: TOXENV=py36-2.1
-  - python: 3.6
-    env: TOXENV=py36-master
-  - python: 3.7
-    env: TOXENV=py37-2.0
-    dist: xenial
-    sudo: true
-  - python: 3.7
-    env: TOXENV=py37-2.1
-    dist: xenial
-    sudo: true
-  - python: 3.7
-    env: TOXENV=py37-master
-    dist: xenial
-    sudo: true
-  allow_failures:
-  - env: TOXENV=py35-master
-  - env: TOXENV=py36-master
-  - env: TOXENV=py37-master
+    - { stage: lint, env: TOXENV=flake8, python: 3.6 }
+    - { stage: lint, env: TOXENV=isort, python: 3.6 }
+
 install:
-- pip install tox coveralls
+- pip install tox coveralls tox-travis
 script:
 - tox
 after_success:
@@ -62,4 +32,4 @@
   distributions: sdist bdist_wheel
   on:
     tags: true
-    condition: "$TOXENV = py27-1.11"
+    condition: "$TRAVIS_PYTHON_VERSION = 2.7"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-picklefield-2.0.0/README.rst 
new/django-picklefield-2.1.1/README.rst
--- old/django-picklefield-2.0.0/README.rst     2018-11-25 15:45:39.000000000 
+0100
+++ new/django-picklefield-2.1.1/README.rst     2020-01-28 16:01:12.000000000 
+0100
@@ -162,6 +162,13 @@
 Changes
 -------
 
+Changes in version 2.1.0
+========================
+
+* Added official support for Django 2.2 (thanks to joehybird).
+* Dropped support for Django 2.0 and 2.1 (thanks to joehybird).
+* Dropped support for Python 3.4 (thanks to joehybidd).
+
 Changes in version 2.0.0
 ========================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-picklefield-2.0.0/picklefield/__init__.py 
new/django-picklefield-2.1.1/picklefield/__init__.py
--- old/django-picklefield-2.0.0/picklefield/__init__.py        2018-11-25 
15:45:39.000000000 +0100
+++ new/django-picklefield-2.1.1/picklefield/__init__.py        2020-01-28 
16:01:12.000000000 +0100
@@ -7,6 +7,6 @@
 
 __all__ = 'VERSION', '__version__', 'DEFAULT_PROTOCOL', 'PickledObjectField'
 
-VERSION = (2, 0, 0, 'alpha', 0)
+VERSION = (2, 1, 1, 'final', 0)
 
 __version__ = django.utils.version.get_version(VERSION)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-picklefield-2.0.0/picklefield/fields.py 
new/django-picklefield-2.1.1/picklefield/fields.py
--- old/django-picklefield-2.0.0/picklefield/fields.py  2018-11-25 
15:45:39.000000000 +0100
+++ new/django-picklefield-2.1.1/picklefield/fields.py  2020-01-28 
16:01:12.000000000 +0100
@@ -4,7 +4,7 @@
 from copy import deepcopy
 from zlib import compress, decompress
 
-import django
+from django import VERSION as DJANGO_VERSION
 from django.core import checks
 from django.db import models
 from django.utils.encoding import force_text
@@ -12,9 +12,9 @@
 from .constants import DEFAULT_PROTOCOL
 
 try:
-    from cPickle import loads, dumps
+    from cPickle import loads, dumps  # pragma: no cover
 except ImportError:
-    from pickle import loads, dumps
+    from pickle import loads, dumps  # pragma: no cover
 
 
 class PickledObject(str):
@@ -158,7 +158,7 @@
                 value = dbsafe_decode(value, self.compress)
             except Exception:
                 # If the value is a definite pickle; and an error is raised in
-                # de-pickling it should be allowed to propogate.
+                # de-pickling it should be allowed to propagate.
                 if isinstance(value, PickledObject):
                     raise
             else:
@@ -170,12 +170,12 @@
         value = super(PickledObjectField, self).pre_save(model_instance, add)
         return wrap_conflictual_object(value)
 
-    if django.VERSION < (2, 0):
-        def from_db_value(self, value, expression, connection, context):
-            return self.to_python(value)
+    if DJANGO_VERSION < (2, 0):
+        def from_db_value(self, value, expression, connection, context):  # 
pragma: no cover
+            return self.to_python(value)  # pragma: no cover
     else:
-        def from_db_value(self, value, expression, connection):
-            return self.to_python(value)
+        def from_db_value(self, value, expression, connection):  # pragma: no 
cover
+            return self.to_python(value)  # pragma: no cover
 
     def get_db_prep_value(self, value, connection=None, prepared=False):
         """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-picklefield-2.0.0/setup.py 
new/django-picklefield-2.1.1/setup.py
--- old/django-picklefield-2.0.0/setup.py       2018-11-25 15:45:39.000000000 
+0100
+++ new/django-picklefield-2.1.1/setup.py       2020-01-28 16:01:12.000000000 
+0100
@@ -21,8 +21,7 @@
         'Environment :: Web Environment',
         'Framework :: Django',
         'Framework :: Django :: 1.11',
-        'Framework :: Django :: 2.0',
-        'Framework :: Django :: 2.1',
+        'Framework :: Django :: 2.2',
         'Intended Audience :: Developers',
         'License :: OSI Approved :: MIT License',
         'Operating System :: OS Independent',
@@ -30,10 +29,10 @@
         'Programming Language :: Python :: 2',
         'Programming Language :: Python :: 2.7',
         'Programming Language :: Python :: 3',
-        'Programming Language :: Python :: 3.4',
         'Programming Language :: Python :: 3.5',
         'Programming Language :: Python :: 3.6',
         'Programming Language :: Python :: 3.7',
+        'Programming Language :: Python :: 3.8',
         'Topic :: Software Development :: Libraries :: Application Frameworks',
         'Topic :: Software Development :: Libraries :: Python Modules',
     ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-picklefield-2.0.0/tests/models.py 
new/django-picklefield-2.1.1/tests/models.py
--- old/django-picklefield-2.0.0/tests/models.py        2018-11-25 
15:45:39.000000000 +0100
+++ new/django-picklefield-2.1.1/tests/models.py        2020-01-28 
16:01:12.000000000 +0100
@@ -27,6 +27,7 @@
     default_pickle_field = PickledObjectField(default=(D1, S1, T1, L1))
     callable_pickle_field = PickledObjectField(default=date.today)
     non_copying_field = PickledObjectField(copy=False, 
default=TestCopyDataType('boom!'))
+    nullable_pickle_field = PickledObjectField(null=True)
 
 
 class MinimalTestingModel(models.Model):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-picklefield-2.0.0/tests/tests.py 
new/django-picklefield-2.1.1/tests/tests.py
--- old/django-picklefield-2.0.0/tests/tests.py 2018-11-25 15:45:39.000000000 
+0100
+++ new/django-picklefield-2.1.1/tests/tests.py 2020-01-28 16:01:12.000000000 
+0100
@@ -14,6 +14,11 @@
     TestCustomDataType, TestingModel,
 )
 
+try:
+    from unittest.mock import patch  # pragma: no cover
+except ImportError:
+    from mock import patch  # pragma: no cover
+
 
 class PickledObjectFieldTests(TestCase):
     def setUp(self):
@@ -35,6 +40,7 @@
             # the same data, even thought it's stored differently in the DB.
             self.assertEqual(value, model_test.pickle_field)
             self.assertEqual(value, model_test.compressed_pickle_field)
+            self.assertIsNone(model_test.nullable_pickle_field)
             # Make sure we can also retrieve the model
             model_test.save()
             model_test.delete()
@@ -181,6 +187,21 @@
         with self.assertRaises(IntegrityError):
             MinimalTestingModel.objects.create()
 
+    def test_decode_error(self):
+        def mock_decode_error(*args, **kwargs):
+            raise Exception()
+
+        model = MinimalTestingModel.objects.create(pickle_field={'foo': 'bar'})
+        model.save()
+
+        self.assertEqual(
+            {'foo': 'bar'}, 
MinimalTestingModel.objects.get(pk=model.pk).pickle_field
+        )
+
+        with patch('picklefield.fields.dbsafe_decode', mock_decode_error):
+            encoded_value = dbsafe_encode({'foo': 'bar'})
+            self.assertEqual(encoded_value, 
MinimalTestingModel.objects.get(pk=model.pk).pickle_field)
+
 
 @isolate_apps('tests')
 class PickledObjectFieldCheckTests(SimpleTestCase):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-picklefield-2.0.0/tox.ini 
new/django-picklefield-2.1.1/tox.ini
--- old/django-picklefield-2.0.0/tox.ini        2018-11-25 15:45:39.000000000 
+0100
+++ new/django-picklefield-2.1.1/tox.ini        2020-01-28 16:01:12.000000000 
+0100
@@ -5,27 +5,36 @@
     flake8,
     isort,
     py27-1.11,
-    py34-{1.11,2.0},
-    py35-{1.11,2.0,2.1,master},
-    py36-{1.11,2.0,2.1,master},
-    py37-{1.11,2.0,2.1,master}
+    py35-{1.11,2.2},
+    py36-{1.11,2.2,master},
+    py37-{1.11,2.2,master},
+    py38-{2.2,master},
+
+[tox:travis]
+2.7 = py27
+3.5 = py35
+3.6 = py36
+3.7 = py37
+3.8 = py38
 
 [testenv]
 basepython =
     py27: python2.7
-    py34: python3.4
     py35: python3.5
     py36: python3.6
     py37: python3.7
+    py38: python3.8
 usedevelop = true
 commands =
-    {envpython} -R -Wonce {envbindir}/coverage run -m django test -v2 
--settings=tests.settings {posargs}
-    coverage report
+    {envpython} -R -Wonce {envbindir}/coverage run --branch -m django test -v2 
--settings=tests.settings {posargs}
+    coverage report -m
 deps =
+    py27: mock
     coverage
     1.11: Django>=1.11,<2.0
     2.0: Django>=2.0,<2.1
     2.1: Django>=2.1,<2.2
+    2.2: Django>=2.2,<3.0
     master: https://github.com/django/django/archive/master.tar.gz
 
 [testenv:flake8]


Reply via email to