class_docstr: The FormatManager is a singleton plugin factory.
  
  The format manager supports getting a format object using indexing (by
  format name or extension). When used as an iterator, this object
  yields all registered format objects.
  
  See also :func:`.help`.
class_docstr_tok: ["The","FormatManager","is","a","singleton","plugin","factory",".","The","format","manager","supports","getting","a","format","object","using","indexing","(","by","format","name","or","extension",")",".","When","used","as","an","iterator",",","this","object","yields","all","registered","format","objects",".","See","also",":","func",":","`",".help","`","."]
docstr: search_read_format(request)
  
  Search a format that can read a file according to the given request.
  Returns None if no appropriate format was found. (used internally)
docstr_tok: ["search_read_format","(","request",")","Search","a","format","that","can","read","a","file","according","to","the","given","request",".","Returns","None","if","no","appropriate","format","was","found",".","(","used","internally",")"]
code: def search_read_format(self, request):
      """search_read_format(request)
  
      Search a format that can read a file according to the given request.
      Returns None if no appropriate format was found. (used internally)
      """
  
      try:
          # in legacy_mode imopen returns a LegacyPlugin
          return imopen(
              request, request.mode.io_mode, legacy_mode=True
          )._format
      except AttributeError:
          warnings.warn(
              "ImageIO now uses a v3 plugin when reading this format."
              " Please migrate to the v3 API (preferred) or use imageio.v2.",
              DeprecationWarning,
              stacklevel=2,
          )
          return None
      except ValueError:
          # no plugin can read this request
          # but the legacy API doesn't raise
          return None
  
imports: import sys
  import warnings
  import contextlib
  import numpy
  from pathlib import Path
  from .None import Array, asarray
  from .request import ImageMode
  from ..config import known_plugins, known_extensions, PluginConfig, FileExtension
  from ..config.plugins import _original_order
  from .imopen import imopen
label_desc: Use image node_id 9 for calling the FormatManager obj's underlying member method code with example usage: obj.search_read_format(request) and returns: imopen, None, None