code: def make_label_dec(label, ds=None):
      """Factory function to create a decorator that applies one or more labels.
  
      Parameters
      ----------
        label : string or sequence
        One or more labels that will be applied by the decorator to the functions
      it decorates.  Labels are attributes of the decorated function with their
      value set to True.
  
        ds : string
        An optional docstring for the resulting decorator.  If not given, a
        default docstring is auto-generated.
  
      Returns
      -------
        A decorator.
  
      Examples
      --------
  
      A simple labeling decorator:
  
      >>> slow = make_label_dec('slow')
      >>> slow.__doc__
      "Labels a test as 'slow'."
  
      And one that uses multiple labels and a custom docstring:
  
      >>> rare = make_label_dec(['slow','hard'],
      ... "Mix labels 'slow' and 'hard' for rare tests.")
      >>> rare.__doc__
      "Mix labels 'slow' and 'hard' for rare tests."
  
      Now, let's test using this one:
      >>> @rare
      ... def f(): pass
      ...
      >>>
      >>> f.slow
      True
      >>> f.hard
      True
      """
  
      warnings.warn(
          "The function `make_label_dec` is deprecated since IPython 4.0",
          DeprecationWarning,
          stacklevel=2,
      )
      if isinstance(label, string_types):
          labels = [label]
      else:
          labels = label
  
      # Validate that the given label(s) are OK for use in setattr() by doing a
      # dry run on a dummy function.
      tmp = lambda: None
      for label in labels:
          setattr(tmp, label, True)
  
      # This is the actual decorator we'll return
      def decor(f):
          for label in labels:
              setattr(f, label, True)
          return f
  
      # Apply the user's docstring, or autogenerate a basic one
      if ds is None:
          ds = "Labels a test as %r." % label
      decor.__doc__ = ds
  
      return decor
  
file_path: catboost/contrib/python/ipython/py2/IPython/testing/decorators.py
imports: import sys
  import os
  import tempfile
  import unittest
  import warnings
  from decorator import decorator
  from .ipunittest import ipdoctest, ipdocstring
  from IPython.external.decorators import *
  from IPython.utils.py3compat import string_types, which, PY2, PY3, PYPY
label_desc: Use image node_id 3 for calling a global function with example usage: make_label_dec(label, ds) and returns: decor, f