|
15 | 15 | # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, |
16 | 16 | # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
17 | 17 | # |
18 | | -# $Id: hyperdb.py,v 1.67 2002-06-11 05:02:37 richard Exp $ |
| 18 | +# $Id: hyperdb.py,v 1.68 2002-06-11 06:52:03 richard Exp $ |
19 | 19 |
|
20 | 20 | __doc__ = """ |
21 | 21 | Hyperdatabase implementation, especially field types. |
@@ -793,11 +793,14 @@ def find(self, **propspec): |
793 | 793 | # ok, now do the find |
794 | 794 | cldb = self.db.getclassdb(self.classname) |
795 | 795 | l = [] |
796 | | - for id in self.db.getnodeids(self.classname, cldb): |
797 | | - node = self.db.getnode(self.classname, id, cldb) |
| 796 | + for id in self.db.getnodeids(self.classname, db=cldb): |
| 797 | + node = self.db.getnode(self.classname, id, db=cldb) |
798 | 798 | if node.has_key(self.db.RETIRED_FLAG): |
799 | 799 | continue |
800 | 800 | for propname, nodeid in propspec: |
| 801 | + # can't test if the node doesn't have this property |
| 802 | + if not node.has_key(propname): |
| 803 | + continue |
801 | 804 | prop = self.properties[propname] |
802 | 805 | property = node[propname] |
803 | 806 | if isinstance(prop, Link) and nodeid == property: |
@@ -1158,6 +1161,9 @@ def Choice(name, db, *options): |
1158 | 1161 |
|
1159 | 1162 | # |
1160 | 1163 | # $Log: not supported by cvs2svn $ |
| 1164 | +# Revision 1.67 2002/06/11 05:02:37 richard |
| 1165 | +# . #565979 ] code error in hyperdb.Class.find |
| 1166 | +# |
1161 | 1167 | # Revision 1.66 2002/05/25 07:16:24 rochecompaan |
1162 | 1168 | # Merged search_indexing-branch with HEAD |
1163 | 1169 | # |
|
0 commit comments