def get_node(self, key): """ Override parent's get_node function. (Supported to search by cluster name , key and instance) @param data The key @type data db.Key @type data int @type data basestring The key of cluster """ if isinstance(key, int): id = key else: if isinstance(key, basestring): # The name of the cluster if isinstance(key, unicode): cluster = str(key) else: cluster = key elif isinstance(key, db.Key): cluster = key().id_or_name() else: cluster = key.key().id_or_name() id = self.cluster_id[cluster] return Graph.get_node(self, id)