From 0f58ab39bf6753492e565a85f9f436d476a550b1 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sat, 7 Jul 2012 20:52:31 -0400 Subject: epic trailing whitespace removal --- CHANGES | 310 ++++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 155 insertions(+), 155 deletions(-) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 535658b..a6d0509 100644 --- a/CHANGES +++ b/CHANGES @@ -14,7 +14,7 @@ Thanks to Ben Trofatter for all the work on this [ticket:125] -- [feature] Added a real check for "reserved" +- [feature] Added a real check for "reserved" names, that is names which are never pulled from the context and cannot be passed to the template.render() method. Current names @@ -22,15 +22,15 @@ - [feature] The html_error_template() will now apply Pygments highlighting to the source - code displayed in the traceback, if Pygments - if available. Courtesy Ben Trofatter + code displayed in the traceback, if Pygments + if available. Courtesy Ben Trofatter [ticket:95] - [feature] Added support for context managers, i.e. "% with x as e:/ % endwith" support. Courtesy Ben Trofatter [ticket:147] -- [feature] Added class-level flag to CacheImpl +- [feature] Added class-level flag to CacheImpl "pass_context"; when True, the keyword argument 'context' will be passed to get_or_create() containing the Mako Context object. @@ -40,7 +40,7 @@ to filehandles being implicitly closed. [ticket:182] -- [bug] Fixed endless recursion bug when +- [bug] Fixed endless recursion bug when nesting multiple def-calls with content. Thanks to Jeff Dairiki. [ticket:186] @@ -56,7 +56,7 @@ 0.6.1 - [bug] Added special compatibility for the 0.5.0 Cache() constructor, which was preventing file - version checks and not allowing Mako 0.6 to + version checks and not allowing Mako 0.6 to recompile the module files. 0.6.0 @@ -66,7 +66,7 @@ default plugin. Template and TemplateLookup now accept a string "cache_impl" parameter which refers to the name of a cache plugin, defaulting - to the name 'beaker'. New plugins can be + to the name 'beaker'. New plugins can be registered as pkg_resources entrypoints under the group "mako.cache", or registered directly using mako.cache.register_plugin(). The @@ -75,7 +75,7 @@ - [feature] Added support for Beaker cache regions in templates. Usage of regions should be considered - as superseding the very obsolete idea of passing in + as superseding the very obsolete idea of passing in backend options, timeouts, etc. within templates. - [feature] The 'put' method on Cache is now @@ -86,10 +86,10 @@ minus the "cache_" prefix will be passed as keyword arguments to the CacheImpl methods. -- [feature] Template and TemplateLookup now accept an argument +- [feature] Template and TemplateLookup now accept an argument cache_args, which refers to a dictionary containing - cache parameters. The cache_dir, cache_url, cache_type, - cache_timeout arguments are deprecated (will probably + cache parameters. The cache_dir, cache_url, cache_type, + cache_timeout arguments are deprecated (will probably never be removed, however) and can be passed now as cache_args={'url':, 'type':'memcached', 'timeout':50, 'dir':'/path/to/some/directory'} @@ -102,11 +102,11 @@ then template.render(myfilter=some_callable) [ticket:180] -- [feature] Added "--var name=value" option to the mako-render - script, allows passing of kw to the template from +- [feature] Added "--var name=value" option to the mako-render + script, allows passing of kw to the template from the command line. [ticket:178] -- [feature] Added module_writer argument to Template, +- [feature] Added module_writer argument to Template, TemplateLookup, allows a callable to be passed which takes over the writing of the template's module source file, so that special environment-specific steps @@ -120,33 +120,33 @@ [ticket:173] - [bug] The "benchmark" example is now Python 3 compatible - (even though several of those old template libs aren't + (even though several of those old template libs aren't available on Py3K, so YMMV) [ticket:175] 0.5 - A Template is explicitly disallowed from having a url that normalizes to relative outside - of the root. That is, if the Lookup is based + of the root. That is, if the Lookup is based at /home/mytemplates, an include that would place - the ultimate template at + the ultimate template at /home/mytemplates/../some_other_directory, i.e. outside of /home/mytemplates, is disallowed. This usage was never intended despite the lack of an explicit check. The main issue this causes - is that module files can be written outside + is that module files can be written outside of the module root (or raise an error, if file perms aren't - set up), and can also lead to the same template being - cached in the lookup under multiple, relative roots. - TemplateLookup instead has always supported multiple + set up), and can also lead to the same template being + cached in the lookup under multiple, relative roots. + TemplateLookup instead has always supported multiple file roots for this purpose. [ticket:174] 0.4.2 - Fixed bug regarding <%call>/def calls w/ content whereby the identity of the "caller" callable - inside the <%def> would be corrupted by the - presence of another <%call> in the same block. + inside the <%def> would be corrupted by the + presence of another <%call> in the same block. [ticket:170] - Fixed the babel plugin to accommodate <%block> @@ -154,18 +154,18 @@ 0.4.1 - New tag: <%block>. A variant on <%def> that - evaluates its contents in-place. + evaluates its contents in-place. Can be named or anonymous, the named version is intended for inheritance - layouts where any given section can be + layouts where any given section can be surrounded by the <%block> tag in order for it to become overrideable by inheriting templates, without the need to specify a top-level <%def> plus explicit call. - Modified scoping and argument rules as well as a - more strictly enforced usage scheme make it ideal - for this purpose without at all replacing most - other things that defs are still good for. + Modified scoping and argument rules as well as a + more strictly enforced usage scheme make it ideal + for this purpose without at all replacing most + other things that defs are still good for. Lots of new docs. [ticket:164] - a slight adjustment to the "highlight" logic @@ -174,12 +174,12 @@ without any extra guessing. [ticket:165] 0.4.0 -- A 20% speedup for a basic two-page +- A 20% speedup for a basic two-page inheritance setup rendering a table of escaped data (see http://techspot.zzzeek.org/2010/11/19/quick-mako-vs.-jinja-speed-test/). A few configurational changes which - affect those in the I-don't-do-unicode + affect those in the I-don't-do-unicode camp should be noted below. - The FastEncodingBuffer is now used @@ -187,30 +187,30 @@ regardless of whether output_encoding is set to None or not. FEB is faster than both. Only StringIO allows bytestrings - of unknown encoding to pass right - through, however - while it is of course - not recommended to send bytestrings of unknown + of unknown encoding to pass right + through, however - while it is of course + not recommended to send bytestrings of unknown encoding to the output stream, this mode of usage can be re-enabled by setting the flag bytestring_passthrough to True. -- disable_unicode mode requires that +- disable_unicode mode requires that output_encoding be set to None - it also forces the bytestring_passthrough flag to True. - the <%namespace> tag raises an error if the 'template' and 'module' attributes - are specified at the same time in - one tag. A different class is used - for each case which allows a reduction in + are specified at the same time in + one tag. A different class is used + for each case which allows a reduction in runtime conditional logic and function call overhead. [ticket:156] -- the keys() in the Context, as well as +- the keys() in the Context, as well as it's internal _data dictionary, now - include just what was specified to + include just what was specified to render() as well as Mako builtins 'caller', 'capture'. The contents of __builtin__ are no longer copied. @@ -225,45 +225,45 @@ setup.py instead of "install_requires". This to produce a lighter weight install for those who don't use the caching - as well as to conform to Pyramid + as well as to conform to Pyramid deployment practices. [ticket:154] - The Beaker import (or attempt thereof) - is delayed until actually needed; - this to remove the performance penalty - from startup, particularly for + is delayed until actually needed; + this to remove the performance penalty + from startup, particularly for "single execution" environments such as shell scripts. [ticket:153] - Patch to lexer to not generate an empty '' write in the case of backslash-ended lines. [ticket:155] - -- Fixed missing **extra collection in + +- Fixed missing **extra collection in setup.py which prevented setup.py from running 2to3 on install. [ticket:148] - -- New flag on Template, TemplateLookup - + +- New flag on Template, TemplateLookup - strict_undefined=True, will cause - variables not found in the context to + variables not found in the context to raise a NameError immediately, instead of defaulting to the UNDEFINED value. - The range of Python identifiers that are considered "undefined", meaning they - are pulled from the context, has been - trimmed back to not include variables + are pulled from the context, has been + trimmed back to not include variables declared inside of expressions (i.e. from - list comprehensions), as well as + list comprehensions), as well as in the argument list of lambdas. This to better support the strict_undefined - feature. The change should be + feature. The change should be fully backwards-compatible but involved a little bit of tinkering in the AST code, - which hadn't really been touched for + which hadn't really been touched for a couple of years, just FYI. - + 0.3.5 - The <%namespace> tag allows expressions for the `file` argument, i.e. with ${}. @@ -271,22 +271,22 @@ must be referenced explicitly. [ticket:141] -- ${} expressions embedded in tags, - such as <%foo:bar x="${...}">, now +- ${} expressions embedded in tags, + such as <%foo:bar x="${...}">, now allow multiline Python expressions. - -- Fixed previously non-covered regular - expression, such that using a ${} expression - inside of a tag element that doesn't allow + +- Fixed previously non-covered regular + expression, such that using a ${} expression + inside of a tag element that doesn't allow them raises a CompileException instead of silently failing. - Added a try/except around "import markupsafe". This to support GAE which can't run markupsafe. - [ticket:151] No idea whatsoever if the - install_requires in setup.py also breaks GAE, + [ticket:151] No idea whatsoever if the + install_requires in setup.py also breaks GAE, couldn't get an answer on this. - + 0.3.4 - Now using MarkupSafe for HTML escaping, i.e. in place of cgi.escape(). Faster @@ -294,19 +294,19 @@ single quotes for additional security. Supports the __html__ attribute for the given expression as well. - + When using "disable_unicode" mode, a pure Python HTML escaper function is used which also quotes single quotes. - - Note that Pylons by default doesn't - use Mako's filter - check your + + Note that Pylons by default doesn't + use Mako's filter - check your environment.py file. - -- Fixed call to "unicode.strip" in + +- Fixed call to "unicode.strip" in exceptions.text_error_template which is not Py3k compatible. [ticket:137] - + 0.3.3 - Added conditional to RichTraceback such that if no traceback is passed @@ -314,13 +314,13 @@ the formatter just returns blank for the "traceback" portion. [ticket:135] - -- Fixed sometimes incorrect usage of + +- Fixed sometimes incorrect usage of exc.__class__.__name__ - in html/text error templates when using + in html/text error templates when using Python 2.4 [ticket:131] -- Fixed broken @property decorator on +- Fixed broken @property decorator on template.last_modified - Fixed error formatting when a stacktrace @@ -332,18 +332,18 @@ where the source is stored temporarily is now made in the same directory as that of the .py file. This ensures that the two - files share the same filesystem, thus + files share the same filesystem, thus avoiding cross-filesystem synchronization issues. Thanks to Charles Cazabon. - + 0.3.2 -- Calling a def from the top, via - template.get_def(...).render() now checks the - argument signature the same way as it did in +- Calling a def from the top, via + template.get_def(...).render() now checks the + argument signature the same way as it did in 0.2.5, so that TypeError is not raised. reopen of [ticket:116] - - + + 0.3.1 - Fixed incorrect dir name in setup.py [ticket:129] @@ -354,24 +354,24 @@ - Python 3 support is added ! See README.py3k for installation and testing notes. [ticket:119] - + - Unit tests now run with nose. [ticket:127] - Source code escaping has been simplified. - In particular, module source files are now - generated with the Python "magic encoding - comment", and source code is passed through + In particular, module source files are now + generated with the Python "magic encoding + comment", and source code is passed through mostly unescaped, except for that code which is regenerated from parsed Python source. - This fixes usage of unicode in + This fixes usage of unicode in <%namespace:defname> tags. [ticket:99] - RichTraceback(), html_error_template().render(), text_error_template().render() now accept "error" - and "traceback" as optional arguments, and + and "traceback" as optional arguments, and these are now actually used. [ticket:122] - -- The exception output generated when + +- The exception output generated when format_exceptions=True will now be as a Python unicode if it occurred during render_unicode(), or an encoded string if during render(). @@ -379,11 +379,11 @@ - A percent sign can be emitted as the first non-whitespace character on a line by escaping it as in "%%". [ticket:112] - + - Template accepts empty control structure, i.e. % if: %endif, etc. [ticket:94] -- The <%page args> tag can now be used in a base +- The <%page args> tag can now be used in a base inheriting template - the full set of render() arguments are passed down through the inherits chain. Undeclared arguments go into **pageargs @@ -396,16 +396,16 @@ breakage. [ticket:109] - Windows paths are handled correctly if a Template - is passed only an absolute filename (i.e. with c: + is passed only an absolute filename (i.e. with c: drive etc.) and no URI - the URI is converted to a forward-slash path and module_directory is treated as a windows path. [ticket:128] - TemplateLookup raises TopLevelLookupException for a given path that is a directory, not a filename, - instead of passing through to the template to + instead of passing through to the template to generate IOError. [ticket:73] - + 0.2.6 - Fix mako function decorators to preserve the @@ -429,15 +429,15 @@ - When Mako creates subdirectories in which to store templates, it uses the more permissive mode of 0775 instead of 0750, - helping out with certain multi-process + helping out with certain multi-process scenarios. Note that the mode is always subject to the restrictions of the existing umask. [ticket:101] - -- Fixed namespace.__getattr__() to raise - AttributeError on attribute not found + +- Fixed namespace.__getattr__() to raise + AttributeError on attribute not found instead of RuntimeError. [ticket:104] - + - Added last_modified accessor to Template, returns the time.time() when the module was created. [ticket:97] @@ -446,28 +446,28 @@ around '=' sign in defs. [ticket:102] - Removed errant "lower()" in the lexer which - was causing tags to compile with + was causing tags to compile with case-insensitive names, thus messing up custom <%call> names. [ticket:108] - added "mako.__version__" attribute to the base module. [ticket:110] - + 0.2.4 - Fixed compatibility with Jython 2.5b1. 0.2.3 - the <%namespacename:defname> syntax described at - http://techspot.zzzeek.org/?p=28 has now + http://techspot.zzzeek.org/?p=28 has now been added as a built in syntax, and is recommended as a more modern syntax versus <%call expr="expression">. - The %call tag itself will always remain, + The %call tag itself will always remain, with <%namespacename:defname> presenting a more HTML-like - alternative to calling defs, both plain and + alternative to calling defs, both plain and nested. Many examples of the new syntax are in the "Calling a def with embedded content" section of the docs. - + - added support for Jython 2.5. - cache module now uses Beaker's CacheManager @@ -479,42 +479,42 @@ e.g. ${local.cache.get('somekey')} or template.cache.invalidate_body() -- added "cache_enabled=True" flag to Template, +- added "cache_enabled=True" flag to Template, TemplateLookup. Setting this to False causes cache operations to "pass through" and execute every time; this flag should be integrated in Pylons with its own cache_enabled configuration setting. - + - the Cache object now supports invalidate_def(name), - invalidate_body(), invalidate_closure(name), - invalidate(key), which will remove the given key + invalidate_body(), invalidate_closure(name), + invalidate(key), which will remove the given key from the cache, if it exists. The cache arguments (i.e. storage type) are derived from whatever has been already persisted for that template. [ticket:92] - For cache changes to work fully, Beaker 1.1 is required. - 1.0.1 and up will work as well with the exception of + 1.0.1 and up will work as well with the exception of cache expiry. Note that Beaker 1.1 is **required** for applications which use dynamically generated keys, - since previous versions will permanently store state in memory - for each individual key, thus consuming all available - memory for an arbitrarily large number of distinct + since previous versions will permanently store state in memory + for each individual key, thus consuming all available + memory for an arbitrarily large number of distinct keys. -- fixed bug whereby an <%included> template with +- fixed bug whereby an <%included> template with <%page> args named the same as a __builtin__ would not honor the default value specified in <%page> [ticket:93] - + - fixed the html_error_template not handling tracebacks from normal .py files with a magic encoding comment [ticket:88] - RichTraceback() now accepts an optional traceback object - to be used in place of sys.exc_info()[2]. html_error_template() + to be used in place of sys.exc_info()[2]. html_error_template() and text_error_template() accept an optional render()-time argument "traceback" which is passed to the RichTraceback object. - + - added ModuleTemplate class, which allows the construction of a Template given a Python module generated by a previous Template. This allows Python modules alone to be used @@ -532,16 +532,16 @@ - cached blocks now use the current context when rendering an expired section, instead of the original context passed in [ticket:87] -- fixed a critical issue regarding caching, whereby +- fixed a critical issue regarding caching, whereby a cached block would raise an error when called within a -cache-refresh operation that was initiated after the +cache-refresh operation that was initiated after the initiating template had completed rendering. 0.2.1 -- fixed bug where 'output_encoding' parameter would prevent +- fixed bug where 'output_encoding' parameter would prevent render_unicode() from returning a unicode object. -- bumped magic number, which forces template recompile for -this version (fixes incompatible compile symbols from 0.1 +- bumped magic number, which forces template recompile for +this version (fixes incompatible compile symbols from 0.1 series). - added a few docs for cache options, specifically those that help with memcached. @@ -566,18 +566,18 @@ help with memcached. template variable. This affords a 12-30% speedup in template render time. (idea courtesy same anonymous guest) [ticket:76] - -- New Features, API changes: - + +- New Features, API changes: + - added "attr" accessor to namespaces. Returns attributes configured as module level attributes, i.e. within <%! %> sections. [ticket:62] i.e.: - + # somefile.html - <%! + <%! foo = 27 %> - + # some other template <%namespace name="myns" file="somefile.html"/> ${myns.attr.foo} @@ -585,7 +585,7 @@ help with memcached. The slight backwards incompatibility here is, you can't have namespace defs named "attr" since the "attr" descriptor will occlude it. - + - cache_key argument can now render arguments passed directly to the %page or %def, i.e. <%def name="foo(x)" cached="True" cache_key="${x}"/> @@ -595,18 +595,18 @@ help with memcached. _push_buffer(), _pop_buffer(), caller_stack._push_frame(), caller_stack._pop_frame(). - - added a runner script "mako-render" which renders - standard input as a template to stdout [ticket:81] + - added a runner script "mako-render" which renders + standard input as a template to stdout [ticket:81] [ticket:56] - + - Bugfixes: - can now use most names from __builtins__ as variable - names without explicit declaration (i.e. 'id', + names without explicit declaration (i.e. 'id', 'exception', 'range', etc.) [ticket:83] [ticket:84] - - - can also use builtin names as local variable names + + - can also use builtin names as local variable names (i.e. dict, locals) (came from fix for [ticket:84]) - + - fixed bug in python generation when variable names are used with identifiers like "else", "finally", etc. inside them [ticket:68] @@ -621,10 +621,10 @@ help with memcached. - fixed issue with inline format_exceptions that was producing blank exception pages when an inheriting template is present [ticket:71] - + - format_exceptions will apply the encoding options of html_error_template() to the buffered output - + - rewrote the "whitespace adjuster" function to work with more elaborate combinations of quotes and comments [ticket:75] @@ -635,17 +635,17 @@ help with memcached. to the %call function itself (propigates to the inner calls too, this is a slight side effect which previously existed anyway) -- fixed bug where local.get_namespace() could put an +- fixed bug where local.get_namespace() could put an incorrect "self" in the current context - fixed another namespace bug where the namespace functions did not have access to the correct context containing their 'self' and 'parent' - + 0.1.9 - filters.Decode filter can also accept a non-basestring object and will call str() + unicode() on it [ticket:47] - comments can be placed at the end of control lines, -i.e. if foo: # a comment, [ticket:53], thanks to +i.e. if foo: # a comment, [ticket:53], thanks to Paul Colomiets - fixed expressions and page tag arguments and with embedded newlines in CRLF templates, follow up to [ticket:16], thanks @@ -654,7 +654,7 @@ Eric Woroshow exception reporter [ticket:51] 0.1.8 -- variable names declared in render methods by internal +- variable names declared in render methods by internal codegen prefixed by "__M_" to prevent name collisions with user code - added a Babel (http://babel.edgewall.org/) extractor entry @@ -668,14 +668,14 @@ templates with tgplugin even if non-compatible args were sent 0.1.7 - one small fix to the unit tests to support python 2.3 -- a slight hack to how cache.py detects Beaker's memcached, -works around unexplained import behavior observed on some +- a slight hack to how cache.py detects Beaker's memcached, +works around unexplained import behavior observed on some python 2.3 installations -0.1.6 -- caching is now supplied directly by Beaker, which has +0.1.6 +- caching is now supplied directly by Beaker, which has all of MyghtyUtils merged into it now. The latest Beaker - (0.7.1) also fixes a bug related to how Mako was using the + (0.7.1) also fixes a bug related to how Mako was using the cache API. - fix to module_directory path generation when the path is "./" [ticket:34] @@ -700,14 +700,14 @@ python 2.3 installations lines (#32) - fixed codegen bug when defining <%def> within <%call> within <%call> - leading utf-8 BOM in template files is honored according to pep-0263 - + 0.1.5 -- AST expression generation - added in just about everything +- AST expression generation - added in just about everything expression-wise from the AST module [ticket:26] - AST parsing, properly detects imports of the form "import foo.bar" [ticket:27] - fix to lexing of <%docs> tag nested in other tags -- fix to context-arguments inside of <%include> tag which broke +- fix to context-arguments inside of <%include> tag which broke during 0.1.4 [ticket:29] - added "n" filter, disables *all* filters normally applied to an expression via <%page> or default_filters (but not those within the filter) @@ -716,7 +716,7 @@ of buffered/cached/filtered %defs, after all filters defined with the %def itself have been applied. allows the creation of default expression filters that let the output of return-valued %defs "opt out" of that filtering via passing special attributes or objects. - + 0.1.4 - got defs-within-defs to be cacheable - fixes to code parsing/whitespace adjusting where plain python comments @@ -742,10 +742,10 @@ via passing special attributes or objects. 0.1.3 - ***Small Syntax Change*** - the single line comment character is now *two* hash signs, i.e. "## this is a comment". This avoids a common -collection with CSS selectors. +collection with CSS selectors. - the magic "coding" comment (i.e. # coding:utf-8) will still work with either one "#" sign or two for now; two is preferred going forward, i.e. -## coding:. +## coding:. - new multiline comment form: "<%doc> a comment " - UNDEFINED evaluates to False - improvement to scoping of "caller" variable when using <%call> tag @@ -756,7 +756,7 @@ either one "#" sign or two for now; two is preferred going forward, i.e. - added mako.ext.preprocessors package, contains one preprocessor so far: 'convert_comments', which will convert single # comments to the new ## format - + 0.1.2 - fix to parsing of code/expression blocks to insure that non-ascii characters, combined with a template that indicates a non-standard -- cgit v1.2.1