def _get_callback(self, callback):
    "\n        Analyze callback and determine its consituents\n\n        Args:\n            callback (function or method): This is either a stand-alone\n                function or class method on a typeclassed entitye (that is,\n                an entity that can be saved to the database).\n\n        Returns:\n            ret (tuple): This is a tuple of the form `(obj, path, callfunc)`,\n                where `obj` is the database object the callback is defined on\n                if it's a method (otherwise `None`) and vice-versa, `path` is\n                the python-path to the stand-alone function (`None` if a method).\n                The `callfunc` is either the name of the method to call or the\n                callable function object itself.\n\n        "
    (outobj, outpath, outcallfunc) = (None, None, None)
    if callable(callback):
        if inspect.ismethod(callback):
            outobj = callback.im_self
            outcallfunc = callback.im_func.func_name
        elif inspect.isfunction(callback):
            outpath = ('%s.%s' % (callback.__module__, callback.func_name))
            outcallfunc = callback
    else:
        raise TypeError(('%s is not a callable function or method.' % callback))
    return (outobj, outpath, outcallfunc)
Analyze callback and determine its consituents

Args:
    callback (function or method): This is either a stand-alone
        function or class method on a typeclassed entitye (that is,
        an entity that can be saved to the database).

Returns:
    ret (tuple): This is a tuple of the form `(obj, path, callfunc)`,
        where `obj` is the database object the callback is defined on
        if it's a method (otherwise `None`) and vice-versa, `path` is
        the python-path to the stand-alone function (`None` if a method).
        The `callfunc` is either the name of the method to call or the
        callable function object itself.
def _get_callback(self, callback):
    "\n        Analyze callback and determine its consituents\n\n        Args:\n            callback (function or method): This is either a stand-alone\n                function or class method on a typeclassed entitye (that is,\n                an entity that can be saved to the database).\n\n        Returns:\n            ret (tuple): This is a tuple of the form `(obj, path, callfunc)`,\n                where `obj` is the database object the callback is defined on\n                if it's a method (otherwise `None`) and vice-versa, `path` is\n                the python-path to the stand-alone function (`None` if a method).\n                The `callfunc` is either the name of the method to call or the\n                callable function object itself.\n\n        "
    (outobj, outpath, outcallfunc) = (None, None, None)
    if callable(callback):
        if inspect.ismethod(callback):
            outobj = callback.im_self
            outcallfunc = callback.im_func.func_name
        elif inspect.isfunction(callback):
            outpath = ('%s.%s' % (callback.__module__, callback.func_name))
            outcallfunc = callback
    else:
        raise TypeError(('%s is not a callable function or method.' % callback))
    return (outobj, outpath, outcallfunc)