annotate roundup/anypy/dbm_.py @ 4587:a2eb4fb3e6d8

New Chameleon templating engine, engine is now configurable. We now have two configurable templating engines, the old Zope TAL templates (called zopetal in the config) and the new Chameleon (called chameleon in the config). A new config-option "template_engine" under [main] can take these config-options, the default is zopetal. Thanks to Cheer Xiao for the idea of making this configurable *and* for the actual implementation! Cheer Xiao commit log: - The original TAL engine ported from Zope is thereafter referred to as "zopetal", in speech and in code - A new option "template_engine" under [main] introduced - Zopetal-specific code stripped from cgi/templating.py to form the new cgi/engine_zopetal.py - Interface to Chameleon in cgi/engine_chameleon.py - Engines are supposed to provide a Templates class that mimics the behavior of the old cgi.templating.Templates. The Templates class is preferably subclassed from cgi.templating.TemplatesBase. - New function cgi.templating.get_templates to get the appropriate engine's Templates instance according to the engine name
author Ralf Schlatterbeck <rsc@runtux.com>
date Thu, 23 Feb 2012 18:10:03 +0100
parents 0d9369d35483
children d5da643b3d25
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4360
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1 # In Python 3 the "anydbm" module was renamed to be "dbm" which is now a
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
2 # package containing the various implementations. The "wichdb" module's
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
3 # whichdb() function was moved to the new "dbm" module.
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
4
4383
0d9369d35483 fix up some pre-Python2.6 compatibility issues in the *dbm interface
Richard Jones <richard@users.sourceforge.net>
parents: 4360
diff changeset
5 import sys
0d9369d35483 fix up some pre-Python2.6 compatibility issues in the *dbm interface
Richard Jones <richard@users.sourceforge.net>
parents: 4360
diff changeset
6 if sys.version_info[:2] < (2, 6):
0d9369d35483 fix up some pre-Python2.6 compatibility issues in the *dbm interface
Richard Jones <richard@users.sourceforge.net>
parents: 4360
diff changeset
7 def key_in(db, key):
0d9369d35483 fix up some pre-Python2.6 compatibility issues in the *dbm interface
Richard Jones <richard@users.sourceforge.net>
parents: 4360
diff changeset
8 return db.has_key(key)
0d9369d35483 fix up some pre-Python2.6 compatibility issues in the *dbm interface
Richard Jones <richard@users.sourceforge.net>
parents: 4360
diff changeset
9 else:
0d9369d35483 fix up some pre-Python2.6 compatibility issues in the *dbm interface
Richard Jones <richard@users.sourceforge.net>
parents: 4360
diff changeset
10 def key_in(db, key):
0d9369d35483 fix up some pre-Python2.6 compatibility issues in the *dbm interface
Richard Jones <richard@users.sourceforge.net>
parents: 4360
diff changeset
11 return key in db
0d9369d35483 fix up some pre-Python2.6 compatibility issues in the *dbm interface
Richard Jones <richard@users.sourceforge.net>
parents: 4360
diff changeset
12
4360
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
13 try:
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
14 # old school first because <3 had a "dbm" module too...
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
15 import anydbm
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
16 from whichdb import whichdb
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
17 except ImportError:
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
18 # python 3+
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
19 import dbm as anydbm
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
20 whichdb = anydbm.whichdb

Roundup Issue Tracker: http://roundup-tracker.org/