text: # Copyright The PyTorch Lightning team.
  #
  # Licensed under the Apache License, Version 2.0 (the "License");
  # you may not use this file except in compliance with the License.
  # You may obtain a copy of the License at
  #
  #     http://www.apache.org/licenses/LICENSE-2.0
  #
  # Unless required by applicable law or agreed to in writing, software
  # distributed under the License is distributed on an "AS IS" BASIS,
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  # See the License for the specific language governing permissions and
  # limitations under the License.
  from abc import ABC
  from typing import Any, List, Optional, Union
  
  from torch.utils.data import DataLoader
  
  import pytorch_lightning as pl
  from pytorch_lightning.trainer.states import RunningStage
  from pytorch_lightning.utilities import rank_zero_deprecation
  
  
  class TrainerDataLoadingMixin(ABC):
      r"""
      .. deprecated:: v1.6
          The `TrainerDataLoadingMixin` class was deprecated in v1.6 and will be removed in v1.8.
      """
  
      def prepare_dataloader(self, dataloader: Any, shuffle: bool, mode: Optional[RunningStage] = None) -> Any:
          r"""
          .. deprecated:: v1.6
              `TrainerDataLoadingMixin.prepare_dataloader` was deprecated in v1.6
              and will be removed in v1.8.
  
          This function handles to following functionalities:
  
          - Injecting a `DistributedDataSampler` into the `DataLoader` if on a distributed environment
          - Wrapping the datasets and samplers into fault-tolerant components
          """
          rank_zero_deprecation(
              "`TrainerDataLoadingMixin.prepare_dataloader` was deprecated in v1.6 and will be removed in v1.8."
          )
          return self._data_connector._prepare_dataloader(dataloader, shuffle, mode)
  
      def request_dataloader(
          self, stage: RunningStage, model: Optional["pl.LightningModule"] = None
      ) -> Union[DataLoader, List[DataLoader]]:
          r"""
          .. deprecated:: v1.6
              `TrainerDataLoadingMixin.request_dataloader` was deprecated in v1.6
              and will be removed in v1.8.
  
          Requests a dataloader from the given model by calling dataloader hooks corresponding to the given stage.
  
          Returns:
              The requested dataloader
          """
          rank_zero_deprecation(
              "`TrainerDataLoadingMixin.request_dataloader` was deprecated in v1.6 and will be removed in v1.8."
          )
          return self._data_connector._request_dataloader(stage, model)
  