def normalize(self, obj):

        for cls in type(obj).__mro__:
            for override in self.normalizer_overrides[cls]:
                attempt = override(obj, self)
                if attempt is not NotImplemented:
                    return attempt

        attempt = normalizers.normalize_object(obj, self)
        if attempt is not NotImplemented:
            return attempt

        for cls in type(obj).__mro__:
            if cls in self.normalizers:
                attempt = self.normalizers[cls](obj, self)
                if attempt is not NotImplemented:
                    return attempt

        return NotImplemented
Runs an object through the normalizer mechanism, with the goal of producing a value consisting only of "native types" (:obj:`unicode`, :obj:`int`, :obj:`long`, :obj:`float`, :obj:`dict`, :obj:`list`, etc).
dataset/ETHPy150Open teozkr/Flask-Pushrod/flask_pushrod/resolver.py/Pushrod.normalize