Adding Python 2.3 hack for Beaker import to work properly without memcached.
diff --git a/lib/mako/cache.py b/lib/mako/cache.py
index 7e71011..9c86e40 100644
--- a/lib/mako/cache.py
+++ b/lib/mako/cache.py
@@ -3,20 +3,20 @@
try:
import beaker.container as container
import beaker.exceptions
+ clsmap = {
+ 'memory':container.MemoryContainer,
+ 'dbm':container.DBMContainer,
+ 'file':container.FileContainer,
+ }
try:
import beaker.ext.memcached as memcached
- clsmap = {
- 'memory':container.MemoryContainer,
- 'dbm':container.DBMContainer,
- 'file':container.FileContainer,
- 'memcached':memcached.MemcachedContainer
- }
+ # XXX HACK: Python 2.3 under some circumstances will import this module
+ # even though there's no memcached. This ensures its really
+ # there before adding it.
+ if hasattr(memcached, 'MemcachedContainer'):
+ clsmap['memcached'] = memcached.MemcachedContainer
except beaker.exceptions.BeakerException:
- clsmap = {
- 'memory':container.MemoryContainer,
- 'dbm':container.DBMContainer,
- 'file':container.FileContainer,
- }
+ pass
except ImportError:
container = None
clsmap = {}