Hello community, here is the log from the commit of package python-multidict for openSUSE:Factory checked in at 2018-02-14 09:44:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-multidict (Old) and /work/SRC/openSUSE:Factory/.python-multidict.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-multidict" Wed Feb 14 09:44:49 2018 rev:6 rq:575267 version:4.1.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-multidict/python-multidict.changes 2018-01-20 11:26:50.731999219 +0100 +++ /work/SRC/openSUSE:Factory/.python-multidict.new/python-multidict.changes 2018-02-14 09:45:11.373880864 +0100 @@ -1,0 +2,7 @@ +Sat Feb 10 17:43:52 UTC 2018 - [email protected] + +- update to version 4.1.0: + * Fix key casing in Pure Python implementation of CIMultiDict (PR + #202) + +------------------------------------------------------------------- Old: ---- multidict-4.0.0.tar.gz New: ---- multidict-4.1.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-multidict.spec ++++++ --- /var/tmp/diff_new_pack.v43Do5/_old 2018-02-14 09:45:13.461804769 +0100 +++ /var/tmp/diff_new_pack.v43Do5/_new 2018-02-14 09:45:13.465804624 +0100 @@ -20,7 +20,7 @@ %define skip_python2 1 %bcond_without test Name: python-multidict -Version: 4.0.0 +Version: 4.1.0 Release: 0 Summary: Multidict implementation License: Apache-2.0 ++++++ multidict-4.0.0.tar.gz -> multidict-4.1.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/multidict-4.0.0/PKG-INFO new/multidict-4.1.0/PKG-INFO --- old/multidict-4.0.0/PKG-INFO 2018-01-14 22:10:59.000000000 +0100 +++ new/multidict-4.1.0/PKG-INFO 2018-01-28 08:54:50.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: multidict -Version: 4.0.0 +Version: 4.1.0 Summary: multidict implementation Home-page: https://github.com/aio-libs/multidict/ Author: Andrew Svetlov diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/multidict-4.0.0/docs/changes.rst new/multidict-4.1.0/docs/changes.rst --- old/multidict-4.0.0/docs/changes.rst 2018-01-14 22:10:20.000000000 +0100 +++ new/multidict-4.1.0/docs/changes.rst 2018-01-28 08:54:05.000000000 +0100 @@ -1,5 +1,11 @@ .. _changes: +4.1.0 (2018-01-28) +------------------ + +* Fix key casing in Pure Python impmenetation of + :py:class:`CIMultiDict` (:pr:`202`) + 4.0.0 (2018-01-14) ------------------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/multidict-4.0.0/multidict/__init__.py new/multidict-4.1.0/multidict/__init__.py --- old/multidict-4.0.0/multidict/__init__.py 2018-01-14 22:10:20.000000000 +0100 +++ new/multidict-4.1.0/multidict/__init__.py 2018-01-28 08:54:05.000000000 +0100 @@ -12,7 +12,7 @@ 'MultiDictProxy', 'CIMultiDictProxy', 'MultiDict', 'CIMultiDict', 'upstr', 'istr') -__version__ = '4.0.0' +__version__ = '4.1.0' from ._abc import MultiMapping, MutableMultiMapping Binary files old/multidict-4.0.0/multidict/_istr.pyd and new/multidict-4.1.0/multidict/_istr.pyd differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/multidict-4.0.0/multidict/_multidict_py.py new/multidict-4.1.0/multidict/_multidict_py.py --- old/multidict-4.0.0/multidict/_multidict_py.py 2018-01-14 22:10:20.000000000 +0100 +++ new/multidict-4.1.0/multidict/_multidict_py.py 2018-01-28 08:54:05.000000000 +0100 @@ -243,7 +243,7 @@ method(items) - method([(self._title(key), key, value) + method([(self._title(key), self._key(key), value) for key, value in kwargs.items()]) def _extend_items(self, items): @@ -258,15 +258,14 @@ # Mapping interface # def __setitem__(self, key, value): - key = self._title(key) self._replace(key, value) def __delitem__(self, key): - key = self._title(key) + identity = self._title(key) items = self._impl._items found = False for i in range(len(items) - 1, -1, -1): - if items[i][0] == key: + if items[i][0] == identity: del items[i] found = True if not found: @@ -276,9 +275,9 @@ def setdefault(self, key, default=None): """Return value for key, set value to default if key is not present.""" - key = self._title(key) + identity = self._title(key) for i, k, v in self._impl._items: - if i == key: + if i == identity: return v self.add(key, default) return default @@ -290,9 +289,9 @@ KeyError is raised. """ - key = self._title(key) + identity = self._title(key) for i in range(len(self._impl._items)): - if self._impl._items[i][0] == key: + if self._impl._items[i][0] == identity: value = self._impl._items[i][2] del self._impl._items[i] self._impl.incr_version() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/multidict-4.0.0/multidict.egg-info/PKG-INFO new/multidict-4.1.0/multidict.egg-info/PKG-INFO --- old/multidict-4.0.0/multidict.egg-info/PKG-INFO 2018-01-14 22:10:59.000000000 +0100 +++ new/multidict-4.1.0/multidict.egg-info/PKG-INFO 2018-01-28 08:54:50.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: multidict -Version: 4.0.0 +Version: 4.1.0 Summary: multidict implementation Home-page: https://github.com/aio-libs/multidict/ Author: Andrew Svetlov diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/multidict-4.0.0/tests/test_multidict.py new/multidict-4.1.0/tests/test_multidict.py --- old/multidict-4.0.0/tests/test_multidict.py 2018-01-14 22:10:20.000000000 +0100 +++ new/multidict-4.1.0/tests/test_multidict.py 2018-01-28 08:54:05.000000000 +0100 @@ -118,9 +118,9 @@ assert d.get('key') == 'value1' assert d['key'] == 'value1' - with pytest.raises(KeyError, matches='key2'): + with pytest.raises(KeyError, match='key2'): d['key2'] - with pytest.raises(KeyError, matches='key2'): + with pytest.raises(KeyError, match='key2'): d.getone('key2') assert d.getone('key2', 'default') == 'default' @@ -326,7 +326,7 @@ assert d.getall('key') == ['value1', 'value2'] - with pytest.raises(KeyError, matches='some_key'): + with pytest.raises(KeyError, match='some_key'): d.getall('some_key') default = object() @@ -374,9 +374,9 @@ assert d['key'] == 'value1' assert 'key' in d - with pytest.raises(KeyError): + with pytest.raises(KeyError, match='key2'): d['key2'] - with pytest.raises(KeyError): + with pytest.raises(KeyError, match='key2'): d.getone('key2') def test_getall(self, cls): @@ -387,9 +387,8 @@ assert d.getall('key') == ['value1', 'value2'] - with pytest.raises(KeyError) as excinfo: + with pytest.raises(KeyError, match='some_key'): d.getall('some_key') - assert "some_key" in str(excinfo.value) def test_get(self, cls): d = cls([('A', 1), ('a', 2)]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/multidict-4.0.0/tests/test_mutable_multidict.py new/multidict-4.1.0/tests/test_mutable_multidict.py --- old/multidict-4.0.0/tests/test_mutable_multidict.py 2018-01-14 22:10:20.000000000 +0100 +++ new/multidict-4.1.0/tests/test_mutable_multidict.py 2018-01-28 08:54:05.000000000 +0100 @@ -37,9 +37,8 @@ assert d.getall('key') == ['value1', 'value2'] - with pytest.raises(KeyError) as excinfo: + with pytest.raises(KeyError, match='some_key'): d.getall('some_key') - assert 'some_key' in str(excinfo.value) default = object() assert d.getall('some_key', default) is default @@ -116,7 +115,7 @@ assert d == {'foo': 'bar'} assert list(d.items()) == [('foo', 'bar')] - with pytest.raises(KeyError): + with pytest.raises(KeyError, match='key'): del d['key'] def test_set_default(self, cls): @@ -166,7 +165,7 @@ def test_pop_raises(self, cls): d = cls(other='val') - with pytest.raises(KeyError): + with pytest.raises(KeyError, match='key'): d.pop('key') assert 'other' in d @@ -218,7 +217,7 @@ def test_popall_key_error(self, cls): d = cls() - with pytest.raises(KeyError): + with pytest.raises(KeyError, match='key'): d.popall('key') @@ -244,18 +243,19 @@ assert d.getall('key') == ['value1', 'value2'] - with pytest.raises(KeyError) as excinfo: + with pytest.raises(KeyError, match='some_key'): d.getall('some_key') - assert 'some_key' in str(excinfo.value) def test_ctor(self, cls): d = cls(k1='v1') assert 'v1' == d['K1'] + assert ('k1', 'v1') in d.items() def test_setitem(self, cls): d = cls() d['k1'] = 'v1' assert 'v1' == d['K1'] + assert ('k1', 'v1') in d.items() def test_delitem(self, cls): d = cls() @@ -269,6 +269,7 @@ d2 = d1.copy() assert d1 == d2 + assert d1.items() == d2.items() assert d1 is not d2 def test__repr__(self, cls): @@ -285,18 +286,22 @@ assert d == {} d['KEY'] = 'one' + assert ('KEY', 'one') in d.items() assert d == cls({'Key': 'one'}) assert d.getall('key') == ['one'] d['KEY'] = 'two' + assert ('KEY', 'two') in d.items() assert d == cls({'Key': 'two'}) assert d.getall('key') == ['two'] d.add('KEY', 'one') + assert ('KEY', 'one') in d.items() assert 2 == len(d) assert d.getall('key') == ['two', 'one'] d.add('FOO', 'bar') + assert ('FOO', 'bar') in d.items() assert 3 == len(d) assert d.getall('foo') == ['bar'] @@ -353,7 +358,7 @@ assert d == {'foo': 'bar'} assert list(d.items()) == [('foo', 'bar')] - with pytest.raises(KeyError): + with pytest.raises(KeyError, match='key'): del d['key'] def test_set_default(self, cls): @@ -361,6 +366,7 @@ assert 'one' == d.setdefault('key', 'three') assert 'three' == d.setdefault('otherkey', 'three') assert 'otherkey' in d + assert ('otherkey', 'three') in d.items() assert 'three' == d['OTHERKEY'] def test_popitem(self, cls): @@ -404,7 +410,7 @@ def test_pop_raises(self, cls): d = cls(OTHER='val') - with pytest.raises(KeyError): + with pytest.raises(KeyError, match="KEY"): d.pop('KEY') assert 'other' in d
