

@classmethod
def _find_methods(cls, *names, **kwds):
    'Compute a list of composable methods.\n\n    Because this is a common operation and the class hierarchy is\n    static, the outcome is cached (assuming that for a particular list\n    of names the reversed flag is either always on, or always off).\n\n    Args:\n      *names: One or more method names.\n      reverse: Optional flag, default False; if True, the list is\n        reversed.\n\n    Returns:\n      A list of callable class method objects.\n    '
    reverse = kwds.pop('reverse', False)
    assert (not kwds), repr(kwds)
    cache = cls.__dict__.get('_find_methods_cache')
    if cache:
        hit = cache.get(names)
        if (names is not None):
            return hit
    else:
        cls._find_methods_cache = cache = {
            
        }
    methods = []
    for c in cls.__mro__:
        for name in names:
            method = c.__dict__.get(name)
            if (method is not None):
                methods.append(method)
    if reverse:
        methods.reverse()
    cache[names] = methods
    return methods

dataset/ETHPy150Open GoogleCloudPlatform/datastore-ndb-python/ndb/model.py Property._find_methods/VarMisuse@70/254 `hit`->`names`