code: def _download_raw_files_iter(
      self,
      download_function: Union[
          "DatasourcesApi.get_list_of_raw_samples_from_datasource_by_dataset_id",
          "DatasourcesApi.get_list_of_raw_samples_predictions_from_datasource_by_dataset_id",
          "DatasourcesApi.get_list_of_raw_samples_metadata_from_datasource_by_dataset_id",
      ],
      from_: int = 0,
      to: Optional[int] = None,
      relevant_filenames_file_name: Optional[str] = None,
      use_redirected_read_url: bool = False,
      progress_bar: Optional[tqdm.tqdm] = None,
      **kwargs,
  ) -> Iterator[Tuple[str, str]]:
      if to is None:
          to = int(time.time())
      relevant_filenames_kwargs = (
          {"relevant_filenames_file_name": relevant_filenames_file_name}
          if relevant_filenames_file_name
          else dict()
      )
  
      listed_filenames = set()
  
      def get_samples(
          response: DatasourceRawSamplesData,
      ) -> Iterator[Tuple[str, str]]:
          for sample in response.data:
              if _sample_unseen_and_valid(
                  sample=sample,
                  relevant_filenames_file_name=relevant_filenames_file_name,
                  listed_filenames=listed_filenames,
              ):
                  listed_filenames.add(sample.file_name)
                  yield sample.file_name, sample.read_url
              if progress_bar is not None:
                  progress_bar.update(1)
  
      response: DatasourceRawSamplesData = download_function(
          dataset_id=self.dataset_id,
          var_from=from_,
          to=to,
          use_redirected_read_url=use_redirected_read_url,
          **relevant_filenames_kwargs,
          **kwargs,
      )
      yield from get_samples(response=response)
      while response.has_more:
          response: DatasourceRawSamplesData = download_function(
              dataset_id=self.dataset_id,
              cursor=response.cursor,
              use_redirected_read_url=use_redirected_read_url,
              **relevant_filenames_kwargs,
              **kwargs,
          )
          yield from get_samples(response=response)
  
imports: import time
  import warnings
  from typing import Dict, Iterator, List, Optional, Set, Tuple, Union
  import tqdm
  from lightly.openapi_generated.swagger_client.models import DatasourceConfig, DatasourceProcessedUntilTimestampRequest, DatasourceProcessedUntilTimestampResponse, DatasourcePurpose, DatasourceRawSamplesData
  from lightly.openapi_generated.swagger_client.models.datasource_raw_samples_data_row import DatasourceRawSamplesDataRow
label_desc: Use image node_id 21 for calling the _DatasourcesMixin obj's underlying member method code with example usage: obj._download_raw_files_iter(download_function, from_, to, relevant_filenames_file_name, use_redirected_read_url, progress_bar) without return types