*** rdbms_common.py Thu Jun 24 09:14:48 2004 --- rdbms_common.py_changed Sun Jun 27 23:16:04 2004 *************** *** 2421,2427 **** # make the new node's property map d = {} retire = 0 ! newid = None for i in range(len(propnames)): # Use eval to reverse the repr() used to output the CSV value = eval(proplist[i]) --- 2421,2430 ---- # make the new node's property map d = {} retire = 0 ! if not "id" in propnames: ! newid = self.db.newid(self.classname) ! else: ! newid = eval(proplist[propnames.index("id")]) for i in range(len(propnames)): # Use eval to reverse the repr() used to output the CSV value = eval(proplist[i]) *************** *** 2431,2437 **** # "unmarshal" where necessary if propname == 'id': - newid = value continue elif propname == 'is retired': # is the item retired? --- 2434,2439 ---- *************** *** 2455,2464 **** pwd.unpack(value) value = pwd d[propname] = value ! ! # get a new id if necessary ! if newid is None: ! newid = self.db.newid(self.classname) # insert new node or update existing? if not self.hasnode(newid): --- 2457,2467 ---- pwd.unpack(value) value = pwd d[propname] = value ! if isinstance(prop, String) and prop.indexme: ! if type(value) != type('') and type(value) != type(u''): ! raise TypeError, 'new property "%s" not a string'%key ! self.db.indexer.add_text((self.classname, newid, propname), ! value) # insert new node or update existing? if not self.hasnode(newid): *************** *** 2601,2607 **** modified. ''' d = Class.getprops(self, protected=protected).copy() ! d['content'] = hyperdb.String() return d def set(self, itemid, **propvalues): --- 2604,2610 ---- modified. ''' d = Class.getprops(self, protected=protected).copy() ! d['content'] = hyperdb.String(indexme="yes") return d def set(self, itemid, **propvalues):