cheetah, hacked by yelpers
Project description
yelp_cheetah
Cheetah is an open source template engine and code generation tool.
yelp_cheetah is cheetah with everything we don't / shouldn't use removed.
Differences
0.19.1
- Fix build on pypy.
0.19.0
- Add error message for missing partial template
#extends
under test. - Fix warnings in python3+.
- Drop support for python 2.
- Build abi3 wheels.
0.18.0
- Some optimizations of list comprehensions
- Lookup speed improvements
- Remove
enable_auto_self
setting (alwaysFalse
) - Remove
useNameMapper
setting (alwaysTrue
) - Add an
auto_self
kwarg togetVar
andvarExists
defaulting toTrue
(will default toFalse
and be removed in a future version).
0.17.0
enable_auto_self
setting now defaults toFalse
- Lookup involving partial templates calling partial templates is now optimized.
0.16.1
- Add a parsing hook for cheetah variables
0.16.0
$foo()bar
no longer compiles tofoo.bar
- gettext parsing was removed -- it never worked properly. To get gettext
scannable compiled output, create a compiler, augment
._global_vars
with the gettext functions. $()
and$[]
are now syntax errors -- use${}
instead${ foo }
is now a syntax error -- placeholders cannot start with whitespace- Escaped newlines in expressions are preserved
- Bug with comments in a multi-line expression fixed
- Fix several parsing issues around expressions
- Fix several parsing issues around
#def
0.15.2
- Add an
enable_auto_self
setting (defaulted toTrue
) which (when enabled) means$foo
can mean eitherself.foo
orNS['foo']
(the behaviour prior to this version). In future versions, this will default toFalse
and will eventually be eliminated.
0.15.1
- Introduce unused functions for lookup. These will be used for backwards / forwards compatibility in the next release.
0.15.0
- Remove
#call
directive (port to#with
instead)
0.14.0
- Use
io.StringIO
as a replacement forDummyTransaction
- Drop python2.6 support
0.13.2
- Require six>=1.4.0 (for six.PY2)
0.13.1
- Add setuptools extension to build templates. To use add
setup_requires=['yelp-cheetah']
andyelp_cheetah={'directories': [...]}
to automatically build templates in a package on installation.
0.13.0
- Remove
#set
and#silent
(replaced by#py
)
0.12.1
- Fix regression introduced in 0.11.0:
$self.getVar('contains_underscore')
0.12.0
- Fix regression introduced in 0.11.0:
[$x for x in ...]
0.11.0
- Remove instrumentation added in 0.10.0
- Remove
useAutocalling
setting (always False) - Remove
useDottedNotation
setting (always False) - Remove
mainMethodName
setting (always respond) - Remove
mainMethodNameForSubclasses
setting (always writeBody) - Remove
valueForName
(now unused) - Implement ContextManagerPartialTemplateTestCase
- Template now only takes a single argument
namespace
instead of searchList - Support pypy for real
- Template.getVar / Template.varExists no longer support dots
0.10.0
- Added instrumentation to migrate away from autocall / autokey
0.9.0
- Tests pass under pypy (still slow)
- "Blinged" kwargs no longer supported:
$foo($bar='baz') => $foo(bar='baz')
0.8.0
#filter
directive is gone. Useself.set_filter(filter_fn)
Template
's signature is nowTemplate(search_list, filter_fn)
- All templates now have
from __future__ import absolute_import
0.7.0
- removed macro support: use
#with
instead. - much-improved support for context managers.
- Raise on unknown settings
- Remove settings:
cheetahVarStartToken
,commentStartToken
,directiveStartToken
,directiveEndToken
- Fix indexing a return value #23
- Add
#py
directive. This will replace#silent
and#set
in a future version - Remove
<% ... %>
- Optimize lookup of builtins, globals, and locals when detected.
0.6.0
- Cheetah classes now invariantly have
YelpCheetahTemplate
as the classname - Variable lookup is now
locals()
,globals()
,builtins
,self
,searchList
#extends
no longer supports#extends foo.foo
and should instead be#extends foo
0.5.0
**KWS
is no longer added to every template method definition
0.4.1
- Scan gettext variables in attributes
$translator.gettext(...)
- Scan more types of gettext variables (
gettext
,pgettext
,npgettext
). - Remove some runtime overhead of gettext variables
0.4.0
- Remove dollarsigns on
for
lvalues - Remove
#set global
directive - Remove
future_unicode_literals
setting - Disallow dollarsigns in
getVar
/varExists
0.3.5
- Do not create
__init__.py
in__pycache__
directories
0.3.4
- Invariantly create
__init__.py
in subdirectories
0.3.3
- dep argparse
0.3.2
cheetah-compile
takes directories
0.3.1
- Fix partial template testing infrastructure
0.3.0
- Disallow dollarsigns on
#def
/#block
name - Disallow dollarsigns in function signatures
- Require argspec for
#def
- Requres no argspec for
#block
- Require no dollarsign in
#set
lvalue - Disallow dollarsigns in macro arguments
- Disallow dollarsigns in
#attr
lvalue - Forbid
@classmethod
/@staticmethod
- Remove
#set module
directive - Add testing infrastructure for partial template testing
0.2.1
- Add
compile_directories
0.2.0
- Add
#with
directive - 100% test coverage
0.1.4
- Make filters simple functions instead of classes
- Add and make default
markupsafe
filter
0.1.3
- Add
Cheetah.partial_template
, a system for importable template functions.
0.1.2
- Rename
Cheetah.Compiler
andCheetah.Parser
toCheetah.legacy_compiler
andCheetah.legacy_parser
- Remove
#encoding
directive, cheetah source is now invariantlyUTF-8
0.1.1
- Raise on unknown macros
- Remove
#echo
directive - Remove
#* ... *#
multiline comment syntax - Remove version checking code
- Remove
#arg
directive - Remove
#closure
directive - Make compilation output deterministic
- Remove
<%=...%>
- Remove ability to specify argspecs in
#implements
- Remove multiple inheritance from
#extends
- Remove
#compiler
directive - Remove global imports: (
sys
,os
,os.path
,builtin
,getmtime
,exists
,types
) - Default
useDottedNotation
to false - Remove
allowNestedDefScopes
setting - Remove
useSearchList
setting - Remove
useKWsForPassingTrans
setting - Remove
alwaysFilterNone
setting - Remove cheetah ternary
#if ... then ... else ...
directive - Remove
namespace
argument fromTemplate.__init__
- Support Python 3
- Expose a global
__YELP_CHEETAH__ = True
in compiled source - Remove
autoImportForExtends
setting (always True) - Disable
#extends
of an imported name - Add setting
future_unicode_literals
for togglingunicode_literals
in compiled source
0.1.0
- Removed Cheetah Analyzer
- Removed textmate highlight support
- Remove logging of placeholders
- Remove Django support
- Make useAutoCalling default to False
- Remove
#cache
directive - Remove Mondo
- Remove RecursiveNull
- Remove SiteHierarchy
- Remove turbocheetah
- Remove Servlet
- Remove silent placeholders (
$!placeholder
) - Remove
#errorCatcher
directive - Remove WebWare support
- Remove FileUtils
- Remove hasName
- Remove Indenter
- Remove
#indent
directive - Remove cheetah eval
c'$var'
syntax - Remove import hook, live compiling, compilation cache
- Remove CheetahWrapper
- Remove
#I18n
macro - Improve cmdline interface
- Remove several magical imports (
time
,currentTime
, etc.) - Remove
#unicode
directive - Remove
#breakpoint
directive - Remove
#unless
directive - Remove
#repeat
directive - Remove
#capture
directive - Improve compiling interface. There are now three functions: (
compile_source
,compile_file
,compile_to_class
) - Remove
#defmacro
directive - Remove
#include
directive - Remove
getFileContents
- Remove preprocessors
- Remove
addSrcTimeToOutput
setting - Remove
disabledDirectives
setting - Remove
pre
/post
ParseDirective
hooks - Remove placeholder hooks
- Remove expression hooks
- Remove
I18NFunctionName
- Remove
EmptySingleLineMethods
setting - Remove
allowWhitespaceAfterDirectiveStartToken
- Remove
templateMetaclass
setting - Require
unicode
for compiling source - Remove
#transform
directive - Remove
Websafe
,Markdown
,CodeHighlight
,Maxlen
,Strip
filters - Remove aliases for
BaseFilter
- Remove
namespaces
argument forTemplate
constructor - Remove
#stop
directive - Remove
useFilters
setting (always True) - Remove
allowPlaceholderFilterArgs
setting - Remove
encoding
setting - Remove
EOLSlurp
feature - Remove
#raw
directive - Remove C implementation of filters
- Remove
outputMethodsBeforeAttributes
setting - Remove
defDocStrMsg
setting - Remove
handlerForExtendsDirective
setting - Remove
__str__
from all objects - Remove support for pypy (Delete python implementation of NameMapper)
- Remove
useStackFrames
setting - Remove
#importsettings
directive - Remove
#compiler-settings python
directive - Remove
safeConvert
- Remove
*
imports - Raise on searchlist collisions
- Fix bug with macros causing out-of-bounds when near end of source
0.0.1
- Correct dependencies
0.0.0
- Before hacking
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
yelp_cheetah-0.19.1.tar.gz
(28.9 kB
view hashes)
Built Distribution
Close
Hashes for yelp_cheetah-0.19.1-cp36-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1ec1fa668c0fb12bf9aa88f150c82ac4e0fe83a974a631204450bfe7a60d5dd |
|
MD5 | 910962d1b63e7307f7a1c9e1115e2a16 |
|
BLAKE2b-256 | 872a9fc672487e151cf4318c2368034a240fd32544928a70425591ff1a833cd1 |