Skip to content

Commit

Permalink
py-soupsieve: updated to 2.3.2.1
Browse files Browse the repository at this point in the history
2.3.2.post1

- **FIX**: Documentation for installation from source is outdated.

2.3.2

- **FIX**: Fix some typos in error messages.

2.3.1

- **FIX**: Ensure attribute selectors match tags that have new line characters in attributes.

2.3

- **NEW**: Officially support Python 3.10.
- **NEW**: Add static typing.
- **NEW**: `:has()`, `:is()`, and `:where()` now use use a forgiving selector list. While not as forgiving as CSS might
 be, it will forgive such things as empty sets and empty slots due to multiple consecutive commas, leading commas, or
 trailing commas. Essentially, these pseudo-classes will match all non-empty selectors and ignore empty ones. As the
 scraping environment is different than a browser environment, it was chosen not to aggressively forgive bad syntax and
 invalid features to ensure the user is alerted that their program may not perform as expected.
- **NEW**: Add support to output a pretty print format of a compiled `SelectorList` for debug purposes.
- **FIX**: Some small corner cases discovered with static typing.

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

2.1

- **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.

2.0.1

- **FIX**: Remove unused code.

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 `|`.
  • Loading branch information
adam committed Nov 30, 2022
1 parent 4ebfc19 commit bccbee3
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 25 deletions.
26 changes: 17 additions & 9 deletions www/py-soupsieve/Makefile
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
# $NetBSD: Makefile,v 1.12 2022/01/04 20:55:35 wiz Exp $
# $NetBSD: Makefile,v 1.13 2022/11/30 16:59:36 adam Exp $

DISTNAME= soupsieve-1.9.5
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
PKGREVISION= 1
DISTNAME= soupsieve-2.3.2.post1
PKGNAME= ${PYPKGPREFIX}-${DISTNAME:S/post//}
CATEGORIES= www python
MASTER_SITES= ${MASTER_SITE_PYPI:=s/soupsieve/}

Expand All @@ -11,12 +10,21 @@ HOMEPAGE= https://github.com/facelessuser/soupsieve
COMMENT= CSS4 selector implementation for Beautiful Soup
LICENSE= mit

.include "../../lang/python/pyversion.mk"
.if ${_PYTHON_VERSION} == 27
DEPENDS+= ${PYPKGPREFIX}-backports.functools_lru_cache-[0-9]*:../../devel/py-backports.functools_lru_cache
.endif
TOOL_DEPENDS+= ${PYPKGPREFIX}-hatchling>=0.21.1:../../devel/py-hatchling
TEST_DEPENDS+= ${PYPKGPREFIX}-beautifulsoup4-[0-9]*:../../www/py-beautifulsoup4
TEST_DEPENDS+= ${PYPKGPREFIX}-coverage-[0-9]*:../../devel/py-coverage
TEST_DEPENDS+= ${PYPKGPREFIX}-html5lib-[0-9]*:../../textproc/py-html5lib
TEST_DEPENDS+= ${PYPKGPREFIX}-lxml-[0-9]*:../../textproc/py-lxml
TEST_DEPENDS+= ${PYPKGPREFIX}-mypy-[0-9]*:../../lang/py-mypy
TEST_DEPENDS+= ${PYPKGPREFIX}-test-[0-9]*:../../devel/py-test
TEST_DEPENDS+= ${PYPKGPREFIX}-test-cov-[0-9]*:../../devel/py-test-cov

USE_LANGUAGES= # none

.include "../../lang/python/egg.mk"
PYTHON_VERSIONS_INCOMPATIBLE= 27

do-test:
cd ${WRKSRC} && ${SETENV} ${TEST_ENV} pytest-${PYVERSSUFFIX} tests

.include "../../lang/python/wheel.mk"
.include "../../mk/bsd.pkg.mk"
23 changes: 11 additions & 12 deletions www/py-soupsieve/PLIST
Original file line number Diff line number Diff line change
@@ -1,24 +1,23 @@
@comment $NetBSD: PLIST,v 1.1 2019/01/02 10:34:20 adam Exp $
${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
${PYSITELIB}/${EGG_INFODIR}/requires.txt
${PYSITELIB}/${EGG_INFODIR}/top_level.txt
@comment $NetBSD: PLIST,v 1.2 2022/11/30 16:59:36 adam Exp $
${PYSITELIB}/${WHEEL_INFODIR}/INSTALLER
${PYSITELIB}/${WHEEL_INFODIR}/METADATA
${PYSITELIB}/${WHEEL_INFODIR}/RECORD
${PYSITELIB}/${WHEEL_INFODIR}/REQUESTED
${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
${PYSITELIB}/${WHEEL_INFODIR}/direct_url.json
${PYSITELIB}/${WHEEL_INFODIR}/licenses/LICENSE.md
${PYSITELIB}/soupsieve/__init__.py
${PYSITELIB}/soupsieve/__init__.pyc
${PYSITELIB}/soupsieve/__init__.pyo
${PYSITELIB}/soupsieve/__meta__.py
${PYSITELIB}/soupsieve/__meta__.pyc
${PYSITELIB}/soupsieve/__meta__.pyo
${PYSITELIB}/soupsieve/css_match.py
${PYSITELIB}/soupsieve/css_match.pyc
${PYSITELIB}/soupsieve/css_match.pyo
${PYSITELIB}/soupsieve/css_parser.py
${PYSITELIB}/soupsieve/css_parser.pyc
${PYSITELIB}/soupsieve/css_parser.pyo
${PYSITELIB}/soupsieve/css_types.py
${PYSITELIB}/soupsieve/css_types.pyc
${PYSITELIB}/soupsieve/css_types.pyo
${PYSITELIB}/soupsieve/pretty.py
${PYSITELIB}/soupsieve/pretty.pyc
${PYSITELIB}/soupsieve/py.typed
${PYSITELIB}/soupsieve/util.py
${PYSITELIB}/soupsieve/util.pyc
${PYSITELIB}/soupsieve/util.pyo
8 changes: 4 additions & 4 deletions www/py-soupsieve/distinfo
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
$NetBSD: distinfo,v 1.13 2021/10/26 11:30:48 nia Exp $
$NetBSD: distinfo,v 1.14 2022/11/30 16:59:36 adam Exp $

BLAKE2s (soupsieve-1.9.5.tar.gz) = ce538a09ef5eb46f1b83af097f18ffc46a542521ef6ab3c4e5947e92c33f35fd
SHA512 (soupsieve-1.9.5.tar.gz) = 2c1c41ca72793e4517769926520f162012c67fd7d4c26b56d11792818aeca100d034330d1348cb485d5ccee24b386ee6090b9c1f824ebf0697010fbfd7284f48
Size (soupsieve-1.9.5.tar.gz) = 98999 bytes
BLAKE2s (soupsieve-2.3.2.post1.tar.gz) = cd6503490d82bb2bcee0ec77ab07f08276c71ec910f590e753ae68c0a649db97
SHA512 (soupsieve-2.3.2.post1.tar.gz) = a4e6bb98e5f71fbb4f2dc99d5c04dd61adf3dca258ce273906a9d32516fbcbf959f430c96a415a45f361dd7709c71d8ef315a0597961373e681351874e74ff06
Size (soupsieve-2.3.2.post1.tar.gz) = 102814 bytes

0 comments on commit bccbee3

Please sign in to comment.