#!/usr/bin/env python # encoding: utf-8 """ queryableModel.py Created by on 2006-11-14. Copyleft (c) 2006 Cody Brocious All rights reversed. """ from interface import interface from model import model class queryableModel(model): @interface.public def query(self, rule): # Create object of the same type as self for result result = self.__class__() for child in self.children: if rule(child): result.childAdd(child) return result @interface.public def __repr__(self): return `self.children`