Path to this page:
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: