From b020987ad39ced39490e8b1009cd129828edbf7cd079ce3d1190e5c2e8babbca Mon Sep 17 00:00:00 2001 From: Hans-Peter Jansen Date: Sun, 17 Sep 2017 19:53:21 +0000 Subject: [PATCH] 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 --- Chameleon-2.22.tar.gz | 3 - Chameleon-3.1.tar.gz | 3 + python-Chameleon-doc.changes | 270 +++++++++++++++++++++++++++++++++++ python-Chameleon-doc.spec | 62 ++++++++ python-Chameleon.changes | 56 ++++++++ python-Chameleon.spec | 51 ++++--- 6 files changed, 419 insertions(+), 26 deletions(-) delete mode 100644 Chameleon-2.22.tar.gz create mode 100644 Chameleon-3.1.tar.gz create mode 100644 python-Chameleon-doc.changes create mode 100644 python-Chameleon-doc.spec diff --git a/Chameleon-2.22.tar.gz b/Chameleon-2.22.tar.gz deleted file mode 100644 index c9183f2..0000000 --- a/Chameleon-2.22.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6eef8c58d1c58b94f6502d4213c92b2037f5ab66386b3da5b117213faa0bf7f7 -size 201994 diff --git a/Chameleon-3.1.tar.gz b/Chameleon-3.1.tar.gz new file mode 100644 index 0000000..07d52af --- /dev/null +++ b/Chameleon-3.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:caa3b79eed61038582a7bbb35bc67d2085d3d2497a94f890228c2937d87dc167 +size 159846 diff --git a/python-Chameleon-doc.changes b/python-Chameleon-doc.changes new file mode 100644 index 0000000..743a58b --- /dev/null +++ b/python-Chameleon-doc.changes @@ -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] Don’t 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.4’s 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): + -
+ - 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 + 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 + diff --git a/python-Chameleon-doc.spec b/python-Chameleon-doc.spec new file mode 100644 index 0000000..8b9357e --- /dev/null +++ b/python-Chameleon-doc.spec @@ -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 diff --git a/python-Chameleon.changes b/python-Chameleon.changes index e9984a1..743a58b 100644 --- a/python-Chameleon.changes +++ b/python-Chameleon.changes @@ -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 & 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 diff --git a/python-Chameleon.spec b/python-Chameleon.spec index c93fa54..db5e46e 100644 --- a/python-Chameleon.spec +++ b/python-Chameleon.spec @@ -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