Cssselect

Latest version: v1.2.0

Safety actively analyzes 630254 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 4

0.6.1

-------------

Released on 2012-04-25.

Make sure that internal token objects do not "leak" into the public API and
:attr:`Selector.pseudo_element` is an unicode string.

0.6

-----------

Released on 2012-04-24.

* In ``setup.py`` use setuptools/distribute if available, but fall back
on distutils.
* Implement the ``:lang()`` pseudo-class, although it is only based on
``xml:lang`` or ``lang`` attributes. If the document language is known from
some other meta-data (like a ``Content-Language`` HTTP header or ``<meta>``
element), a workaround is to set a lang attribute on the root element.

0.5

-----------

Released on 2012-04-20.

* Fix case sensitivity issues.
* Implement :class:`HTMLTranslator` based on the `HTML5 specification`_
rather than guessing; add the ``xhtml`` parameter.
* Several bug fixes and better test coverage.

.. _HTML5 specification: http://www.w3.org/TR/html5/links.html#selectors

0.4

-----------

Released on 2012-04-18.

* Add proper support for pseudo-elements
* Add specificity calculation
* Expose the :func:`parse` function and the parsed :class:`Selector` objects
in the API.
* Add the :meth:`~GenericTranslator.selector_to_xpath` method.

0.3

-----------

Released on 2012-04-17.

* Fix many parsing bugs.
* Rename the ``Translator`` class to :class:`GenericTranslator`
* There, implement ``:target``, ``:hover``, ``:focus``, ``:active``
``:checked``, ``:enabled``, ``:disabled``, ``:link`` and ``:visited``
as never matching.
* Make a new HTML-specific ``HTMLTranslator`` subclass. There, implement
``:checked``, ``:enabled``, ``:disabled``, ``:link`` and ``:visited``
as appropriate for HTML, with all links "not visited".
* Remove the ``css_to_xpath`` function. The translator classes
are the new API.
* Add support for ``:contains()`` back, but case-sensitive. lxml will
override it to be case-insensitive for backward-compatibility.

Discussion is open if anyone is interested in implementing eg. ``:target``
or ``:visited`` differently, but they can always do it in a ``Translator``
subclass.

0.2

-----------

Released on 2012-04-16.

* Remove the ``CSSSelector`` class. (The ``css_to_xpath()`` function is now
the main API.)
* Remove support for the ``:contains()`` pseudo-class.

These changes allow cssselect to be used without lxml. (Hey, this was
the whole point of this project.) The tests still require lxml, though.
The removed parts are expected to stay in lxml for backward-compatibility.

``:contains()`` only existed in an `early draft
<http://www.w3.org/TR/2001/CR-css3-selectors-20011113/#content-selectors>`_
of the Selectors specification, and was removed before Level 3 stabilized.
Internally, it used a custom XPath extension function which can be
difficult to express outside of lxml.


* Separate the XPath translation from the parsed objects into a new
``Translator`` class.

Subclasses of ``Translator`` can be made to change the way that some selector
(eg. a pseudo-class) is implemented.

Page 3 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.