def abstract(func):
    def wrapper(*__args, **__kw):
        raise NotImplementedError('Missing required %s() method' %\
                                  func.__name__)
    wrapper.__name__ = func.__name__
    wrapper.__dict__ = func.__dict__
    wrapper.__doc__ = func.__doc__
    return wrapper
Decorator for marking a method abstract. Throws a ``NotImplementedError``
dataset/ETHPy150Open AppScale/appscale/AppServer/lib/grizzled/grizzled/decorators.py/abstract