Esempio n. 1
0
    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)