docstr: This method enables to get files under the provided path from the Drive in a blocking fashion.
  
  Arguments:
      path: The relative path you want to list files from the Drive.
      component_name: By default, the Drive get the matching files across all components.
          If you provide a component name, the matching is specific to this component.
      timeout: Whether to wait for the files to be available if not created yet.
      overwrite: Whether to override the provided path if it exists.
docstr_tok: ["This","method","enables","to","get","files","under","the","provided","path","from","the","Drive","in","a","blocking","fashion",".","Arguments",":","path",":","The","relative","path","you","want","to","list","files","from","the","Drive",".","component_name",":","By","default",",","the","Drive","get","the","matching","files","across","all","components",".","If","you","provide","a","component","name",",","the","matching","is","specific","to","this","component",".","timeout",":","Whether","to","wait","for","the","files","to","be","available","if","not","created","yet",".","overwrite",":","Whether","to","override","the","provided","path","if","it","exists","."]
code: def get(
      self,
      path: str,
      component_name: Optional[str] = None,
      timeout: Optional[float] = None,
      overwrite: bool = False,
  ) -> None:
      """This method enables to get files under the provided path from the Drive in a blocking fashion.
  
      Arguments:
          path: The relative path you want to list files from the Drive.
          component_name: By default, the Drive get the matching files across all components.
              If you provide a component name, the matching is specific to this component.
          timeout: Whether to wait for the files to be available if not created yet.
          overwrite: Whether to override the provided path if it exists.
  
      """
      if _is_flow_context():
          raise Exception(
              "The flow isn't allowed to get files from a Drive."
          )
  
      if component_name:
          shared_path = self._to_shared_path(
              path,
              component_name=component_name,
          )
          if timeout:
              start_time = time()
              while not self.fs.exists(shared_path):
                  sleep(1)
                  if (time() - start_time) > timeout:
                      raise Exception(
                          f"The following {path} wasn't found in {timeout} seconds"
                      )
                  break
  
          self._get(
              self.fs,
              shared_path,
              pathlib.Path(
                  os.path.join(self.root_folder, path)
              ).resolve(),
              overwrite=overwrite,
          )
      else:
          if timeout:
              start_time = time()
              while True:
                  if (time() - start_time) > timeout:
                      raise Exception(
                          f"The following {path} wasn't found in {timeout} seconds."
                      )
                  match = self._find_match(path)
                  if match is None:
                      sleep(1)
                      continue
                  break
          else:
              match = self._find_match(path)
              if not match:
                  raise Exception(
                      f"We didn't find any match for the associated {path}."
                  )
  
          self._get(
              self.fs,
              match,
              pathlib.Path(
                  os.path.join(self.root_folder, path)
              ).resolve(),
              overwrite=overwrite,
          )
  
imports: import os
  import pathlib
  import shutil
  import sys
  from copy import deepcopy
  from time import sleep, time
  from typing import Dict, List, Optional, Union
  from lightning.app.storage.path import LocalFileSystem, _filesystem, _shared_storage_path
  from lightning.app.utilities.component import _is_flow_context
label_desc: Use image node_id 6 for calling the Drive obj's underlying member method code with example usage: obj.get(path, component_name, timeout, overwrite) without return types