code: def patch_gradio(cls):
      if cls.__patched:
          return
      # noinspection PyBroadException
      try:
          import gradio
  
          gradio.routes.App.get_blocks = _patched_call(
              gradio.routes.App.get_blocks,
              PatchGradio._patched_get_blocks,
          )
          gradio.blocks.Blocks.launch = _patched_call(
              gradio.blocks.Blocks.launch, PatchGradio._patched_launch
          )
      except Exception:
          pass
      cls.__patched = True
  
file_path: clearml/clearml/binding/gradio_bind.py
imports: import sys
  from logging import getLogger
  from .frameworks import _patched_call
  from .import_bind import PostImportHookPatching
  from ..utilities.networking import get_private_ip
  from ..config import running_remotely
label_desc: Use image node_id 2 for calling the PatchGradio obj's underlying member method code with example usage: obj.patch_gradio(cls) without return types