Sync from SUSE:SLFO:Main python-soupsieve revision ae28e674c0008afa1e6f97420fd21317

This commit is contained in:
Adrian Schröter 2024-05-03 23:03:55 +02:00
commit 33ea7001e8
5 changed files with 302 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -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

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>test</package>
</multibuild>

195
python-soupsieve.changes Normal file
View File

@ -0,0 +1,195 @@
-------------------------------------------------------------------
Thu May 4 20:07:18 UTC 2023 - Dirk Müller <dmueller@suse.com>
- 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 <dmueller@suse.com>
- add sle15_python_module_pythons (jsc#PED-68)
-------------------------------------------------------------------
Thu Apr 13 22:45:00 UTC 2023 - Matej Cepl <mcepl@suse.com>
- Make calling of %{sle15modernpython} optional.
-------------------------------------------------------------------
Sat Jun 4 15:10:49 UTC 2022 - Dirk Müller <dmueller@suse.com>
- 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 <dmueller@suse.com>
- 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 <dmueller@suse.com>
- 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 <dmueller@suse.com>
- 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 <dmueller@suse.com>
- update to 2.2.0:
- **NEW**: `:link` and `:any-link` no longer include `#!html <link>` 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 <dmueller@suse.com>
- 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 <dmueller@suse.com>
- 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 <tchvatal@suse.com>
- Fix build without python2
-------------------------------------------------------------------
Fri Dec 20 18:49:34 UTC 2019 - Dirk Mueller <dmueller@suse.com>
- 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 <tchvatal@suse.com>
- 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 <tchvatal@suse.com>
- 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 <tchvatal@suse.com>
- Fix test macro expansion
-------------------------------------------------------------------
Fri Mar 1 11:34:35 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- 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 <adrian@suse.de>
- initial package version 1.7.3
(needed for beautifulsoup4 4.7)

78
python-soupsieve.spec Normal file
View File

@ -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

BIN
soupsieve-2.4.1.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.