Richard Jones' Log: Using "dict" as a base class
Here's a relatively trivial example of using dict
as a base class to create a dict that returns True or False on item accesses as if has_key()
was called:
class TruthDict(dict): def __getitem__(self, key): return self.has_key(key)
I use this in Zope code(*) to make a simple var that I can shove various strings into and later test for the existence of an arbitrary string. Why not use has_key()
? Because with this code I can perform tests using simpler ZPT path expressions instead of having to use python expressions.
*: of course, being a Zope object used in templating, there's an additional class var __allow_access_to_unprotected_subobjects__ = 1
(yeah, old school Zope) that I've omitted from the example code to make it more readable.
... just thought I'd let everyone know I was still alive. Just very busy with work and Roundup :)
At the moment, the codebase is having translations forcibly inserted into various places. That'll most likely be the Big Feature of the next release. I'm kinda pooped after the last release :)
mmmmm.... new Roundup. Looking forward to it.