From 33ea7001e848989c8a3d0e9706cdafd78f949e9bd6ef7dad959919810a5ea93e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Fri, 3 May 2024 23:03:55 +0200 Subject: [PATCH] Sync from SUSE:SLFO:Main python-soupsieve revision ae28e674c0008afa1e6f97420fd21317 --- .gitattributes | 23 +++++ _multibuild | 3 + python-soupsieve.changes | 195 +++++++++++++++++++++++++++++++++++++++ python-soupsieve.spec | 78 ++++++++++++++++ soupsieve-2.4.1.tar.gz | 3 + 5 files changed, 302 insertions(+) create mode 100644 .gitattributes create mode 100644 _multibuild create mode 100644 python-soupsieve.changes create mode 100644 python-soupsieve.spec create mode 100644 soupsieve-2.4.1.tar.gz diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..fcc7b97 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + test + diff --git a/python-soupsieve.changes b/python-soupsieve.changes new file mode 100644 index 0000000..9220f19 --- /dev/null +++ b/python-soupsieve.changes @@ -0,0 +1,195 @@ +------------------------------------------------------------------- +Thu May 4 20:07:18 UTC 2023 - Dirk Müller + +- update to 2.4.1: + * Attribute syntax for case insensitive flag + optionally allows a space, it does not require one. + * Update to support changes related to `:lang()` in + the official CSS spec. `:lang("")` should match unspecified + * languages, e.g. `lang=""`, but not `lang=und`. + * Only `:is()` and `:where()` should allow forgiving + selector lists according to latest CSS (as far as Soup + * Sieve supports "forgiving" which is limited to empty + selectors). + * Formally drop Python 3.6. + * Formally declare support for Python 3.11. + +------------------------------------------------------------------- +Fri Apr 21 12:34:24 UTC 2023 - Dirk Müller + +- add sle15_python_module_pythons (jsc#PED-68) + +------------------------------------------------------------------- +Thu Apr 13 22:45:00 UTC 2023 - Matej Cepl + +- Make calling of %{sle15modernpython} optional. + +------------------------------------------------------------------- +Sat Jun 4 15:10:49 UTC 2022 - Dirk Müller + +- update to 2.3.2.post1: + Fix Documentation for installation from source is outdated. + Fix some typos in error messages. + +------------------------------------------------------------------- +Sat Nov 13 20:46:12 UTC 2021 - Dirk Müller + +- update to 2.3.1: + * Ensure attribute selectors match tags that have new lines characters in + attributes + +------------------------------------------------------------------- +Sat Nov 6 18:00:49 UTC 2021 - Dirk Müller + +- update to 2.3: + * Officially support Python 3.10. + * Add static typing. + * `:has()`, `:is()`, and `:where()` now use use a forgiving selector list. + * Add support to output a pretty print format of a compiled `SelectorList` for debug purposes. + * Some small corner cases discovered with static typing. + +------------------------------------------------------------------- +Sun May 9 17:07:24 UTC 2021 - Dirk Müller + +- udpate to 2.2.1: + - **FIX**: Fix an issue with namespaces when one of the keys is `self`. + +------------------------------------------------------------------- +Tue Mar 2 00:26:16 UTC 2021 - Dirk Müller + +- update to 2.2.0: + - **NEW**: `:link` and `:any-link` no longer include `#!html ` due to a + change in the level 4 selector specification. This actually yields more + sane results. + - **FIX**: BeautifulSoup, when using `find`, is quite forgiving of odd types + that a user may place in an element's attribute value. Soup Sieve will also + now be more forgiving and attempt to match these unexpected values in a sane + manner by normalizing them before compare. (#212) + +------------------------------------------------------------------- +Thu Jan 28 23:17:10 UTC 2021 - Dirk Müller + +- update to 2.1.0: + - **NEW**: Officially support Python 3.9. + - **NEW**: Drop official support for Python 3.5. + - **NEW**: In order to avoid conflicts with future CSS specification changes, + non-standard pseudo classes will now start with the `:-soup-` prefix. As a + consequence, `:contains()` will now be known as `:-soup-contains()`, though + for a time the deprecated form of `:contains()` will still be allowed with + a warning that users should migrate over to + `:-soup-contains()`. + - **NEW**: Added new non-standard pseudo class `:-soup-contains-own()` which + operates similar to `:-soup-contains()` except that it only looks at text + nodes directly associated with the currently scoped element and not its + descendants. + - **FIX**: Import `bs4` globally instead of in local functions as it appears + there are no adverse affects due to circular imports as `bs4` does not + immediately reference `soupsieve` functions and `soupsieve` does not + immediately reference `bs4` functions. This should give a performance + boost to functions that had previously included `bs4` locally. + +------------------------------------------------------------------- +Sun Jun 14 09:12:49 UTC 2020 - Dirk Mueller + +- update to 2.0.1: + - **FIX**: Remove unused code. + +------------------------------------------------------------------- +Tue Mar 17 14:02:24 UTC 2020 - pgajdos@suse.com + +- version update to 2.0 + - **NEW**: `SelectorSyntaxError` is derived from `Exception` not `SyntaxError`. + - **NEW**: Remove deprecated `comments` and `icomments` from the API. + - **NEW**: Drop support for EOL Python versions (Python 2 and Python < 3.5). + - **FIX**: Corner case with splitting namespace and tag name that that have an escaped `|`. + - **FIX**: `:placeholder-shown` should not match if the element has content that overrides the placeholder. + +------------------------------------------------------------------- +Fri Mar 13 13:02:59 UTC 2020 - Tomáš Chvátal + +- Fix build without python2 + +------------------------------------------------------------------- +Fri Dec 20 18:49:34 UTC 2019 - Dirk Mueller + +- update to 1.9.5: + * **FIX**: `:placeholder-shown` should not match if the element has content + that overrides the pl aceholder. + * **FIX**: `:checked` rule was too strict with `option` elements. The + specification for `:checked ` does not require an `option` element to be under + a `select` element. + * **FIX**: Fix level 4 `:lang()` wildcard match handling with singletons. + Implicit wildcard match ing should not match any singleton. Explicit wildcard + matching (`*` in the language range: `*-US`) is allowed to match singletons. + +------------------------------------------------------------------- +Tue Sep 10 10:11:45 UTC 2019 - Tomáš Chvátal + +- Update to 1.9.2: + * FIX: [attr!=value] pattern was mistakenly using :not([attr|=value]) logic instead of :not([attr=value]). + * FIX: Remove undocumented _QUIRKS mode flag + +------------------------------------------------------------------- +Mon Jul 22 12:54:14 UTC 2019 - Tomáš Chvátal + +- Update to 1.9.2: + * FIX: Shortcut last descendant calculation if possible for performance. + * FIX: Fix issue where Doctype strings can be mistaken for a normal text node in some cases. + * FIX: A top level tag is not a :root tag if it has sibling text nodes or tag nodes. This is an issue that mostly manifests when using html.parser as the parser will allow multiple root nodes. + +------------------------------------------------------------------- +Mon May 20 08:57:36 UTC 2019 - pgajdos@suse.com + +- version update to 1.9.1 + - FIX: `:root`, `:contains()`, `:default`, `:indeterminate`, + `:lang()`, and `:dir()` will properly account for HTML + `iframe` elements in their logic when selecting or matching + an element. Their logic will be restricted to the document + for which the element under consideration applies. + - FIX: HTML pseudo-classes will check that all key elements + checked are in the XHTML namespace (HTML parsers that do + not provide namespaces will assume the XHTML namespace). + - FIX: Ensure that all pseudo-class names are case + insensitive and allow CSS escapes. + +------------------------------------------------------------------- +Fri Apr 5 08:26:37 UTC 2019 - pgajdos@suse.com + +- version update to 1.9 + * NEW: Allow :contains() to accept a list of text to search + for. (#115) + * NEW: Add new escape function for escaping CSS identifiers. (#125) + * NEW: Deprecate comments and icomments functions in the API to ensure + Soup Sieve focuses only in CSS selectors. comments and icomments + will most likely be removed in 2.0. (#130) + * NEW: Add Python 3.8 support. (#133) + * FIX: Don't install test files when installing the soupsieve + package. (#111) + * FIX: Improve efficiency of :contains() comparison. + * FIX: Null characters should translate to the Unicode REPLACEMENT + CHARACTER (U+FFFD) according to the specification. This applies + to CSS escaped NULL characters as well. (#124) + * FIX: Escaped EOF should translate to U+FFFD outside of CSS strings. + In a string, they should just be ignored, but as there is no case + where we could resolve such a string and still have a valid selector, + string handling remains the same. (#128) + +------------------------------------------------------------------- +Thu Mar 7 11:20:32 UTC 2019 - Tomáš Chvátal + +- Fix test macro expansion + +------------------------------------------------------------------- +Fri Mar 1 11:34:35 UTC 2019 - Tomáš Chvátal + +- Fetch package from pypi +- Update to 1.8: + * no obvious changelog +- Run tests +- Add missing dependencies + +------------------------------------------------------------------- +Sun Feb 3 10:28:53 UTC 2019 - Adrian Schröter + +- initial package version 1.7.3 + (needed for beautifulsoup4 4.7) diff --git a/python-soupsieve.spec b/python-soupsieve.spec new file mode 100644 index 0000000..ea068a5 --- /dev/null +++ b/python-soupsieve.spec @@ -0,0 +1,78 @@ +# +# spec file +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%{?!python_module:%define python_module() python-%{**} python3-%{**}} +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "test" +%define psuffix -test +%bcond_without test +%else +%define psuffix %{nil} +%bcond_with test +%endif +%define skip_python2 1 +%{?sle15_python_module_pythons} +Name: python-soupsieve%{psuffix} +Version: 2.4.1 +Release: 0 +Summary: A modern CSS selector implementation for BeautifulSoup +License: MIT +Group: Development/Libraries/Python +URL: https://github.com/facelessuser/soupsieve +Source: https://files.pythonhosted.org/packages/source/s/soupsieve/soupsieve-%{version}.tar.gz +BuildRequires: %{python_module hatchling} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +BuildArch: noarch +%if %{with test} +BuildRequires: %{python_module beautifulsoup4} +BuildRequires: %{python_module pytest} +%endif +%python_subpackages + +%description +A modern CSS selector implementation for BeautifulSoup + +%prep +%setup -q -n soupsieve-%{version} + +%build +%pyproject_wheel + +%install +%if !%{with test} +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} +%endif + +%check +%if %{with test} +%pytest tests +%endif + +%if !%{with test} +%files %{python_files} +%license LICENSE.md +%doc README.md +%{python_sitelib}/soupsieve +%{python_sitelib}/soupsieve-%{version}.dist-info +%endif + +%changelog diff --git a/soupsieve-2.4.1.tar.gz b/soupsieve-2.4.1.tar.gz new file mode 100644 index 0000000..c4bd004 --- /dev/null +++ b/soupsieve-2.4.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89d12b2d5dfcd2c9e8c22326da9d9aa9cb3dfab0a83a024f05704076ee8d35ea +size 101278