Subject: CVS commit: pkgsrc/textproc/py-cssutils
From: Guillaume Lasmayous
Date: 2012-05-05 17:20:07
Message id: 20120505152007.4701B175DD@cvs.netbsd.org

Log Message:
Update textproc/py-cssutils to 0.9.9.

Pkgsrc changes:
---------------

Deal with /usr/bin/env python

Upstream changes:
-----------------

0.9.9 final 120131
    - FEATURE: Implemented API for ``MarginRule`` objects inside \ 
``CSSPageRule``, see http://www.w3.org/TR/css3-page/. You can also use e.g. \ 
``CSSPageRule['@top-left']`` to retrieve the MarginRule it it is set etc. All \ 
dict like methods should be there. If a margin is set twice or more all \ 
properties are merged into a single margin rule. Double set properties are all \ 
kept though (see below).

    - FEATURE: ``parseStyle()`` has optional parameter ``validate=False`` now \ 
too to disable validation (default is always ``True``).

    - FEATURE: ``CSSStyleDeclaration.setProperty`` has new option \ 
``replace=True``. if True (DEFAULT) the given property will replace a present \ 
property. If False a new property will be added always. The difference to \ 
`normalize` is that two or more properties with the same name may be set, useful \ 
for e.g. stuff like::

            background: red;
            background: rgba(255, 0, 0, 0.5);

      which defines the same property but only capable UAs use the last property \ 
value, older ones use the first value.

    + CHANGE: @rules attribute ``atkeyword`` value is now normalized. The actual \ 
keyword (example ``@IMPorT``) is kept and is optionally reserialized but in the \ 
example ``atkeyword == '@import'``

    - BUGFIX: 'auto' is now an invalid CSSPageRule pagename.
    - BUGFIX: Fixed issue for GoogleAppEngine (GAE) which somehow handles codecs \ 
differently. ``parseUrl`` should work now.

0.9.8
-----
0.9.8 final 111210
    - FEATURE: Feature Request (#4) to be able to disable validation of a \ 
stylesheet has been implemented. Add Parameter ``validate=False`` for parsing.

    + BUGFIX: Fixed #5 Unicode escaping inside strings. Thanks to Simon Sapin
    + BUGFIX: The integer is optional in counter-reset and counter-increment, \ 
and not only on the first counter. Thanks to Simon Sapin
    + BUGFIX: Fix for unicode replacements by Denis Bilenko, thanks!  \ 
https://bitbucket.org/cthedot/cssutils/pull-request/1/fix-a-bug-in-regex-which-accidentally

    - IMPROVEMENT: ``parseStyle`` moved to CSSParser, thanks to Simon Sapin

0.9.8a3 110727
    + BUGFIX: Fixed validation of ``size`` property (thanks to Simon Sapin)
	+ BUGFIX: Fixed Issue #55 (thanks to Simon Sapin): `outline-color` property was \ 
missing from validation.
    + BUGFIX: Fixed resolution of encoding detection of a stylesheet which did \ 
not use @charset in certain circumstances (mainly when imported sheets use \ 
different encoding than importing one which should be quite rare actually).

    - FEATURE: Added ``URIValue.absoluteUri`` (thanks to Simon Sapin)
    - FEATURE: Issue #53 feature request: Added new Preference option \ 
``cssutils.ser.prefs.indentClosingBrace``. Defines if closing brace of block is \ 
indented to match indentation of the block (default) oder match indentation of \ 
selector.
    - FEATURE: Feature request: Added new Preference option \ 
``cssutils.ser.prefs.omitLeadingZero``. Defines if values between -1 and 1 \ 
should omit the 0, like ``.5px``. Minified settings do this, else 0 is kept by \ 
default.

    + CHANGE (minor): Some error messages have slightly changed due to a simpler \ 
compatibility to Python 3. Problem are any ``u'...'`` texts inside error \ 
messages which now are simplified, some without and quotes. Changed are e.g. \ 
error messages by ``Property``.

    - **IMPROVEMENT**: Python 3 support. At least the unittests run in Python \ 
2.5, 2.6, 2.7, 3.2 and Jython 2.5.1 now. Both encutils (with support by Fredrik \ 
Hedman, thanks!) and cssutils (thanks to Jaraco) and the CSS codec (thanks to \ 
Walter Dörwald) seem to work with Python 3 (tested on Python 3.2.1 Win64). \ 
Tests use Mock instead of MiniMock now as former is available for Python 2.x and \ 
3.x.

    - **IMPROVEMENT**: Parsing of longer (and probably invalid) ``font`` or \ 
``font-family`` values was *extremely* slow due to a very complex regex. This \ 
has been changed and parsing of specific stylesheets using these values should \ 
be much faster now. (``macros[Profiles.CSS_LEVEL_2]['font-family']`` is gone so \ 
if you used this in your own validation modules you need to check the source in \ 
`profiles.py`.)

    - IMPROVEMENT: Fixed Issue #54 (thanks to Simon Sapin): Short hand like \ 
`#f80` color value object have correct red, green and blue property values now. \ 
Also ``hsl()`` and ``hsla()`` colors report (almost) correct values (due to \ 
rounding problems).

    - **Source control has moved to bitbucket \ 
https://bitbucket.org/cthedot/cssutils**. Older Issues are currently still at \ 
Google Code, newer at Bitbucket. Please do not use Google Code for new issue \ 
reports anymore!

0.9.8a2 110611
    - BUGFIX: Fixed Issue #59 which showed a rather strange problem with longer \ 
space separated lists of font-family values being so slow to actually stop \ 
parsing.

    - BUGFIX/IMPROVEMENT: Fixed Issue #48. ``CSSParser.parseUrl()`` uses the \ 
defined fetcher of this parser *for the initial stylesheet* at url too and not \ 
just the imported sheets *from* this sheet.

    - BUGFIX: Fixed Issue #50 which prevented cssutils parsing the acid2.css \ 
file correctly. Problem were selectors starting directly with ``[class]`` (an \ 
attribute selector).

    + **API CHANGE (major)**
        (Known) named colors are parsed as ColorValue objects now. These are the \ 
16 simple colors (black, white, etc) and `transparent` but not all Extended \ 
color keywords yet. Also changed ``ColorValue.type`` to ``Value.COLOR_VALUE``. \ 
ColorValue has additional properties ``red, green, blue, alpha`` and \ 
``colorType`` which is one of IDENT, HASH or FUNCTION for now.

    + API CHANGE (minor)
        Removed already DEPRECATED ``cssutils.parse`` and ``CSSParser.parse``. \ 
Use the more specific functions/methods ``parseFile parseString parseUrl`` \ 
instead.

        Removed already DEPRECATED  ``cssutils.log.setlog`` and \ 
``.setloglevel``. Use ``.setLog`` and ``.setLevel`` instead.

        Removed already DEPRECATED  ``cssutils.ser.keepUnkownAtRules`` (note the \ 
typo). Use ``.keepUnknownAtRules`` instead.

    - IMPROVEMENT: Added validation profiles for some properties from `CSS \ 
Backgrounds and Borders Module Level 3 \ 
<http://www.w3.org/TR/css3-background/>`__, `CSS3 Basic User Interface \ 
Module <http://www.w3.org/TR/css3-ui/#resize>`__, `CSS Text Level 3 \ 
<http://www.w3.org/TR/css3-text/>`__
        mainly  `cursor`, `outline`, `resize`, `box-shadow`, `text-shadow`

0.9.8a1 101212
    + **API CHANGE (major)**
        replace CSSValue with PropertyValue, Value and other classes.

        NEW CLASSES:
            :class:`cssutils.css.PropertyValue`
                replaces CSSValue and CSSValueList

                - is iterable (iterates over all single Value objects which in \ 
soruce CSS might be separated by "," "/" or " "
                - a comma separated list of IDENT values is no longer handled as \ 
a single String (e.g. ``Arial, sans-serif``)

            :class:`cssutils.css.Value`
                replaces CSSPrimitiveValue with separate ``value`` and ``type`` \ 
info (value is typed, so e.g. string for e.g. STRING, IDENT or URI values, int \ 
or float) and is base class for more specific values like:

            :class:`cssutils.css.URIValue`
                replaces CSSPrimitiveValue, additional attribute ``uri``

            :class:`cssutils.css.DimensionValue`
                replaces CSSPrimitiveValue, additional attribute ``dimension``

            :class:`cssutils.css.ColorValue`
                replaces CSSPrimitiveValue, additional attribute ``red``, \ 
``green``, ``blue`` and ``alpha``

                **TODO: Not yet complete, only rgb, rgba, hsl, hsla and has \ 
values use this object and color and alpha information no done yet!**

            :class:`cssutils.css.CSSFunction`
                replaces CSSPrimitiveValue function, not complete yet

            also renamed ``ExpressionValue`` to :class:`cssutils.css.MSValue` \ 
with new API

    - IMPROVEMENT/CHANGE: Validation of color values is tighter now. Values like \ 
``hsl(1, 2, 3)`` do not validate as it must be ``hsl(1, 2%, 3%)``. This mostly \ 
effects HSL/A and RGB/A notation.

    - **IMPROVEMENT**: New Value parsing and API accelerate parsing of style \ 
declarations which take about 20-30% less time now. Of course this depends on \ 
the complexity of your styles.

    + BUGFIX: fixes issue #41, #42, #45, #46
        PropertyValue.value returns value without any comments now, else use \ 
PropertyValue.cssText

    - FEATURE: ``cssutils.replaceUrls()`` accepts as first argument a \ 
`cssutils.css.CSSStyleSheet` but now also a
        :class:`cssutils.css.CSSStyleDeclaration` object, so may be used like \ 
the following which is useful when you work with HTML style attributes::

                >>> style = cssutils.parseStyle("background-image: \ 
url(1.png), url('2.png')")
                >>> cssutils.replaceUrls(style, lambda url: 'prefix/'+url)
                >>> print style.cssText
                background-image: url(prefix/1.png), url(prefix/2.png)

        (I omitted the validation error message as more than one \ 
background-image is not yet defined in the cssutils validator but does parse \ 
through without problems)

    + CHANGE: explicit `+` of any dimension, percentage of number value is kept \ 
now instead of being stripped as if put explicitly in the author SHOULD have \ 
meant something ;)

Files:
RevisionActionfile
1.5modifypkgsrc/textproc/py-cssutils/Makefile
1.2modifypkgsrc/textproc/py-cssutils/PLIST
1.2modifypkgsrc/textproc/py-cssutils/distinfo