class_docstr: The mode to use when interacting with the resource
  
  ``Request.Mode`` is a composite of ``Request.ImageMode`` and
  ``Request.IOMode``. The image mode that tells the plugin the desired (and
  expected) image shape and the ``Request.IOMode`` tells the plugin the way
  the resource should be interacted with. For a detailed description of the
  available modes, see the documentation for ``Request.ImageMode`` and
  ``Request.IOMode`` respectively.
  
  Available modes are all combinations of ``Request.IOMode`` and ``Request.ImageMode``:
  
  - read_single_image ("ri")
  - read_multi_image ("rI")
  - read_single_volume ("rv")
  - read_multi_volume ("rV")
  - read_any ("r?")
  - write_single_image ("wi")
  - write_multi_image ("wI")
  - write_single_volume ("wv")
  - write_multi_volume ("wV")
  - write_any ("w?")
  
  Examples
  --------
  >>> Request.Mode("rI")  # a list of simple images should be read from the resource
  >>> Request.Mode("wv")  # a single volume should be written to the resource
class_docstr_tok: ["The","mode","to","use","when","interacting","with","the","resource","``","Request.Mode","``","is","a","composite","of","``","Request.ImageMode","``","and","``","Request.IOMode","``",".","The","image","mode","that","tells","the","plugin","the","desired","(","and","expected",")","image","shape","and","the","``","Request.IOMode","``","tells","the","plugin","the","way","the","resource","should","be","interacted","with",".","For","a","detailed","description","of","the","available","modes",",","see","the","documentation","for","``","Request.ImageMode","``","and","``","Request.IOMode","``","respectively",".","Available","modes","are","all","combinations","of","``","Request.IOMode","``","and","``","Request.ImageMode","``",":","-","read_single_image","(","``","ri","''",")","-","read_multi_image","(","``","rI","''",")","-","read_single_volume","(","``","rv","''",")","-","read_multi_volume","(","``","rV","''",")","-","read_any","(","``","r","?","''",")","-","write_single_image","(","``","wi","''",")","-","write_multi_image","(","``","wI","''",")","-","write_single_volume","(","``","wv","''",")","-","write_multi_volume","(","``","wV","''",")","-","write_any","(","``","w","?","''",")","Examples","--","--","--","--",">",">",">","Request.Mode","(","``","rI","''",")","#","a","list","of","simple","images","should","be","read","from","the","resource",">",">",">","Request.Mode","(","``","wv","''",")","#","a","single","volume","should","be","written","to","the","resource"]
docstr: For backwards compatibility with the old non-enum modes
docstr_tok: ["For","backwards","compatibility","with","the","old","non-enum","modes"]
code: def __getitem__(self, key):
      """For backwards compatibility with the old non-enum modes"""
      if key == 0:
          return self.io_mode
      elif key == 1:
          return self.image_mode
      else:
          raise IndexError(f"Mode has no item {key}")
  
imports: import os
  from io import BytesIO
  import zipfile
  import tempfile
  import shutil
  import enum
  import warnings
  from ..core import urlopen, get_remote_file
  from pathlib import Path
  from urllib.parse import urlparse
  from typing import Optional
label_desc: Use image node_id 4 for calling the Mode obj's underlying member method code with example usage: obj.__getitem__(key) and returns: self, self