code: def call_tip(oinfo, format_call=True):
      """Extract call tip data from an oinfo dict.
  
      Parameters
      ----------
      oinfo : dict
  
      format_call : bool, optional
        If True, the call line is formatted and returned as a string.  If not, a
        tuple of (name, argspec) is returned.
  
      Returns
      -------
      call_info : None, str or (str, dict) tuple.
        When format_call is True, the whole call information is formattted as a
        single string.  Otherwise, the object's name and its argspec dict are
        returned.  If no call information is available, None is returned.
  
      docstring : str or None
        The most relevant docstring for calling purposes is returned, if
        available.  The priority is: call docstring for callable instances, then
        constructor docstring for classes, then main object's docstring otherwise
        (regular functions).
      """
      # Get call definition
      argspec = oinfo.get("argspec")
      if argspec is None:
          call_line = None
      else:
          # Callable objects will have 'self' as their first argument, prune
          # it out if it's there for clarity (since users do *not* pass an
          # extra first argument explicitly).
          try:
              has_self = argspec["args"][0] == "self"
          except (KeyError, IndexError):
              pass
          else:
              if has_self:
                  argspec["args"] = argspec["args"][1:]
  
          call_line = oinfo["name"] + format_argspec(argspec)
  
      # Now get docstring.
      # The priority is: call docstring, constructor docstring, main one.
      doc = oinfo.get("call_docstring")
      if doc is None:
          doc = oinfo.get("init_docstring")
      if doc is None:
          doc = oinfo.get("docstring", "")
  
      return call_line, doc
  
imports: from __future__ import print_function
  import inspect
  import linecache
  import warnings
  import os
  from textwrap import dedent
  import types
  import io
  from IPython.core import page
  from IPython.lib.pretty import pretty
  from IPython.testing.skipdoctest import skip_doctest_py3
  from IPython.utils import PyColorize
  from IPython.utils import openpy
  from IPython.utils import py3compat
  from IPython.utils.dir2 import safe_hasattr
  from IPython.utils.path import compress_user
  from IPython.utils.text import indent
  from IPython.utils.wildcard import list_namespace
  from IPython.utils.coloransi import TermColors, ColorScheme, ColorSchemeTable
  from IPython.utils.py3compat import cast_unicode, string_types, PY3
  from IPython.utils.signatures import signature
  from IPython.utils.colorable import Colorable
  from pygments import highlight
  from pygments.formatters import HtmlFormatter
label_desc: Use image node_id 9 for calling a global function with example usage: call_tip(oinfo, format_call) and returns: call_line,  doc