def errcheck(result, func, arguments):
    if _debug_gl_trace:
        try:
            name = func.__name__
        except __HOLE__:
            name = repr(func)
        if _debug_gl_trace_args:
            trace_args = ', '.join([repr(arg)[:20] for arg in arguments])
            print '%s(%s)' % (name, trace_args)
        else:
            print name

    from pyglet import gl
    context = gl.current_context
    if not context:
        raise GLException('No GL context; create a Window first')
    if not context._gl_begin:
        error = gl.glGetError()
        if error:
            msg = ctypes.cast(gl.gluErrorString(error), ctypes.c_char_p).value
            raise GLException(msg)
        return result
dataset/ETHPy150Open ardekantur/pyglet/pyglet/gl/lib.py/errcheck