[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#987411: marked as done (unblock: soupsieve/2.2.1-1)



Your message dated Fri, 23 Apr 2021 19:08:00 +0000
with message-id <E1la19k-0006dV-Ni@respighi.debian.org>
and subject line unblock soupsieve
has caused the Debian Bug report #987411,
regarding unblock: soupsieve/2.2.1-1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
987411: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=987411
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package soupsieve

New upstream point release fixing a single bug, fairly minimally.

[ Reason ]
Fixes: https://github.com/facelessuser/soupsieve/issues/216

[ Impact ]
Unable to parse documents with an XML namespace named "self".

[ Tests ]
The package has good test suite coverage, which is run at build time and
in autopkgtests.

[ Risks ]
The change is pretty straightforward, and makes the code a little
simpler (passing a dict instead of kwargs).

This is a key package. The new version has already aged for 25 days.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

unblock soupsieve/2.2.1-1
diff -Nru soupsieve-2.2/debian/changelog soupsieve-2.2.1/debian/changelog
--- soupsieve-2.2/debian/changelog	2021-02-11 17:00:48.000000000 -0400
+++ soupsieve-2.2.1/debian/changelog	2021-03-28 14:15:20.000000000 -0400
@@ -1,3 +1,9 @@
+soupsieve (2.2.1-1) unstable; urgency=medium
+
+  * New upstream point release.
+
+ -- Stefano Rivera <stefanor@debian.org>  Sun, 28 Mar 2021 11:15:20 -0700
+
 soupsieve (2.2-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru soupsieve-2.2/docs/src/markdown/about/changelog.md soupsieve-2.2.1/docs/src/markdown/about/changelog.md
--- soupsieve-2.2/docs/src/markdown/about/changelog.md	2021-02-09 15:57:00.000000000 -0400
+++ soupsieve-2.2.1/docs/src/markdown/about/changelog.md	2021-03-19 00:59:26.000000000 -0400
@@ -1,5 +1,9 @@
 # Changelog
 
+## 2.2.1
+
+- **FIX**: Fix an issue with namespaces when one of the keys is `self`.
+
 ## 2.2
 
 - **NEW**: `:link` and `:any-link` no longer include `#!html <link>` due to a change in the level 4 selector
diff -Nru soupsieve-2.2/docs/src/markdown/selectors/pseudo-classes.md soupsieve-2.2.1/docs/src/markdown/selectors/pseudo-classes.md
--- soupsieve-2.2/docs/src/markdown/selectors/pseudo-classes.md	2021-02-09 15:57:00.000000000 -0400
+++ soupsieve-2.2.1/docs/src/markdown/selectors/pseudo-classes.md	2021-03-19 00:59:26.000000000 -0400
@@ -867,7 +867,7 @@
     Level 4 CSS adds the additional pattern in the form `an+b of S` where `S` represents a selector list. `an+b` can
     also be substituted with `even` or `odd`.
 
-    Wen using the pattern `an+b of S`, the pattern will select elements from a sub-group of sibling elements that all
+    When using the pattern `an+b of S`, the pattern will select elements from a sub-group of sibling elements that all
     match the selector list (`[of S]?`), based on their position within that sub-group, using the pattern `an+b`, for
     every positive integer or zero value of `n`. The index of the first element is `1`. The values `a` and `b` must both
     be integers.
@@ -961,7 +961,7 @@
     Level 4 CSS adds the additional pattern in the form `an+b of S` where `S` represents a selector list. `an+b` can
     also be substituted with `even` or `odd`.
 
-    Wen using the pattern `an+b of S`, the pattern will select elements from a sub-group of sibling elements that all
+    When using the pattern `an+b of S`, the pattern will select elements from a sub-group of sibling elements that all
     match the selector list (`[of S]?`), based on their position within that sub-group, using the pattern `an+b`, for
     every positive integer or zero value of `n`. The index of the first element is `1`. The values `a` and `b` must both
     be integers. Elements will be counted from the end.
diff -Nru soupsieve-2.2/PKG-INFO soupsieve-2.2.1/PKG-INFO
--- soupsieve-2.2/PKG-INFO	2021-02-09 15:57:13.208084600 -0400
+++ soupsieve-2.2.1/PKG-INFO	2021-03-19 00:59:30.715582600 -0400
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: soupsieve
-Version: 2.2
+Version: 2.2.1
 Summary: A modern CSS selector implementation for Beautiful Soup.
 Home-page: https://github.com/facelessuser/soupsieve
 Author: Isaac Muse
diff -Nru soupsieve-2.2/requirements/docs.txt soupsieve-2.2.1/requirements/docs.txt
--- soupsieve-2.2/requirements/docs.txt	2021-02-09 15:57:00.000000000 -0400
+++ soupsieve-2.2.1/requirements/docs.txt	2021-03-19 00:59:26.000000000 -0400
@@ -1,4 +1,4 @@
-mkdocs_pymdownx_material_extras==1.1.3
+mkdocs_pymdownx_material_extras==1.2.2
 mkdocs-git-revision-date-localized-plugin
 mkdocs-minify-plugin
 pyspelling
diff -Nru soupsieve-2.2/soupsieve/css_types.py soupsieve-2.2.1/soupsieve/css_types.py
--- soupsieve-2.2/soupsieve/css_types.py	2021-02-09 15:57:00.000000000 -0400
+++ soupsieve-2.2.1/soupsieve/css_types.py	2021-03-19 00:59:26.000000000 -0400
@@ -89,10 +89,10 @@
 class ImmutableDict(Mapping):
     """Hashable, immutable dictionary."""
 
-    def __init__(self, *args, **kwargs):
+    def __init__(self, arg):
         """Initialize."""
 
-        arg = args[0] if args else kwargs
+        arg
         is_dict = isinstance(arg, dict)
         if (
             is_dict and not all([isinstance(v, Hashable) for v in arg.values()]) or
@@ -100,7 +100,7 @@
         ):
             raise TypeError('All values must be hashable')
 
-        self._d = dict(*args, **kwargs)
+        self._d = dict(arg)
         self._hash = hash(tuple([(type(x), x, type(y), y) for x, y in sorted(self._d.items())]))
 
     def __iter__(self):
@@ -133,39 +133,37 @@
 class Namespaces(ImmutableDict):
     """Namespaces."""
 
-    def __init__(self, *args, **kwargs):
+    def __init__(self, arg):
         """Initialize."""
 
         # If there are arguments, check the first index.
         # `super` should fail if the user gave multiple arguments,
         # so don't bother checking that.
-        arg = args[0] if args else kwargs
         is_dict = isinstance(arg, dict)
         if is_dict and not all([isinstance(k, str) and isinstance(v, str) for k, v in arg.items()]):
             raise TypeError('Namespace keys and values must be Unicode strings')
         elif not is_dict and not all([isinstance(k, str) and isinstance(v, str) for k, v in arg]):
             raise TypeError('Namespace keys and values must be Unicode strings')
 
-        super(Namespaces, self).__init__(*args, **kwargs)
+        super(Namespaces, self).__init__(arg)
 
 
 class CustomSelectors(ImmutableDict):
     """Custom selectors."""
 
-    def __init__(self, *args, **kwargs):
+    def __init__(self, arg):
         """Initialize."""
 
         # If there are arguments, check the first index.
         # `super` should fail if the user gave multiple arguments,
         # so don't bother checking that.
-        arg = args[0] if args else kwargs
         is_dict = isinstance(arg, dict)
         if is_dict and not all([isinstance(k, str) and isinstance(v, str) for k, v in arg.items()]):
             raise TypeError('CustomSelectors keys and values must be Unicode strings')
         elif not is_dict and not all([isinstance(k, str) and isinstance(v, str) for k, v in arg]):
             raise TypeError('CustomSelectors keys and values must be Unicode strings')
 
-        super(CustomSelectors, self).__init__(*args, **kwargs)
+        super(CustomSelectors, self).__init__(arg)
 
 
 class Selector(Immutable):
diff -Nru soupsieve-2.2/soupsieve/__init__.py soupsieve-2.2.1/soupsieve/__init__.py
--- soupsieve-2.2/soupsieve/__init__.py	2021-02-09 15:57:00.000000000 -0400
+++ soupsieve-2.2.1/soupsieve/__init__.py	2021-03-19 00:59:26.000000000 -0400
@@ -44,11 +44,11 @@
     """Compile CSS pattern."""
 
     if namespaces is not None:
-        namespaces = ct.Namespaces(**namespaces)
+        namespaces = ct.Namespaces(namespaces)
 
     custom = kwargs.get('custom')
     if custom is not None:
-        custom = ct.CustomSelectors(**custom)
+        custom = ct.CustomSelectors(custom)
 
     if isinstance(pattern, SoupSieve):
         if flags:
diff -Nru soupsieve-2.2/soupsieve/__meta__.py soupsieve-2.2.1/soupsieve/__meta__.py
--- soupsieve-2.2/soupsieve/__meta__.py	2021-02-09 15:57:00.000000000 -0400
+++ soupsieve-2.2.1/soupsieve/__meta__.py	2021-03-19 00:59:26.000000000 -0400
@@ -188,5 +188,5 @@
     return Version(major, minor, micro, release, pre, post, dev)
 
 
-__version_info__ = Version(2, 2, 0, "final")
+__version_info__ = Version(2, 2, 1, "final")
 __version__ = __version_info__._get_canonical()
diff -Nru soupsieve-2.2/soupsieve.egg-info/PKG-INFO soupsieve-2.2.1/soupsieve.egg-info/PKG-INFO
--- soupsieve-2.2/soupsieve.egg-info/PKG-INFO	2021-02-09 15:57:12.000000000 -0400
+++ soupsieve-2.2.1/soupsieve.egg-info/PKG-INFO	2021-03-19 00:59:30.000000000 -0400
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: soupsieve
-Version: 2.2
+Version: 2.2.1
 Summary: A modern CSS selector implementation for Beautiful Soup.
 Home-page: https://github.com/facelessuser/soupsieve
 Author: Isaac Muse
diff -Nru soupsieve-2.2/tests/test_level3/test_not.py soupsieve-2.2.1/tests/test_level3/test_not.py
--- soupsieve-2.2/tests/test_level3/test_not.py	2021-02-09 15:57:00.000000000 -0400
+++ soupsieve-2.2.1/tests/test_level3/test_not.py	2021-03-19 00:59:26.000000000 -0400
@@ -52,6 +52,6 @@
     def test_none_inputs(self):
         """Test weird inputs."""
 
-        soup = BS('<span foo-"something">text</span>', 'html.parser')
+        soup = BS('<span foo="something">text</span>', 'html.parser')
         soup.span['foo'] = None
         self.assertEqual(len(soup.select('span:not([foo])')), 0)

--- End Message ---
--- Begin Message ---
Unblocked.

--- End Message ---

Reply to: