15
0

Accepting request 682406 from devel:languages:python

- Fix macro expansion

- Update to version 3.6:
  * Exclude RuntimeError (or RecursionError when available) from exception wrapping.
  * Fix double dollar '$$' escaping such that a double dollar is always resolved, either as an interpolation expression, or as an escape where it is substituted by a single dollar symbol. This is now consistent with Zope's handling of this character.
  * Drop support for Python 3.3.
  * Add support for Python 3.8.
  * Add support for TAL attributes in an XML declaration tag. This fixes issue #269.
  * Add support for custom exception handling for the tal:on-error statement. There is now an option on_error_handler available as a template configuration (issue #266).
  * Fix issue where double '$$' escaping would affect non-interpolation expressions such as the bare '$$' (issue #265).
  * Fix an issue where backslash dollar escaping would leave the backslash character still in place.
  * Fix regression with translations in case of multiple nodes.
  * Reset error token when rendering internal macro calls.
  * Fix edge case in exception handler causing recursion. [MatthewWilkes]
  * Add the automatic variable macroname that's bound to the name of the executing macro. Fixes https://github.com/malthe/chameleon/issues/238
  * A tokenizer can now be configured on the template class. This is useful in the case where the template file input is modified before parsing (for example, where some tags are stripped away) such that token positions need to be offset accordingly for error locations to be rendered correctly.
  * Expression errors now display source marker (previously only filename, line and column was shown).
  * No longer require Python source files to import modules. [mrh1997]

- Drop the doc subpackage, not really needed
- Format with spec-cleaner and reduce some of the conditionals
- Update url

OBS-URL: https://build.opensuse.org/request/show/682406
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Chameleon?expand=0&rev=6
This commit is contained in:
2019-03-22 14:01:27 +00:00
committed by Git OBS Bridge
7 changed files with 232 additions and 356 deletions

View File

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

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

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

185
LICENSE.txt Normal file
View File

@@ -0,0 +1,185 @@
The majority of the code in Chameleon is supplied under this license:
A copyright notice accompanies this license document that identifies
the copyright holders.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions in source code must retain the accompanying
copyright notice, this list of conditions, and the following
disclaimer.
2. Redistributions in binary form must reproduce the accompanying
copyright notice, this list of conditions, and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
3. Names of the copyright holders must not be used to endorse or
promote products derived from this software without prior
written permission from the copyright holders.
4. If any files are modified, you must cause the modified files to
carry prominent notices stating that you changed the files and
the date of any change.
Disclaimer
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND
ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
Portions of the code in Chameleon are supplied under the ZPL (headers
within individiual files indicate that these portions are licensed
under the ZPL):
Zope Public License (ZPL) Version 2.1
-------------------------------------
A copyright notice accompanies this license document that
identifies the copyright holders.
This license has been certified as open source. It has also
been designated as GPL compatible by the Free Software
Foundation (FSF).
Redistribution and use in source and binary forms, with or
without modification, are permitted provided that the
following conditions are met:
1. Redistributions in source code must retain the
accompanying copyright notice, this list of conditions,
and the following disclaimer.
2. Redistributions in binary form must reproduce the accompanying
copyright notice, this list of conditions, and the
following disclaimer in the documentation and/or other
materials provided with the distribution.
3. Names of the copyright holders must not be used to
endorse or promote products derived from this software
without prior written permission from the copyright
holders.
4. The right to distribute this software or to use it for
any purpose does not give you the right to use
Servicemarks (sm) or Trademarks (tm) of the copyright
holders. Use of them is covered by separate agreement
with the copyright holders.
5. If any files are modified, you must cause the modified
files to carry prominent notices stating that you changed
the files and the date of any change.
Disclaimer
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS''
AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
NO EVENT SHALL THE COPYRIGHT HOLDERS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
Portions of the code in Chameleon are supplied under the BSD license
(headers within individiual files indicate that these portions are
licensed under this license):
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. The name of the author may not be used to endorse or promote
products derived from this software without specific prior
written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Portions of the code in Chameleon are supplied under the Python
License (headers within individiual files indicate that these portions
are licensed under this license):
PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
--------------------------------------------
1. This LICENSE AGREEMENT is between the Python Software Foundation
("PSF"), and the Individual or Organization ("Licensee") accessing and
otherwise using this software ("Python") in source or binary form and
its associated documentation.
2. Subject to the terms and conditions of this License Agreement, PSF
hereby grants Licensee a nonexclusive, royalty-free, world-wide
license to reproduce, analyze, test, perform and/or display publicly,
prepare derivative works, distribute, and otherwise use Python
alone or in any derivative version, provided, however, that PSF's
License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
2001, 2002, 2003, 2004 Python Software Foundation; All Rights Reserved"
are retained in Python alone or in any derivative version prepared
by Licensee.
3. In the event Licensee prepares a derivative work that is based on
or incorporates Python or any part thereof, and wants to make
the derivative work available to others as provided herein, then
Licensee hereby agrees to include in any such work a brief summary of
the changes made to Python.
4. PSF is making Python available to Licensee on an "AS IS"
basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
INFRINGE ANY THIRD PARTY RIGHTS.
5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
6. This License Agreement will automatically terminate upon a material
breach of its terms and conditions.
7. Nothing in this License Agreement shall be deemed to create any
relationship of agency, partnership, or joint venture between PSF and
Licensee. This License Agreement does not grant permission to use PSF
trademarks or trade name in a trademark sense to endorse or promote
products or services of Licensee, or any third party.
8. By copying, installing or otherwise using Python, Licensee
agrees to be bound by the terms and conditions of this License
Agreement.

View File

@@ -1,270 +0,0 @@
-------------------------------------------------------------------
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

View File

@@ -1,62 +0,0 @@
#
# spec file for package python-Chameleon-doc
#
# Copyright (c) 2018 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 https://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,35 @@
-------------------------------------------------------------------
Thu Mar 7 11:10:27 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Fix macro expansion
-------------------------------------------------------------------
Tue Mar 5 12:11:42 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Update to version 3.6:
* Exclude RuntimeError (or RecursionError when available) from exception wrapping.
* Fix double dollar '$$' escaping such that a double dollar is always resolved, either as an interpolation expression, or as an escape where it is substituted by a single dollar symbol. This is now consistent with Zope's handling of this character.
* Drop support for Python 3.3.
* Add support for Python 3.8.
* Add support for TAL attributes in an XML declaration tag. This fixes issue #269.
* Add support for custom exception handling for the tal:on-error statement. There is now an option on_error_handler available as a template configuration (issue #266).
* Fix issue where double '$$' escaping would affect non-interpolation expressions such as the bare '$$' (issue #265).
* Fix an issue where backslash dollar escaping would leave the backslash character still in place.
* Fix regression with translations in case of multiple nodes.
* Reset error token when rendering internal macro calls.
* Fix edge case in exception handler causing recursion. [MatthewWilkes]
* Add the automatic variable macroname that's bound to the name of the executing macro. Fixes https://github.com/malthe/chameleon/issues/238
* A tokenizer can now be configured on the template class. This is useful in the case where the template file input is modified before parsing (for example, where some tags are stripped away) such that token positions need to be offset accordingly for error locations to be rendered correctly.
* Expression errors now display source marker (previously only filename, line and column was shown).
* No longer require Python source files to import modules. [mrh1997]
-------------------------------------------------------------------
Tue Mar 5 12:05:33 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Drop the doc subpackage, not really needed
- Format with spec-cleaner and reduce some of the conditionals
- Update url
-------------------------------------------------------------------
Tue Dec 4 13:07:50 UTC 2018 - Matej Cepl <mcepl@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-Chameleon
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2019 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
@@ -18,27 +18,24 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-Chameleon
Version: 3.1
Version: 3.6
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
URL: https://github.com/malthe/chameleon
Source: https://files.pythonhosted.org/packages/source/C/Chameleon/Chameleon-%{version}.tar.gz
BuildRequires: %{python_module Sphinx}
# https://github.com/malthe/chameleon/pull/288
Source1: https://raw.githubusercontent.com/malthe/chameleon/master/LICENSE.txt
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
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%python_subpackages
%description
Chameleon is an HTML/XML template engine for Python. It uses the
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
@@ -46,30 +43,24 @@ version of Python (2.5 and up, including 3.x and pypy).
%prep
%setup -q -n Chameleon-%{version}
cp %{SOURCE1} .
%build
%python_build
%python_exec setup.py build_sphinx && rm build/sphinx/html/.buildinfo
%install
%python_install
# Don't ship testsuite
%python_expand rm -rvf %{buildroot}%{python_sitelib}/chameleon/tests
%python_expand %fdupes -s %{buildroot}%{$python_sitelib}
%python_expand rm -rvf %{buildroot}%{$python_sitelib}/chameleon/tests
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
export PYTHONDONTWRITEBYTECODE=1
%python_exec setup.py test
# Delete again any output produced here
%python_expand rm -rvf %{buildroot}%{python_sitelib}/chameleon/tests
%files %python_files
%defattr(-,root,root,-)
%if 0%{?leap_version} >= 420200 || 0%{?suse_version} > 1320
%files %{python_files}
%license LICENSE.txt
%else
%doc LICENSE.txt
%endif
%doc COPYRIGHT.txt README.rst
%doc README.rst
%{python_sitelib}/*
%changelog