Re: ANN: pyTenjin 0.8.0 - much faster template engine than Django

2009-06-17 Thread Igor Katson

kwatch wrote:

I have released pyTenjin 0.8.0
  
Thanks for your project. I have used it a little, and there is a 
question to you.


import tenjin
from tenjin.helpers import *
shared_cache = tenjin.GaeMemcacheCacheStorage()
engine = tenjin.Engine(cache=shared_cache)

1. Why should I import tenjin.helpers if I don't use the helpers in my code?
2. Why does the code not work if I don't import the helpers?

I think you should manage this issue inside the library.
--
http://mail.python.org/mailman/listinfo/python-list


ANN: pyTenjin 0.8.0 - much faster template engine than Django

2009-06-06 Thread kwatch
I have released pyTenjin 0.8.0
http://www.kuwata-lab.com/tenjin/

pyTenjin is the fastest template engine for Python.

* Very fast (about 10 times faster than Django template engine)
* Easy to learn (no need to learn template-original language)
* Full-featured (layout template, partial template,
preprocessing, ...)
* Very small (only 1,200 lines, one file)
* Goole AppEngine supported.
  http://www.kuwata-lab.com/tenjin/pytenjin-faq.html#faq-google-appengine



Changes from 0.7.0
--

  * !!IMPORTANT!!
HTML helper function 'tagattr()' is renamed to 'tagattrs()'.
(Notice that new 'tagattr()' is added. See below.)

  * 'tagattrs()' is changed to add ' ' (space) at the first character.
ex.
  (0.7.0)  tagattr(klass='error') #=> 'class="error"'
  (0.7.1)  tagattrs(klass='error')#=> ' class="error"'

  * 'tagattrs()' is changed to handle 'checked', 'selected', and
'disabled' attributes.
ex.
   >>> from tenjin.helpers.html import *
   >>> tagattrs(checked=True, selected='Y', disabled=1)
   ' checked="checked" selected="selected" disabled="disabled"'
   >>> tagattrs(checked=False, selected='', disabled=0)
   ''


Bugfix
--

  * !!IMPORTANT!!
Template caching is changed to keep template file's timestamp
instead of create time of cached object. See

http://groups.google.com/group/kuwata-lab-products/browse_thread/thread/a0d447c282fb383d#msg_de39557405c9b656
for details. (Thanks Steve)


Enhancements


  * Add new HTML helper function 'tagattr()'.
(Notice that 'tagattr()' in 0.7.0 is renamed into 'tagattrs()'.)
ex.
  >>> from tenjin.helpers.html import *
  >>> tagattr('size', 20)
  ' size="20"'
  >>> tagattr('size', 0)
  ''
  >>> tagattr('size', 20, 'large')
  ' size="large"'
  >>> size = 20# you can use tagattrs() instead of tagattr
()
  >>> tagattrs(size=(size and 'large'))
  ' size="large"'

  * Add new HTML helper function 'new_cycle()'.
ex.
  >>> from tenjin.helpers.html import *
  >>> cycle = new_cycle('odd, 'even')
  >>> cycle()
  'odd'
  >>> cycle()
  'even'
  >>> cycle()
  'odd'
  >>> cycle()
  'even'

  * (experimental) Template converter is changed to add dummy if-
statement
when first Python statement is indented. (Thanks Steve)
ex.
  $ cat ex.pyhtml
  

  

${item}

  

  
  $ pytenjin -sb ex.pyhtml
  _buf.extend(('''

  \n''', ));
  if True: ## dummy
for item in items:
_buf.extend(('''  ''', escape(to_str(item)),
'''\n''', ));
#end
_buf.extend(('''

  \n''', ));

  * Update User's Guide and FAQ.


Have fun!

--
regards,
makoto kuwata

-- 
http://mail.python.org/mailman/listinfo/python-list