docs: def nice_classname(obj):
      """Returns a nice name for class object or class instance.
  
          >>> nice_classname(Exception()) # doctest: +ELLIPSIS
          '...Exception'
          >>> nice_classname(Exception) # doctest: +ELLIPSIS
          '...Exception'
  
      """
      if inspect.isclass(obj):
          cls_name = obj.__name__
      else:
          cls_name = obj.__class__.__name__
      mod = inspect.getmodule(obj)
      if mod:
          name = mod.__name__
          # jython
          if name.startswith('org.python.core.'):
              name = name[len('org.python.core.'):]
          return "%s.%s" % (name, cls_name)
      else:
          return cls_name