Commit 8e894975 by Chris Jerdonek

Added support for Python 2.4: issue #89 (wangtz) and issue #94 (jvantuyl).

parent 9f396d87
History History
======= =======
0.4.1 (2011-03-25)
------------------
* Added support for Python 2.4. [wangtz, jvantuyl]
0.4.0 (2011-01-12) 0.4.0 (2011-01-12)
------------------ ------------------
* Add support for nested contexts (within template and view) * Add support for nested contexts (within template and view)
......
...@@ -10,8 +10,12 @@ framework-agnostic way to render logic-free views. ...@@ -10,8 +10,12 @@ framework-agnostic way to render logic-free views.
As ctemplates says, "It emphasizes separating logic from presentation: As ctemplates says, "It emphasizes separating logic from presentation:
it is impossible to embed application logic in this template language." it is impossible to embed application logic in this template language."
Pystache is a Python implementation of Mustache. Pystache requires Pystache is a Python implementation of Mustache. Pystache works on--
Python 2.6.
* Python 2.4
* Python 2.5
* Python 2.6
* Python 2.7
Pystache is semantically versioned: http://semver.org. Pystache is semantically versioned: http://semver.org.
......
...@@ -11,9 +11,11 @@ class NestedContext(pystache.View): ...@@ -11,9 +11,11 @@ class NestedContext(pystache.View):
def derp(self): def derp(self):
return [{'inner': 'car'}] return [{'inner': 'car'}]
def herp(self): def herp(self):
return [{'outer': 'car'}] return [{'outer': 'car'}]
def nested_context_in_view(self): def nested_context_in_view(self):
return 'it works!' if self.get('outer') == self.get('inner') else '' if self.get('outer') == self.get('inner'):
\ No newline at end of file return 'it works!'
return ''
\ No newline at end of file
...@@ -53,7 +53,11 @@ class Template(object): ...@@ -53,7 +53,11 @@ class Template(object):
if kwargs: if kwargs:
context.update(kwargs) context.update(kwargs)
self.view = context if isinstance(context, View) else View(context=context) if isinstance(context, View):
self.view = context
else:
self.view = View(context=context)
self._compile_regexps() self._compile_regexps()
def _compile_regexps(self): def _compile_regexps(self):
...@@ -80,7 +84,7 @@ class Template(object): ...@@ -80,7 +84,7 @@ class Template(object):
replacer = '' replacer = ''
# Callable # Callable
if it and isinstance(it, collections.Callable): if it and callable(it):
replacer = it(inner) replacer = it(inner)
# Dictionary # Dictionary
elif it and hasattr(it, 'keys') and hasattr(it, '__getitem__'): elif it and hasattr(it, 'keys') and hasattr(it, '__getitem__'):
......
...@@ -35,8 +35,10 @@ setup(name='pystache', ...@@ -35,8 +35,10 @@ setup(name='pystache',
"Development Status :: 4 - Beta", "Development Status :: 4 - Beta",
"License :: OSI Approved :: MIT License", "License :: OSI Approved :: MIT License",
"Programming Language :: Python", "Programming Language :: Python",
"Programming Language :: Python :: 2.4",
"Programming Language :: Python :: 2.5", "Programming Language :: Python :: 2.5",
"Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.6",
"Programming Language :: Python :: 2.7",
) )
) )
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment