docs: def ObsBandpass(obstring, graphtable=None, comptable=None, component_dict={}):
      """Generate a bandpass object from observation mode.
  
      If the bandpass consists of multiple throughput files
      (e.g., "acs,hrc,f555w"), then `ObsModeBandpass` is returned.
      Otherwise, if it consists of a single throughput file
      (e.g., "johnson,v"), then `~pysynphot.spectrum.TabularSpectralElement`
      is returned.
  
      See :ref:`pysynphot-obsmode-bandpass` and :ref:`pysynphot-appendixb`
      for more details.
  
      Parameters
      ----------
      obstring : str
          Observation mode.
  
      graphtable, comptable, component_dict
          See `~pysynphot.observationmode.ObservationMode`.
  
      Returns
      -------
      bp : `~pysynphot.spectrum.TabularSpectralElement` or `ObsModeBandpass`
  
      Examples
      --------
      >>> bp1 = S.ObsBandpass('acs,hrc,f555w')
      >>> bp2 = S.ObsBandpass('johnson,v')
  
      """
      ##Temporarily create an Obsmode to determine whether an
      ##ObsModeBandpass or a TabularSpectralElement will be returned.
      ob=ObservationMode(obstring,graphtable=graphtable,
                         comptable=comptable,component_dict=component_dict)
      if len(ob) > 1:
          return ObsModeBandpass(ob)
      else:
          return TabularSpectralElement(ob.components[0].throughput_name)