Metadata-Version: 1.0
Name: Chameleon
Version: 1.2.13
Summary: XML-based template compiler.
Home-page: http://chameleon.repoze.org
Author: Malthe Borch and the Repoze Community
Author-email: repoze-dev@lists.repoze.org
License: BSD-like (http://repoze.org/license.html)
Description: Overview
        --------
        
        Chameleon compiles templates to Python byte-code. It includes a
        complete implementation of the Zope Page Templates (ZPT) language
        and a partial implementation of the Genshi language.
        
        The engine itself performs 10-15 times better than the reference
        implementation and real-world benchmarks show an overall performance
        improvement in complex applications of 30-50%.
        
        Compatibility
        -------------
        
        Works on Python 2.4, 2.5 and 2.6, including Google App Engine.
        
        Development
        -----------
        
        The code is maintained in a subversion repository::
        
          http://svn.repoze.org/chameleon/trunk
        
        If you want to contribute or need support, join #repoze on freenode
        irc or write the `mailinglist <mailto:repoze-dev@lists.repoze.org>`_.
        
        Changes
        =======
        
        1.2.13 (released 2010-09-23)
        ----------------------------
        
        - Fixed issue where a repeat variable's entry in the ``repeat`` symbol
          would not get carried over with a macro slot (LP #644712; reported
          by Joshua LaPlace).
        
        - Added support for ``attrs`` (read-only dictionary which contains
          static attributes).
        
        - Fixed issue where the temporary template cache which is set up to
          aid debugging would not get purged automatically.
        
        1.2.12 (released 2010-09-09)
        ----------------------------
        
        - Parser is now able to parse documents which contain non-structured
          fragments.
        
        - Compiler now reports an error if an expression type is unknown.
        
        - Edge-case issue where an expression result was actually not a
          dynamic value, but a static string (e.g. ``string: Hello``).
        
        1.2.11 (released 2010-09-07)
        ----------------------------
        
        - Avoid escaping already computed content from named regions inside a
          translation block.
        
        - Always generate dynamic message ids dynamically when unnamed
          elements are present.
        
        - Fixed an issue where the presence of an unnamed elements inside an
          anonymous translation block would result in an error when
          translation failed.
        
        - Put a lock around compilation. This should guarantee stability (some
          reports suggest that there's code in the compilation loop which is
          not thread-safe) without a drop in performance (GIL is there, in
          spite all).
        
        1.2.10 (released 2010-07-15)
        ----------------------------
        
        - Fixed an issue where it was not possible to extend a macro by
          providing the template instance.
        
        1.2.9 (released 2010-07-09)
        ---------------------------
        
        - When using unnamed elements in a translation clause, use the element
          visit function to generate output, rather than static serialization.
        
        - Fix handling of i18n:attributes in Babel template extractor.
        
        
        1.2.8 (released 2010-07-08)
        ---------------------------
        
        - Make the implementation used for XIncludes minimally hookable by
          causing ``chameleon.core.template.TemplateFile`` to use symbolic
          ``self.xincludes_class`` constructor instead of the
          ``chameleon.core.template.XIncludes`` class directly.
        
        
        1.2.7 (released 2010-07-08)
        ---------------------------
        
        - Update Babel extractor for python to check source file encoding. This
          fixes problems with non-ASCII strings.
        
        
        1.2.6 (released 2010-06-21)
        ---------------------------
        
        - Resolve real path before checking the XInclude registry. This fixes
          cache misses when using relative paths.
        
        
        1.2.5 (released 2010-06-21)
        ---------------------------
        
        - Use a blacklist to filter python builtins available in expressions. This
          fixes the disappearance of many common builtins in the previous release.
        
        
        1.2.4 (released 2010-06-21)
        ---------------------------
        
        - Fix in Babel python i18n extractor: correct  handling of messages with a
          newline before the start of a parameter.
        
        - Drop list of rarely used builtins from scope (such as ``help``);
          meanwhile, the builtins that are made available won't be replaced by
          arguments passed into the template.
        
          We can change this behavior by adding names to the list of
          *transient symbols*; however, this is expensive. The right place to
          do it would be the code stream's dictionary of required symbols, but
          it's currently a cumbersome solution.
        
          Consider this a temporary fix.
        
        - Fixed issue where an interpolation escape would indeed escape
          interpolation, but also display in the output. [sklein]
        
        - Translate attributes that are messages.
        
        1.2.3 (released 2010-04-19)
        ---------------------------
        
        - Added parameter ``debug`` to template constructor to enable debug
          mode. The default value is taken from the ``CHAMELEON_DEBUG``
          environment value and defaults to ``False``.
        
          The use of debug mode is recommended during development.
        
        - Improved exception output in debug-mode; for nested usage, sections
          now carry the correct filename.
        
        - Fixed an issue where an incorrect expression annotation would be
          shown, or none at all.
        
        - When in debug-mode, take steps to ensure traceback is not swallowed
          in properties by explicit invocation.
        
        1.2.2 (released 2010-04-17)
        ---------------------------
        
        - Fixed regression where objects that are not strings or numbers would
          not output due to a recent change in policy that subjected such
          objects to the translation machinery. However, the default
          translation function had a bug that instead returned ``None``.
        
          The new behavior is that such objects are coerced to unicode by
          default.
        
          Note that if ``zope.i18n`` is available, an alternative translation
          function is used; this function, however, has the correct behavior
          already.
        
        - Fixed issue where nested translations would drop named blocks due to
          a name clash.
        
        1.2.1 (released 2010-04-07)
        ---------------------------
        
        - Fixed issue where decorators used internally by the compiler would
          be silently dropped during compilation on Python 2.4. This fix
          solves an issue with match templates not being processed.
        
        - Objects which are not strings or numbers, and which do not provide
          an ``__html__`` method, are now considered i18n messages. This means
          that they are automatically translated (using interpolation or
          tag-based text insertion or replacement).
        
        - Fixed issue where ``translate`` parameter would not be applicable on
          file-based templates.
        
        - Add Babel message extractors for Python, ZPT and Genshi files.
        
        - Correctly handle translations where a msgid has an empty translation.
        
        1.2.0 (released 2010-03-29)
        ---------------------------
        
        - Fixed issue where nested translations would fail.
        
        - Added support for passing in a translation function to the template
          constructor.
        
        - Fixed issue where translation name mappings would conflict with
          template function definitions.
        
        - Fixed symbol lookup issue with list comprehensions and lambda
          expressions.
        
        - Fixed issue with interpolation flag and CDATA; the effect of this
          flag is now recursive, which indirectly means that CDATA elements
          will be affected by a setting on a parent tag.
        
        - XML namespace fixes.
        
        - Template instances may now be used as macros; this will use the
          template in its entirety, including any XML declarations. This
          addresses issue #139.
        
        - Integrated Genshi implementation.
        
        - Allow expression interpolation on any tag which is not part of the
          Chameleon or ZPT namespaces (e.g. TAL, METAL, I18N or META).
        
        - Improve XML parsing error handling.
        
        1.1.2 (released 2010-02-24)
        ---------------------------
        
        - Avoid printing document header strings (XML header and DOCTYPE)
          twice; this would previously happen if a template would define these
          and use a macro on the top level which also provided them.
        
        - The repeat variable attributes (``odd``, ``even`` etc.) are now
          *callable strings*, e.g. legacy users may still call these attributes,
          but it is no longer required.
        
        - The ``odd`` and ``even`` attributes now return the English strings
          ``"odd"`` and ``"even"`` in place of ``True`` and the empty string
          ``""`` instead of ``False``.
        
        1.1.1 (released 2010-01-26)
        ---------------------------
        
        - Python 2.5 compatibility fixes (symptom: ``TypeError: default
          __new__ takes no parameters`` with the statement generating the
          error something like ``ast.Name("econtext", ast.Load())``).
        
        1.1 (released 2010-01-26)
        -------------------------
        
        - Made all tests compatible with Python 2.4.
        
        - Use the 2.5 AST for code transformation for compatibility with
          Google App Engine. The AST utilities required were copied from
          Genshi (license document included).
        
        1.0.8 (released 2010-01-12)
        ---------------------------
        
        - Use RPL license (http://repoze.org/license.html); include RPL and
          copyright notice in software.
        
        1.0.7 (released 2010-01-07)
        ---------------------------
        
        - Fixed encoding issue of translated attributes. [kobold]
        
        - Fixed translation issue, that would prevent translation of tag
          contents with both named and unnamed subtags. [kobold]
        
        - Fixed issue where messages could contain a double space. [kobold]
        
        1.0.6 (released 2009-12-14)
        ---------------------------
        
        - Fixed white space issue.
        
        - Fixed character encoding issue.
        
        - Fixed issue where macro extension would fail.
        
        1.0.5 (released 2009-12-08)
        ---------------------------
        
        - Fixed issue where the translation compiler would break on messages
          that contained the formatting character '%'.
        
        - Fixed white space issue.
        
        1.0.4 (released 2009-11-15)
        ---------------------------
        
        - Fixed issue where the file-based template constructor did not accept
          the ``encoding`` parameter.
        
        - Use more caution when falling back to dictionary lookup.
        
        1.0.3 (released 2009-11-12)
        ---------------------------
        
        - Fixed issue where traceback would contain erroneous debugging
          information. The source code is now taken directly from the
          traceback object.
        
        - Include Python expression in syntax error exception message.
        
        1.0.2 (released 2009-11-10)
        ---------------------------
        
        - Really fixed ZCA import fallbacks.
        
        1.0.1 (released 2009-11-04)
        ---------------------------
        
        - Fixed ZCA import fallbacks.
        
        1.0 (released 2009-11-01)
        -------------------------
        
        Features:
        
        - HTML5 doctype is now supported.
        
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Topic :: Text Processing :: Markup :: HTML
Classifier: Topic :: Text Processing :: Markup :: XML
Classifier: Topic :: Software Development :: Libraries :: Python Modules
