From: <gb...@us...> - 2009-07-09 10:23:20
|
Author: gbrandl Date: 2009-07-09 12:00:07 +0200 (Thu, 09 Jul 2009) New Revision: 6011 Modified: trunk/docutils/docutils/nodes.py Log: Fix bug introduced in porting to Py3k: for "in" test to work for attributes and nodes (like "getitem"), a custom __contains__ is necessary. Modified: trunk/docutils/docutils/nodes.py =================================================================== --- trunk/docutils/docutils/nodes.py 2009-07-05 15:29:02 UTC (rev 6010) +++ trunk/docutils/docutils/nodes.py 2009-07-09 10:00:07 UTC (rev 6011) @@ -525,6 +525,13 @@ def __len__(self): return len(self.children) + def __contains__(self, key): + # support both membership test for children and attributes + # (has_key is translated to "in" by 2to3) + if isinstance(key, basestring): + return key in self.attributes + return key in self.children + def __getitem__(self, key): if isinstance(key, basestring): return self.attributes[key] |