Permalink
Commits on Mar 16, 2009
  1. Applying Satoru's patch the way he posted to the redhat bugzilla.

    Signed-off-by: R. Tyler Ballance <tyler@slide.com>
    R. Tyler Ballance committed Mar 16, 2009
  2. Revert "Quite the deprecation warnings under Python 2.6 and upwards o…

    …n the use of the md5 module"
    
    This is stupid, why not just apply Satoru's patch?
    
    This reverts commit ef3d0c7.
    R. Tyler Ballance committed Mar 16, 2009
  3. Update changelog

    Signed-off-by: R. Tyler Ballance <tyler@slide.com>
    R. Tyler Ballance committed Mar 16, 2009
  4. Quite the deprecation warnings under Python 2.6 and upwards on the us…

    …e of the md5 module
    
    Patch suggested by Satoru SATOH <satoru.satoh@gmail.com> with minor tweaks in order to properly be backwards compatible to versions prior to Python 2.6
    
    Signed-off-by: R. Tyler Ballance <tyler@slide.com>
    R. Tyler Ballance committed Mar 16, 2009
Commits on Mar 15, 2009
  1. Add the PyUnit XML Test Runner code for CI

    Signed-off-by: R. Tyler Ballance <tyler@slide.com>
    R. Tyler Ballance committed Mar 15, 2009
  2. Fix a regression that I introduced into the dynamic compiler code

    Basically in 9055e2c, in order to support
    syntax like the following:
            #try
                    #import cjson
            #except ImportError
                    #import simplejson
            #end try
    
    I had to modify Compiler.py:addImportedVarNames() in order to properly
    place the inline import statements at the right position in the method body.
    
    This however, breaks dynamic compilation, particularly when using chunks such as:
    	#from math import cos
    
    As a number of the dynamic compilation tests do, this causes an "import cos" statement
    to be inlined into source via Compiler.py:addImportStatement() which chops off the last
    part of the import statement and just passes "['cos']" into addImportedVarNames().
    
    Pretty gross.
    
    Signed-off-by: R. Tyler Ballance <tyler@slide.com>
    R. Tyler Ballance committed Mar 15, 2009
  3. Bump the Version.py to 2.1.0 in anticipation for a new release

    Also updating the CHANGES with the most recent community patches applied into this branch
    
    Signed-off-by: R. Tyler Ballance <tyler@slide.com>
    R. Tyler Ballance committed Mar 15, 2009
  4. Apply the parallel compilation patch from Evan Klitzke (evan@eklitzke…

    ….org)
    
    Now cheetah-compile can spawn off multiple subprocesses to compile temlpates in parallel much like `make -j 2` will.
    
    Example usage:
    	cheetah compile my-templates -R --parallel=2
    
    Signed-off-by: R. Tyler Ballance <tyler@slide.com>
    rtyler committed Mar 15, 2009
Commits on Jan 31, 2009
  1. Propagate my changes over from the Python version of NameMapper into …

    …the C version
    
    This should resolve the NameMapper.NotFound exception issue
    
    Signed-off-by: R. Tyler Ballance <tyler@monkeypox.org>
    rtyler committed Jan 31, 2009
  2. Fix the regression test I added in the previuos commit

    The fix is currently only in the Python version, calling hasattr() will execute object.__getattr__() which in cases where it may raise an unrelated exception, hasattr() will return False and cause Cheetah to raise a NotFound exception
    
    	tyler@grapefruit:~/source/github/cheetah> python src/Tests/NameMapper.py
    	.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
    	----------------------------------------------------------------------
    	Ran 561 tests in 2.756s
    
    	OK
    
    	tyler@grapefruit:~/source/github/cheetah> python src/Tests/Regressions.py
    	..
    	----------------------------------------------------------------------
    	Ran 2 tests in 0.028s
    
    	OK
    	tyler@grapefruit:~/source/github/cheetah>
    
    Signed-off-by: R. Tyler Ballance <tyler@monkeypox.org>
    rtyler committed Jan 31, 2009
  3. Add the Regressions.py file for regression tests for tracking down bugs

    The first issue I'm adding into here is an error where NameMapper will raise a Cheetah.NameMapper.NotFound exception when accessing an attribute that raises an exception (example class included)
    
    Signed-off-by: R. Tyler Ballance <tyler@monkeypox.org>
    rtyler committed Jan 31, 2009
Commits on Jan 5, 2009
  1. Fix test, and correct the error cast in the compiler

    Cheetah markup like this:
    	#try
    		#import cjson
    	#except ImportError
    		#import simplejson
    	#end try
    
    Will now appropriately generate this code:
    	try:
    		import cjson
    	except ImportError:
    		import simplejson
    
    Instead of what it previously generated:
    	import cjson
    	import simplejson
    
    	try:
    	except ImportError
    
    Signed-off-by: R. Tyler Ballance <tyler@slide.com>
    R. Tyler Ballance committed Jan 5, 2009
  2. Add a test to verify the failure we're seeing with regards to nesting…

    … import statements inside of #try/#end try blocks
    
    	tyler@grapefruit:~/source/github/cheetah/src> python Tests/Template.py TryExceptImportTest
    	/home/tyler/source/github/cheetah/build/lib.linux-x86_64-2.6/Cheetah/CacheRegion.py:30: DeprecationWarning: the md5 module is deprecated; use hashlib instead
    	  import md5
    	E
    	**********************************************************************
    	ERROR __main__.TryExceptImportTest.test_FailCase ()
    	----------------------------------------------------------------------
    	Traceback (most recent call last):
    	  File "Tests/Template.py", line 321, in test_FailCase
    		klass = Template.compile(source=source)
    	  File "/home/tyler/source/github/cheetah/build/lib.linux-x86_64-2.6/Cheetah/Template.py", line 779, in compile
    		raise parseError
    	ParseError:
    
    	Error in the Python code which Cheetah generated for this template:
    	================================================================================
    
    	expected an indented block (DynamicallyCompiledCheetahTemplate.py, line 91)
    
    	Line|Python Code
    	----|-------------------------------------------------------------
    	89  |''')
    	90  |        try: # generated from line 5, col 17
    	91  |        except ImportError: # generated from line 7, col 17
    					 ^
    	92  |            _v = VFFSL(SL,"print",True) # '$print' on line 8, col 21
    	93  |            if _v is not None: write(_filter(_v, rawExpr='$print')) # from line 8, col 21.
    	94  |            write(''' "This will never happen!"
    
    	================================================================================
    
    	Here is the corresponding Cheetah code:
    
    	Line 7, column 17
    
    	Line|Cheetah Code
    	----|-------------------------------------------------------------
    	4   |                Ahoy!
    	5   |                #try
    	6   |                    #import sys
    	7   |                #except ImportError
    						 ^
    	8   |                    $print "This will never happen!"
    	9   |                #end try
    	10  |            #end def
    
    	----------------------------------------------------------------------
    	Ran 1 tests in 0.031s
    
    	FAILED (errors=1)
    	tyler@grapefruit:~/source/github/cheetah/src>
    R. Tyler Ballance committed Jan 5, 2009
  3. Add a basic .gitignore for sanity's sake

    R. Tyler Ballance committed Jan 5, 2009
Commits on Mar 10, 2008
  1. update

    tavis_rudd committed Mar 10, 2008
  2. 2 new tests contributed by Graham Dennis

    tavis_rudd committed Mar 10, 2008
  3. second part of the multiple-decorators patch

    tavis_rudd committed Mar 10, 2008
  4. added support for multiple decorators per method (suggested by Graham…

    … Dennis)
    tavis_rudd committed Mar 10, 2008
  5. Fixed bug where the module name ends up being a unicode string. It ne…

    …eds to be
    
    an instance of str.
    tavis_rudd committed Mar 10, 2008
Commits on Feb 14, 2008
  1. strip out unused crap that Cheetah doesn't need

    tavis_rudd committed Feb 14, 2008
Commits on Dec 29, 2007
  1. cosmetic cleanup

    tavis_rudd committed Dec 29, 2007
Commits on Dec 10, 2007
  1. new

    tavis_rudd committed Dec 10, 2007
  2. rm debug code

    tavis_rudd committed Dec 10, 2007
  3. make autocalling in valueForName correctly ignore newstyle classes an…

    …d instances
    
    that are callable, as it does for oldstyle classes and instances.
    tavis_rudd committed Dec 10, 2007
  4. make autocalling in valueForName correctly ignore newstyle classes an…

    …d instances
    
    that are callable, as it does for oldstyle classes and instances.
    tavis_rudd committed Dec 10, 2007
Commits on Nov 16, 2007
  1. new release

    tavis_rudd committed Nov 16, 2007
  2. cosmetic

    tavis_rudd committed Nov 16, 2007
  3. move import statement

    tavis_rudd committed Nov 16, 2007
Commits on Nov 14, 2007
  1. replace lock with RLock to avoid deadlock

    tavis_rudd committed Nov 14, 2007
Commits on Nov 3, 2007
  1. note about setuptools

    tavis_rudd committed Nov 3, 2007
Commits on Oct 30, 2007
  1. applied filter patch from Graham Dennis

    tavis_rudd committed Oct 30, 2007
Commits on Oct 12, 2007
  1. update

    tavis_rudd committed Oct 12, 2007
  2. update

    tavis_rudd committed Oct 12, 2007
  3. update

    tavis_rudd committed Oct 12, 2007