def accepts(*types):
 def check_accepts(f):
  assert (len(types) == f.__code__.co_argcount)
  def new_f(*args, **kwds):
   for (a, t) in zip(args, types):
    assert isinstance(a, t), ('arg %r does not match %s' % (a, t))
   return f(*args, **kwds)
  new_f.__name__ = f.__name__
  return new_f
 return check_accepts

def accepts ( * types ) : def check_accepts ( f ) : assert ( len ( types ) == f . __code__ . co_argcount ) def new_f ( * args , ** kwds ) : for ( a , t ) in zip ( args , types ) : assert isinstance ( a , t ) , ( 'arg %r does not match %s' % ( a , t ) ) return f ( * args , ** kwds ) new_f . __name__ = f . __name__ return new_f return check_accepts
return whether this request has an accept header that matches type .