code: def get_callable_name(c):
      
      if hasattr(c, 'name'):
          return six.text_type(c.name)
      elif hasattr(c, '__name__'):
          return six.text_type(c.__name__) + u'()'
      else:
          return six.text_type(c)
docs: Get a human-friendly name for the given callable.
  
      :param c: The callable to get the name for
      :type c: callable
      :rtype: unicode