pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/textproc/py-cssutils



Module Name:    pkgsrc
Committed By:   gls
Date:           Sat May  5 15:20:07 UTC 2012

Modified Files:
        pkgsrc/textproc/py-cssutils: Makefile PLIST distinfo

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 ;)


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 pkgsrc/textproc/py-cssutils/Makefile
cvs rdiff -u -r1.1.1.1 -r1.2 pkgsrc/textproc/py-cssutils/PLIST \
    pkgsrc/textproc/py-cssutils/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index