code: def _checks_drafts(
      name=None,
      draft3=None,
      draft4=None,
      draft6=None,
      draft7=None,
      raises=(),
  ):
      draft3 = draft3 or name
      draft4 = draft4 or name
      draft6 = draft6 or name
      draft7 = draft7 or name
  
      def wrap(func):
          if draft3:
              func = _draft_checkers["draft3"].checks(draft3, raises)(
                  func
              )
          if draft4:
              func = _draft_checkers["draft4"].checks(draft4, raises)(
                  func
              )
          if draft6:
              func = _draft_checkers["draft6"].checks(draft6, raises)(
                  func
              )
          if draft7:
              func = _draft_checkers["draft7"].checks(draft7, raises)(
                  func
              )
  
          # Oy. This is bad global state, but relied upon for now, until
          # deprecation. See https://github.com/Julian/jsonschema/issues/519
          # and test_format_checkers_come_with_defaults
          FormatChecker.cls_checks(
              draft7 or draft6 or draft4 or draft3, raises
          )(
              func,
          )
          return func
  
      return wrap
  
file_path: catboost/contrib/python/jsonschema/py2/jsonschema/_format.py
imports: import datetime
  import re
  import socket
  import struct
  from jsonschema.compat import str_types
  from jsonschema.exceptions import FormatError
label_desc: Use image node_id 1 for calling a global function with example usage: _checks_drafts(name, draft3, draft4, draft6, draft7, raises) and returns: wrap, func