15
0
Files
python-Chameleon/python3-Chameleon.spec
Marcel Gmür c5883c3f3d - update to 2.10
- Deprecations:
    - The fast_translate function has been deprecated. Instead, the default translation 
      function is now always a function that simply interpolates the mapping onto the message default or id.
    - The motivation is that since version 2.9, the context argument is non-trivial: the econtext 
      mapping is passed. This breaks an expectation on the Zope platform that the context parameter is the HTTP 
      request. Previously, with Chameleon this parameter was simply not provided and so that did not cause issues as such.
    - The ast24 module has been renamed to ast25. This should help clear up any confusion that 
      Chameleon 2.x might be support a Python interpreter less than version 2.5 (it does not).
  - Features:
    - The ProxyExpr expression class (and hence the load: expression type) is now a TALES-expression. 
      In practical terms, this means that the expression type (which computes a string result using the 
      standard "${...}" interpolation syntax and proxies the result through a function) now supports fallback using the pipe operator ("|"). This fixes issue #128.
    - An attempt to interpolate using the empty string as the expression (i.e. ${}) now does nothing: the string ${} is simply output as is.
    - Added support for adding, modifying, and removing attributes using a dictionary expression in tal:attributes (analogous to Genshi's py:attrs directive):
    - <div tal:attributes="name value; attrs" />
    - In the example above, name is an identifier, while value and attrs are Python expressions. However, 
      attrs must evaluate to a Python dictionary object (more concisely, the value must implement the dictionary API-methods update() and items()).
  - Optimizations:
    - In order to cut down on the size of the compiled function objects, some conversion and quoting statements 
      have been put into functions. In one measurement, the reduction was 35%. The benchmark suite does not report of an increased render time (actually slightly decreased).
  - Bugfixes:
    - An exception is now raised if a trivial string is passed for metal:fill-slot. This fixes issue #89.
    - An empty string is now never translated. Not really a bug, but it's been reported in as an issue (#92) because some translation frameworks handle this case incorrectly.
    - The template module loader (file cache) now correctly encodes generated template source code as UTF-8. This fixes issue #125.
    - Fixed issue where a closure might be reused unsafely in nested template rendering.
    - Fixed markup class __repr__ method. This fixes issue #124.
    - Added missing return statement to fix printing the non-abbreviated filename in case of an exception. [tomo]

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Chameleon?expand=0&rev=9
2012-10-21 16:27:13 +00:00

75 lines
2.7 KiB
RPMSpec

#
# spec file for package python3-Chameleon
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: python3-Chameleon
Version: 2.10
Release: 0
Url: http://www.pagetemplates.org/
Summary: Fast HTML/XML Template Compiler
License: BSD-3-Clause and BSD-4-Clause and Python-2.0 and ZPL-2.1
Group: Development/Languages/Python
Source: http://pypi.python.org/packages/source/C/Chameleon/Chameleon-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: python3-devel
BuildRequires: python3-Sphinx
BuildRequires: python3-distribute
# seems like Camelon needs pkg_resources on runtime
# it invalidates its template cache based on your combined package versions
Requires: python3-distribute
%if 0%{?suse_version} <= 1140
%{!?python3_sitelib: %global python3_sitelib %(python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%{!?py3_ver: %global py3_ver %(python3 -c "import sys; version=str(sys.version_info[0]) + '.' + str(sys.version_info[1]); print(version)" 2>/dev/null || echo PYTHON-NOT-FOUND)}
%else
BuildRequires: python3-base
%endif
Requires: python(abi) = %{py3_ver}
BuildArch: noarch
%description
Chameleon is an HTML/XML template engine for Python. It uses the
*page templates* language.
You can use it in any Python web application with just about any
version of Python (2.5 and up, including 3.x and pypy).
%prep
%setup -q -n Chameleon-%{version}
%build
python3 setup.py build
sed -i 's/sphinx-build/sphinx-build-python%{py3_ver}/g' Makefile
PYTHONPATH=`pwd`/src make html && rm -rf _build/html/.buildinfo # Build HTML documentation
%install
python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}
rm -rf %{buildroot}%{python3_sitelib}/chameleon/tests # Don't ship testsuite
%check
python3 setup.py test
%files
%defattr(-,root,root,-)
%doc COPYRIGHT.txt LICENSE.txt README.rst _build/html
%{python3_sitelib}/chameleon/
%{python3_sitelib}/Chameleon-%{version}-py%{py3_ver}.egg-info
%if 0%{?suse_version} <= 1140
%dir %{_prefix}/lib/python%{py3_ver}
%endif
%changelog