def testDowncast(self): sw=StealWorker(debug_id='bob builder') sw.save() workers=NodeSet(debug_id='workers') workers.save() sw.add_to_parent(workers) for o in workers.flatten(klass=Worker): self.assertTrue(o.__class__==Worker) for o in workers.flatten(klass=StealWorker): self.assertTrue(o.__class__==StealWorker)
def _group(name, *children): g = NodeSet(debug_id=name) g.save() g.add_children(*children) return g
def remove_children(self, *subnodes): NodeSet.remove_children(self,*subnodes) for n in subnodes: c=n._downcast(klass=Contact) MembershipLog(village=self, contact=c, action='D').save()
def add_children(self,*sub_nodes): NodeSet.add_children(self, *sub_nodes) for n in sub_nodes: c=n._downcast(klass=Contact) MembershipLog(village=self, contact=c, action='C').save()