commit e241312f98d2cd0ef11a6f134eb65cf97b829312b345f088b899d58fb706f5b4 Author: Matej Cepl Date: Sat Mar 22 13:50:29 2025 +0000 Accepting request 1254655 from home:glaubitz:branches:devel:languages:python - Update to 1.3.0 * Dropped support for Python 3.7-3.8, added support for Python 3.12-3.13 and PyPy 3.10. * Removed ``_unicode_safe_getattr()``, deprecated in 1.2.0. * Added ``pre-commit`` and formatted the code with ``ruff``. * Many CI additions and improvements. - Limit Python files matched in %files section - Switch build system from setuptools to pyproject.toml * Add python-pip and python-wheel to BuildRequires * Replace %python_build with %pyproject_wheel * Replace %python_install with %pyproject_install OBS-URL: https://build.opensuse.org/request/show/1254655 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cssselect?expand=0&rev=26 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/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc 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-cssselect.changes b/python-cssselect.changes new file mode 100644 index 0000000..7248168 --- /dev/null +++ b/python-cssselect.changes @@ -0,0 +1,146 @@ +------------------------------------------------------------------- +Thu Mar 20 09:09:12 UTC 2025 - John Paul Adrian Glaubitz + +- Update to 1.3.0 + * Dropped support for Python 3.7-3.8, added support for + Python 3.12-3.13 and PyPy 3.10. + * Removed ``_unicode_safe_getattr()``, deprecated in 1.2.0. + * Added ``pre-commit`` and formatted the code with ``ruff``. + * Many CI additions and improvements. +- Limit Python files matched in %files section +- Switch build system from setuptools to pyproject.toml + * Add python-pip and python-wheel to BuildRequires + * Replace %python_build with %pyproject_wheel + * Replace %python_install with %pyproject_install + +------------------------------------------------------------------- +Fri Apr 21 12:23:57 UTC 2023 - Dirk Müller + +- add sle15_python_module_pythons (jsc#PED-68) + +------------------------------------------------------------------- +Thu Apr 13 22:40:45 UTC 2023 - Matej Cepl + +- Make calling of %{sle15modernpython} optional. + +------------------------------------------------------------------- +Mon Nov 7 21:05:46 UTC 2022 - Yogalakshmi Arunachalam + +- Update to 1.2.0 + * Drop support for Python 2.7, 3.4-3.6, add support for Python 3.7-3.11. + * Add type annotations (PEP 484 and PEP 561). + * More features from the CSS Selectors Level 4: + * The ``:is()`` pseudo-class. + * The ``:where()`` pseudo-class. + * The ``:has()`` pseudo-class, with some limitations. + * Fix parsing ``:scope`` after a comma. + * Add parentheses to fix condition precedence in some cases. + * Private API changes related to the removal of the Python 2 support: + * Remove ``_unicode`` and ``_unichr`` aliases from ``csselect.parser``. + * Remove ``_basestring`` and ``_unicode`` aliases from ``csselect.xpath``. + * Deprecate ``csselect.xpath._unicode_safe_getattr()`` and change it to just + call ``getattr()``. + * Include tests in the PyPI tarball. + * Many CI additions and improvements. + * Improve the test coverage. + +------------------------------------------------------------------- +Fri Sep 20 08:39:42 UTC 2019 - Tomáš Chvátal + +- Switch to multibuild to avoid build cycle with lxml + +------------------------------------------------------------------- +Fri Sep 13 10:31:51 UTC 2019 - Tomáš Chvátal + +- Update to 1.1.0: + * Support for the :scope selector, which allows to access immediate children of a selector. + * Support for the |E syntax for type selectors without a namespace. + * A new selector method, canonical, returns the CSS expression of the selector, as a string. + +------------------------------------------------------------------- +Tue Dec 4 12:47:02 UTC 2018 - Matej Cepl + +- Remove superfluous devel dependency for noarch package + +------------------------------------------------------------------- +Sat Jan 6 17:30:23 UTC 2018 - arun@gmx.de + +- specfile: + * update copyright year + +- update to version 1.0.3: + * Fix artifact uploads to pypi + +- changes from version 1.0.2: + * Drop support for Python 2.6 and Python 3.3. + * Fix deprecation warning in Python 3.6. + * Minor cleanups. + +------------------------------------------------------------------- +Wed Mar 29 08:27:04 UTC 2017 - tbechtold@suse.com + +- update to 1.0.1: + * Add support for Python 3.6. + * Documentation hosted `on Read the Docs `_ + * Add code coverage reports. + * Fix ``:nth-*(an+b)`` pseudo-classes selectors. + (except ``*:nth-child()`` which looks untranslatable to XPath 1.0.) + * Distribute as universal wheel. + * Add support for Python 3.3, 3.4 and 3.5. + * Drop support for Python 2.5 as testing is getting difficult. + * Improve tests on pseudo-elements. +- Switch to singlespec approach + +------------------------------------------------------------------- +Sat Nov 23 18:09:44 UTC 2013 - p.drouand@gmail.com + +- Update to version 0.9.1 + + **Backward incompatible change from 0.9**: + :meth:`~GenericTranslator.selector_to_xpath` defaults to ignoring + pseudo-elements, as it did in 0.8 and previous versions. + (:meth:`~GenericTranslator.css_to_xpath` doesn’t change.) + + Drop official support for Python 2.4 and 3.1, + as testing was becoming difficult. Nothing will break overnight, + but future releases may on may not work on these versions. + Older releases will remain available on PyPI. +- Changes from 0.9 + + Add parser support for :attr:`functional pseudo-elements + `. + + This version accidentally introduced a backward incompatible change: + :meth:`~GenericTranslator.selector_to_xpath` defaults to rejecting + pseudo-elements instead of ignoring them. +- Remove useless CFLAGS definition +- Add README.rst, CHANGES and AUTHORS in package documentation + +------------------------------------------------------------------- +Tue Jul 9 17:09:42 UTC 2013 - arun@gmx.de + +- Packaged LICENSE file + fixes bnc#828513 + Bug 828513 - LICENSE not packaged in python3-cssselect 0.8 + +------------------------------------------------------------------- +Thu Mar 28 20:18:04 UTC 2013 - arun@gmx.de + +- updated to 0.8 + Changelog (http://pythonhosted.org/cssselect/#changelog): + Released on 2013-03-15. + Improvements: + #22 Let extended translators override what XPathExpr class is used + #19 Use the built-in lang() XPath function for implementing the :lang() pseudo-class with XML documents. This is probably faster than ancestor-or-self::. + + Bug fixes: + #14 Fix non-ASCII pseudo-classes. (Invalid selector instead of crash.) + #20 As per the spec, elements containing only whitespace are not considered empty for the :empty pseudo-class. + + +------------------------------------------------------------------- +Mon Jan 14 10:17:27 UTC 2013 - saschpe@suse.de + +- Minimal cleanup + +------------------------------------------------------------------- +Tue Jan 8 20:42:17 UTC 2013 - iacobcatalin@gmail.com + +- Initial package 0.7.1 + diff --git a/python-cssselect.spec b/python-cssselect.spec new file mode 100644 index 0000000..c28aa4b --- /dev/null +++ b/python-cssselect.spec @@ -0,0 +1,82 @@ +# +# spec file for package python-cssselect +# +# Copyright (c) 2025 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 +%{?sle15_python_module_pythons} +Name: python-cssselect%{psuffix} +Version: 1.3.0 +Release: 0 +Summary: CSS3 selectors for Python +License: BSD-3-Clause +Group: Development/Languages/Python +URL: https://github.com/scrapy/cssselect +Source: https://github.com/scrapy/cssselect/archive/v%{version}.tar.gz +BuildRequires: %{python_module pip} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +BuildArch: noarch +%if %{with test} +BuildRequires: %{python_module lxml} +BuildRequires: %{python_module pytest} +%endif +%python_subpackages + +%description +cssselect parses CSS3 Selectors and translates them to XPath 1.0 +expressions. Such expressions can be used in lxml or another XPath engine to +find the matching elements in an XML or HTML document. + +This module used to live inside of lxml as lxml.cssselect before it was +extracted as a stand-alone project. + +%prep +%setup -q -n cssselect-%{version} + +%build +%pyproject_wheel + +%install +%if !%{with test} +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} +%endif + +%check +%if %{with test} +%pytest +%endif + +%if !%{with test} +%files %{python_files} +%{python_sitelib}/cssselect +%{python_sitelib}/cssselect-%{version}.dist-info +%license LICENSE +%doc README.rst CHANGES AUTHORS +%endif + +%changelog diff --git a/v1.2.0.tar.gz b/v1.2.0.tar.gz new file mode 100644 index 0000000..7760461 --- /dev/null +++ b/v1.2.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5d17fc420dad4d70ff63a585ad315caf9c5868f750551362b5dbb6e8307c66c +size 40878 diff --git a/v1.3.0.tar.gz b/v1.3.0.tar.gz new file mode 100644 index 0000000..842b459 --- /dev/null +++ b/v1.3.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8792e44640e1852e02e7ae94ad261ca411fdbcf81150d18ad51afe8732164a4 +size 41742