Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-soupsieve for openSUSE:Factory checked in at 2021-11-15 15:26:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-soupsieve (Old) and /work/SRC/openSUSE:Factory/.python-soupsieve.new.1890 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-soupsieve" Mon Nov 15 15:26:24 2021 rev:15 rq:931293 version:2.3.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-soupsieve/python-soupsieve.changes 2021-11-09 23:54:20.591944453 +0100 +++ /work/SRC/openSUSE:Factory/.python-soupsieve.new.1890/python-soupsieve.changes 2021-11-15 15:28:01.645850838 +0100 @@ -1,0 +2,7 @@ +Sat Nov 13 20:46:12 UTC 2021 - Dirk M??ller <dmuel...@suse.com> + +- update to 2.3.1: + * Ensure attribute selectors match tags that have new lines characters in + attributes + +------------------------------------------------------------------- Old: ---- soupsieve-2.3.tar.gz New: ---- soupsieve-2.3.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-soupsieve.spec ++++++ --- /var/tmp/diff_new_pack.aHeSUl/_old 2021-11-15 15:28:02.097850965 +0100 +++ /var/tmp/diff_new_pack.aHeSUl/_new 2021-11-15 15:28:02.101850966 +0100 @@ -27,7 +27,7 @@ %endif %define skip_python2 1 Name: python-soupsieve%{psuffix} -Version: 2.3 +Version: 2.3.1 Release: 0 Summary: A modern CSS selector implementation for BeautifulSoup License: MIT ++++++ soupsieve-2.3.tar.gz -> soupsieve-2.3.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soupsieve-2.3/PKG-INFO new/soupsieve-2.3.1/PKG-INFO --- old/soupsieve-2.3/PKG-INFO 2021-11-03 17:08:48.901878400 +0100 +++ new/soupsieve-2.3.1/PKG-INFO 2021-11-11 14:53:09.905170700 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: soupsieve -Version: 2.3 +Version: 2.3.1 Summary: A modern CSS selector implementation for Beautiful Soup. Home-page: https://github.com/facelessuser/soupsieve Author: Isaac Muse diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soupsieve-2.3/docs/src/markdown/about/changelog.md new/soupsieve-2.3.1/docs/src/markdown/about/changelog.md --- old/soupsieve-2.3/docs/src/markdown/about/changelog.md 2021-11-03 17:08:45.000000000 +0100 +++ new/soupsieve-2.3.1/docs/src/markdown/about/changelog.md 2021-11-11 14:53:06.000000000 +0100 @@ -1,5 +1,9 @@ # Changelog +## 2.3.1 + +- **FIX**: Ensure attribute selectors match tags that have new lines characters in attributes. (#233) + ## 2.3 - **NEW**: Officially support Python 3.10. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soupsieve-2.3/requirements/docs.txt new/soupsieve-2.3.1/requirements/docs.txt --- old/soupsieve-2.3/requirements/docs.txt 2021-11-03 17:08:45.000000000 +0100 +++ new/soupsieve-2.3.1/requirements/docs.txt 2021-11-11 14:53:06.000000000 +0100 @@ -1,4 +1,4 @@ -mkdocs_pymdownx_material_extras==1.5.4 +mkdocs_pymdownx_material_extras==1.5.5 mkdocs-git-revision-date-localized-plugin mkdocs-minify-plugin pyspelling diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soupsieve-2.3/soupsieve/__meta__.py new/soupsieve-2.3.1/soupsieve/__meta__.py --- old/soupsieve-2.3/soupsieve/__meta__.py 2021-11-03 17:08:45.000000000 +0100 +++ new/soupsieve-2.3.1/soupsieve/__meta__.py 2021-11-11 14:53:06.000000000 +0100 @@ -192,5 +192,5 @@ return Version(major, minor, micro, release, pre, post, dev) -__version_info__ = Version(2, 3, 0, "final") +__version_info__ = Version(2, 3, 1, "final") __version__ = __version_info__._get_canonical() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soupsieve-2.3/soupsieve/css_match.py new/soupsieve-2.3.1/soupsieve/css_match.py --- old/soupsieve-2.3/soupsieve/css_match.py 2021-11-03 17:08:45.000000000 +0100 +++ new/soupsieve-2.3.1/soupsieve/css_match.py 2021-11-11 14:53:06.000000000 +0100 @@ -478,7 +478,7 @@ return parsed -class _Match(_DocumentNav): +class CSSMatch(_DocumentNav): """Perform CSS matching.""" def __init__( @@ -1495,10 +1495,6 @@ return not self.is_doc(el) and self.is_tag(el) and self.match_selectors(el, self.selectors) -class CSSMatch(_Match): - """The Beautiful Soup CSS match class.""" - - class SoupSieve(ct.Immutable): """Compiled Soup Sieve selector matching object.""" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soupsieve-2.3/soupsieve/css_parser.py new/soupsieve-2.3.1/soupsieve/css_parser.py --- old/soupsieve-2.3/soupsieve/css_parser.py 2021-11-03 17:08:45.000000000 +0100 +++ new/soupsieve-2.3.1/soupsieve/css_parser.py 2021-11-11 14:53:06.000000000 +0100 @@ -484,12 +484,12 @@ value = '' if case: - flags = re.I if case == 'i' else 0 + flags = (re.I if case == 'i' else 0) | re.DOTALL elif util.lower(attr) == 'type': - flags = re.I + flags = re.I | re.DOTALL is_type = True else: - flags = 0 + flags = re.DOTALL if op: if m.group('value').startswith(('"', "'")): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soupsieve-2.3/soupsieve.egg-info/PKG-INFO new/soupsieve-2.3.1/soupsieve.egg-info/PKG-INFO --- old/soupsieve-2.3/soupsieve.egg-info/PKG-INFO 2021-11-03 17:08:48.000000000 +0100 +++ new/soupsieve-2.3.1/soupsieve.egg-info/PKG-INFO 2021-11-11 14:53:09.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: soupsieve -Version: 2.3 +Version: 2.3.1 Summary: A modern CSS selector implementation for Beautiful Soup. Home-page: https://github.com/facelessuser/soupsieve Author: Isaac Muse diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soupsieve-2.3/tests/test_level3/test_attribute.py new/soupsieve-2.3.1/tests/test_level3/test_attribute.py --- old/soupsieve-2.3/tests/test_level3/test_attribute.py 2021-11-03 17:08:45.000000000 +0100 +++ new/soupsieve-2.3.1/tests/test_level3/test_attribute.py 2021-11-11 14:53:06.000000000 +0100 @@ -60,3 +60,53 @@ ["0", "3", "pre"], flags=util.HTML ) + + def test_attribute_contains_with_newlines(self): + """Test attribute `*=` will match with new lines.""" + + self.assert_selector( + "<p><span id='1' title='foo bar'>foo1</span><span id='2' title='foo\nbar'>foo1</span></p>", + "span[title*='bar']", + ["1", "2"], + flags=util.HTML + ) + + def test_attribute_starts_with_newlines(self): + """Test attribute `^=` will match with new lines.""" + + self.assert_selector( + "<p><span id='1' title='foo bar'>foo1</span><span id='2' title='foo\nbar'>foo1</span></p>", + "span[title^='foo']", + ["1", "2"], + flags=util.HTML + ) + + def test_attribute_ends_with_newlines(self): + """Test attribute `$=` will match with new lines.""" + + self.assert_selector( + "<p><span id='1' title='foo bar'>foo1</span><span id='2' title='foo\nbar'>foo1</span></p>", + "span[title$='bar']", + ["1", "2"], + flags=util.HTML + ) + + def test_attribute_dash_list_with_newlines(self): + """Test attribute `|=` will match with new lines.""" + + self.assert_selector( + "<p><span id='1' title='fo-o bar'>foo1</span><span id='2' title='fo-o\nbar'>foo1</span></p>", + "span[title|='fo']", + ["1", "2"], + flags=util.HTML + ) + + def test_attribute_space_list_with_newlines(self): + """Test attribute `~=` will match with new lines.""" + + self.assert_selector( + "<p><span id='1' title='foo bar baz'>foo1</span><span id='2' title='foo\nbar baz'>foo1</span></p>", + "span[title~='baz']", + ["1", "2"], + flags=util.HTML + )