def abstract(cls):
    """ A phony decorator to mark abstract base classes. """
    if not issubclass(cls, HasProps):
        raise TypeError(cls.__name__ % "%s is not a subclass of HasProps")

    return cls
dataset/ETHPy150Open bokeh/bokeh/bokeh/core/properties.py/abstract/swapped operands of `%`