what is it
----------
A Python package to parse and build CSS Cascading Style Sheets. (Not a renderer though!)

about this release
------------------
0.9.6b3 adds a few features and fixes quite a few bugs.

main changes
------------
+ **FEATURE**: Added parsing support and new profile for details defined in module Fonts http://www.w3.org/TR/css3-fonts/

+ **FEATURE**: Added ``cssutils.parseStyle(cssText, encoding='utf-8')`` convienience function

+ **FEATURE** (experimental, request from issue #27): Added ``css.CSSStyleDeclaration.children()`` which is a generator yielding any known children of a declaration including *all* properties, comments or CSSUnknownRules.

+ FEATURE: ``CSSStyleDeclaration.insertRule`` also accepts a ``CSSRuleList`` now (same as ``CSSStyleSheet`` which does this for some time now).

+ FEATURE: Added ``CSSStyleDeclaration.keys()`` method which analoguous to standard dict returns property names which are set in the declaration.

- **API CHANGE**: Replaced attribute ``css.Property.parentStyle`` with ``css.Property.parent`` (``parentStyle`` is DEPRECATED now).

    + **BUGFIX**: Improved child and parent node referencing.

+ **BUGFIX**: Parsing of CSSValues with unknown function names with a specific length of 4 or 7 chars were resulting in a SyntaxErr. Also parsing of comma separated list of CSS FUNCTION values works now.

    + BUGFIX: Fixed validation problems:
- ``font-family: a b`` (values with spaces in names without being quoted) are parsed now without emitting an ERROR. These are indeed valid but discouraged and you should use quotes (more than one space is compacted to a single space anyway so rather complicated without quotes) - negative lengths for the ``font-size`` property are now properly reported as ERRORs

- IMPROVEMENT (minor): cssutils sets the HTTP header ``User-Agent`` now when fetching sheets over HTTP (with e.g. ``cssutils.parseUrl``).

- *FEATURE* (experimental): Added support to at least parse sheets with Microsoft only property values for ``filter`` which start with ``progid:DXImageTransform.Microsoft.[...](``. To enable these you need to set::

            >>> from cssutils import settings
            >>> settings.set('DXImageTransform.Microsoft', True)
            >>> cssutils.ser.prefs.useMinified()
>>> text = 'a {filter: progid:DXImageTransform.Microsoft.BasicImage( rotation = 90 )}'
            >>> print cssutils.parseString(text).cssText

a{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=90)}
            >>>

This currently is a **major hack** but if you like to minimize sheets in the wild which use this kind of CSS cssutils at least can parse and reserialize them.

license
-------
cssutils is published under the LGPL version 3 or later, see http://cthedot.de/cssutils/

If you have other licensing needs please let me know.

download
--------
For download options see http://cthedot.de/cssutils/

cssutils needs Python 2.4 or higher (tested with Python 2.6.2, 2.5.2, 2.4.4 and Jython 2.5 on Vista only)


Bug reports (via Google code), comments, etc are very much appreciated! Thanks.

Christof
--
http://mail.python.org/mailman/listinfo/python-announce-list

       Support the Python Software Foundation:
       http://www.python.org/psf/donations/

Reply via email to