15
0

Accepting request 526690 from home:bruno_friedmann:branches:devel:languages:python

- Packaging : 
  + Move to singlespec
  + Spec-cleanup
  + Split documentation to speedup rebuild
 
- Update to version 3.1

OBS-URL: https://build.opensuse.org/request/show/526690
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Chameleon?expand=0&rev=20
This commit is contained in:
2017-09-17 19:53:21 +00:00
committed by Git OBS Bridge
parent 0b4ae7e1c3
commit b020987ad3
6 changed files with 419 additions and 26 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6eef8c58d1c58b94f6502d4213c92b2037f5ab66386b3da5b117213faa0bf7f7
size 201994

3
Chameleon-3.1.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:caa3b79eed61038582a7bbb35bc67d2085d3d2497a94f890228c2937d87dc167
size 159846

View File

@@ -0,0 +1,270 @@
-------------------------------------------------------------------
Sat Sep 16 19:43:24 UTC 2017 - bruno@ioda-net.ch
- Update to version 3.1
+ Features:
Add option restricted_namespace which controls whether to
restrict namespaces to those defined and used by the page
template language. [hansroh]
+ Bugs:
Fixed attribute HTML entity escaping issue where an entity such
as & would be encoded twice.
+ Optimizations:
Simplify exception tracking, reducing bytecode size
significantly.
Avoid checking if a static string is None during expression
interpolation.
3.0 (2016-12-07)
+ Bugs:
Fix issue on Python 2 where an exception was not cleared when
using the pipe operator and was thus accessible through
sys.exc_info().
The “exists” expression no longer leaks error information.
Escape $$ into $ in both content and string expressions.
Fix use of macro definition inside translation block.
+ Improvements:
Allow unquoted attribute values.
Wrap attribute error thrown when trying to use a non-macro as
a macro as a RenderError to get proper error output.
Throw a parse error if (double hyphen) appears in an
XML comment.
The i18n:target attribute now overrides a default target_language
variable and is passed to the translation function.
Include filename in the on-disk cache module name. Previously,
only the SHA digest in hex representation would be used, making
it difficult to see where the module came from. This fixes
issue #132.
Add support for non-ascii attribute names. [sank]
+ Compatibility:
Drop support for Python 2.6, 3.1, and 3.2.
2.25 (2016-09-24)
Add explicit support / testing for Python 3.5.
Add \r to negative regex matches to the chameleon parser, where
\n is used but \r was missing. Fixes a case, where the tag name
was parsed into html\r instead of html.
Fixes: https://github.com/malthe/chameleon/issues/219
2.24 (2015-10-28)
Fixed Python 3.5 compatibility.
Fixed brown bag release.
2.23 (2015-10-26)
Added enable_data_attributes option that allows using HTML5 data attributes as control attributes instead or in addition to XML namespace attributes.
- Packaging :
+ Move to singlespec
+ Spec-cleanup
+ Split documentation to speedup rebuild
-------------------------------------------------------------------
Fri Feb 6 17:07:27 UTC 2015 - hpj@urpla.net
- Update to version 2.22
+ Changes from 2.22 (2015-02-06)
Fix brown bag release.
+ Changes from 2.21 (2015-02-06)
Added RenderError exception which indicates that an error occurred during
the evaluation of an expression. Clean up TemplateError exception
implementation.
+ Changes from 2.20 (2015-01-12)
Pass search_path to template class when loaded using TemplateLoader (or one
of the derived classes). [faassen]
+ Changes from 2.19 (2015-01-06)
Fix logging deprecation. Fix environment-based configuration logging
error.
+ Changes from 2.18 (2014-11-03)
Fix minor compilation error.
+ Changes from 2.17 (2014-11-03)
Add support for i18n:context. [wiggy] Add missing parity repeat property.
[voxspox] Dont modify environment when getting variables from it. [fschulze]
+ Changes from 2.16 (2014-05-06)
If a repeat expression evaluates to None then it is now equivalent to an
empty set.
This changes a behavior introduced in 2.14.
This fixes issue #172.
Remove fossil test dependency on deprecated distribute.
Add explicit support / testing for Python 3.3 / 3.4.
Drop explicit support for Python 2.5 (out of maintenance, and no longer
supported by tox or Travis-CI).
+ Changes from 2.15 (2014-03-11)
Add Support for Python 3.4s NameConstant. [brakhane]
-------------------------------------------------------------------
Tue Dec 10 11:44:10 UTC 2013 - p.drouand@gmail.com
- Update to version 2.14
+ Element repetition using the TAL namespace no longer includes
whitespace. This fixes issue #110.
+ Use absolute import for chameleon.interfaces module. This fixes
issue #161.
- Changes from 2.13-1
+ Fixing brown bag release.
- Changes from 2.13
+ The template cache mechanism now includes additional configuration
settings as part of the cache key such as strict and trim_attribute_space.
+ Fix cache issue where sometimes cached templates would not load correctly
+ In debug-mode, correctly remove temporary files when the module loader
is garbage-collected (on __del__).
+ Fix error message when duplicate i18n:name directives are used
in a translation.
+ Using the three-argument form of getattr on a chameleon.tal.RepeatDict
no longer raises KeyError, letting the default provided to getattr be
used. This fixes attempting to adapt a RepeatDict to a Zope interface
under PyPy.
- Changes from 2.12
+ When a tal:case condition succeeds, no other case now will.
+ Implicit translation now correctly extracts and normalizes complete
sentences, instead of words
+ The default symbol in a tal:case condition now allows the element
only if no other case succeeds.
-------------------------------------------------------------------
Thu Oct 24 11:00:00 UTC 2013 - speilicke@suse.com
- Require python-setuptools instead of distribute (upstreams merged)
-------------------------------------------------------------------
Wed Jul 31 09:32:53 UTC 2013 - hpj@urpla.net
- add python-ordereddict and python-unittest2 to 11.1 deps
-------------------------------------------------------------------
Thu Nov 22 09:39:27 UTC 2012 - toddrme2178@gmail.com
- Update to 2.11
- Bugfixes:
- An issue was resolved where a METAL statement was combined
with a ``tal:on-error`` handler.
- Fix minor parser issue with incorrectly formatted processing
instructions.
- Provide proper error handling for Python inline code blocks.
- Features:
- The simple translation function now supports the
``translationstring`` interface.
- Optimizations:
- Minor optimization which correctly detects when an element
has no attributes.
-------------------------------------------------------------------
Sun Oct 21 16:22:03 UTC 2012 - suse@ammler.ch
- 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]
-------------------------------------------------------------------
Thu Jun 7 10:14:49 UTC 2012 - suse@ammler.ch
- update to 2.9.2
- Fixed a PyPy incompatibility.
- Fixed issue #109 which caused testing failures on some platforms.
- changes in 2.9.1
- Fixed issue #103. The tal:on-error statement now always adds an explicit
end-tag to the element, even with a substitution content of nothing.
- Fixed issue #113. The tal:on-error statement now works correctly also for
dynamic attributes. That is, the fallback tag now includes only static attributes.
- Fixed name error which prevented the benchmark from running correctly.
- Compatibility: Fixed deprecation warning on Python 3 for zope interface implements declaration. This fixes issue #116.
- changes in 2.9.0
- Feature: The translation function now gets the econtext argument as the
value for context. Note that historically, this was usually an HTTP request
which might provide language negotiation data through a dictionary interface. [alvinyue]
- Fixed import alias issue which would lead to a syntax error in generated Python code. Fixes issue #114.
- changes in 2.8.5
- Fixed minor installation issues on Python 2.5 and 3. [ppaez]
- Ensure output is unicode even when trivial (an empty string).
- changes in 2.8.4
- Feature: In exception output, long filenames are now truncated to 60 characters
of output, preventing line wrap which makes it difficult to scan the exception output.
- Bugfix: Include filename and location in exception output for exceptions raised during compilation.
- Bugfix: If a trivial translation substitution variable is given
(i.e. an empty string), simply ignore it. This fixes issue #106.
-------------------------------------------------------------------
Sun May 27 04:05:18 UTC 2012 - highwaystar.ru@gmail.com
- python3 package added
- removed cercular Chameleon BuildRequires, use PYTHONPATH instead
- minor file section improvement
-------------------------------------------------------------------
Thu Apr 19 10:38:41 UTC 2012 - suse@ammler.ch
- add Chameleon as BuildRequires to build the docs
-------------------------------------------------------------------
Mon Apr 16 10:32:33 UTC 2012 - suse@ammler.ch
- update to 2.8.3
- Feature: Log template source on debug-level before cooking.
- Feature: The target_language argument, if given, is now available as a variable in templates.
-------------------------------------------------------------------
Sat Mar 31 08:58:26 UTC 2012 - suse@ammler.ch
- update to 2.8.2
- Feature: Temporary caches used in debug mode are cleaned up
eagerly, rather than waiting for process termination.
- Fix: The index, start and end methods on the TAL repeat object
are now callable. This fixes an incompatibility with ZPT.
- Fix: The loader now correctly handles absolute paths on Windows.
-------------------------------------------------------------------
Fri Mar 30 11:37:12 UTC 2012 - suse@ammler.ch
- update to 2.8.1
- Feature: The exception formatter now lists errors in 'wrapping order'.
This means that the innermost, and presumably most relevant exception is shown last.
- Fix: The exception formatter now correctly recognizes nested errors
and does not rewrap the dynamically generated exception class.
- Fix: The exception formatter now correctly sets the __module__
attribute to that of the original exception class.
-------------------------------------------------------------------
Thu Mar 8 13:13:04 UTC 2012 - saschpe@suse.de
- Run but don't install testsuite
- Try to clarify licensing situation
- Build HTML documentation and ship it
- Buildrequire python-distribute instead of setuptools
-------------------------------------------------------------------
Wed Mar 7 20:30:40 UTC 2012 - suse@ammler.ch
- update to 2.8.0
- Feature: support for code blocks using the <?python ... ?>
processing instruction syntax.
- Fix: Fall back to the exception class' __new__ method to safely
create an exception object that is not implemented in Python.
- Fix: The exception formatter now keeps track of already
formatted exceptions, and ignores them from further output.
- add setuptools as requires
-------------------------------------------------------------------
Sun Jan 29 00:17:22 UTC 2012 - suse@ammler.ch
- initial package version 2.7.3

62
python-Chameleon-doc.spec Normal file
View File

@@ -0,0 +1,62 @@
#
# spec file for package python-Chameleon-doc
#
# Copyright (c) 2017 SUSE LINUX 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/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-Chameleon-doc
Version: 3.1
Release: 0
Url: http://www.pagetemplates.org/
Summary: Documentation for python-Chameleon
License: BSD-3-Clause and BSD-4-Clause and Python-2.0 and ZPL-2.1
Group: Documentation/HTML
Source: https://files.pythonhosted.org/packages/source/C/Chameleon/Chameleon-%{version}.tar.gz
BuildRequires: %{python_module Sphinx}
BuildRequires: %{python_module setuptools}
BuildRequires: python-rpm-macros
# seems like Chamelon needs pkg_resources on runtime
# it invalidates its template cache based on your combined package versions
Recommends: python-Chameleon = %{version}
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%python_subpackages
%description
Document for python-Chameleon the HTML/XML template engine for Python.
%prep
%setup -q -n Chameleon-%{version}
%build
#not used
%install
%python_exec setup.py build_sphinx
%python_expand rm build/sphinx/html/.buildinfo
%python_expand sed -i 's#\r##g' build/sphinx/html/objects.inv
%files %python_files
%defattr(-,root,root,-)
%if 0%{?leap_version} >= 420200 || 0%{?suse_version} > 1320
%license LICENSE.txt
%else
%doc LICENSE.txt
%endif
%doc COPYRIGHT.txt README.rst build/sphinx/html
%changelog

View File

@@ -1,3 +1,59 @@
-------------------------------------------------------------------
Sat Sep 16 19:43:24 UTC 2017 - bruno@ioda-net.ch
- Update to version 3.1
+ Features:
Add option restricted_namespace which controls whether to
restrict namespaces to those defined and used by the page
template language. [hansroh]
+ Bugs:
Fixed attribute HTML entity escaping issue where an entity such
as &amp; would be encoded twice.
+ Optimizations:
Simplify exception tracking, reducing bytecode size
significantly.
Avoid checking if a static string is None during expression
interpolation.
3.0 (2016-12-07)
+ Bugs:
Fix issue on Python 2 where an exception was not cleared when
using the pipe operator and was thus accessible through
sys.exc_info().
The “exists” expression no longer leaks error information.
Escape $$ into $ in both content and string expressions.
Fix use of macro definition inside translation block.
+ Improvements:
Allow unquoted attribute values.
Wrap attribute error thrown when trying to use a non-macro as
a macro as a RenderError to get proper error output.
Throw a parse error if (double hyphen) appears in an
XML comment.
The i18n:target attribute now overrides a default target_language
variable and is passed to the translation function.
Include filename in the on-disk cache module name. Previously,
only the SHA digest in hex representation would be used, making
it difficult to see where the module came from. This fixes
issue #132.
Add support for non-ascii attribute names. [sank]
+ Compatibility:
Drop support for Python 2.6, 3.1, and 3.2.
2.25 (2016-09-24)
Add explicit support / testing for Python 3.5.
Add \r to negative regex matches to the chameleon parser, where
\n is used but \r was missing. Fixes a case, where the tag name
was parsed into html\r instead of html.
Fixes: https://github.com/malthe/chameleon/issues/219
2.24 (2015-10-28)
Fixed Python 3.5 compatibility.
Fixed brown bag release.
2.23 (2015-10-26)
Added enable_data_attributes option that allows using HTML5 data attributes as control attributes instead or in addition to XML namespace attributes.
- Packaging :
+ Move to singlespec
+ Spec-cleanup
+ Split documentation to speedup rebuild
-------------------------------------------------------------------
Fri Feb 6 17:07:27 UTC 2015 - hpj@urpla.net

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-Chameleon
#
# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,28 +16,27 @@
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-Chameleon
Version: 2.22
Version: 3.1
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: python-Sphinx
BuildRequires: python-devel
BuildRequires: python-setuptools
Source: https://files.pythonhosted.org/packages/source/C/Chameleon/Chameleon-%{version}.tar.gz
BuildRequires: %{python_module Sphinx}
BuildRequires: %{python_module devel}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
# seems like Chamelon needs pkg_resources on runtime
# it invalidates its template cache based on your combined package versions
Requires: python-setuptools
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
BuildRequires: python-ordereddict
BuildRequires: python-unittest2
%else
BuildArch: noarch
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%python_subpackages
%description
Chameleon is an HTML/XML template engine for Python. It uses the
@@ -50,22 +49,28 @@ version of Python (2.5 and up, including 3.x and pypy).
%setup -q -n Chameleon-%{version}
%build
python setup.py build
# Build HTML documentation
PYTHONPATH=`pwd`/src make html && rm -rf _build/html/.buildinfo
%python_build
%python_exec setup.py build_sphinx && rm build/sphinx/html/.buildinfo
%install
python setup.py install --prefix=%{_prefix} --root=%{buildroot}
%python_install
# Don't ship testsuite
rm -rf %{buildroot}%{python_sitelib}/chameleon/tests
%python_expand rm -rvf %{buildroot}%{python_sitelib}/chameleon/tests
%python_expand %fdupes -s %{buildroot}%{$python_sitelib}
%check
python setup.py test
%python_exec setup.py test
# Delete again any output produced here
%python_expand rm -rvf %{buildroot}%{python_sitelib}/chameleon/tests
%files
%files %python_files
%defattr(-,root,root,-)
%doc COPYRIGHT.txt LICENSE.txt README.rst _build/html
%{python_sitelib}/chameleon/
%{python_sitelib}/Chameleon-%{version}-py%{py_ver}.egg-info
%if 0%{?leap_version} >= 420200 || 0%{?suse_version} > 1320
%license LICENSE.txt
%else
%doc LICENSE.txt
%endif
%doc COPYRIGHT.txt README.rst
%{python_sitelib}/*
%changelog