code: def _get_filesystems_and_globs(datetime_to_task, datetime_to_re):
      
      # probe some scattered datetimes unlikely to all occur in paths, other than by being sincere datetime parameter's representations
      # TODO limit to [self.start, self.stop) so messages are less confusing? Done trivially it can kill correctness
      sample_datetimes = [datetime(y, m, d, h) for y in range(2000, 2050, 10) for m in range(1, 4) for d in range(5, 8) for h in range(21, 24)]
      regexes = [re.compile(datetime_to_re(d)) for d in sample_datetimes]
      sample_tasks = [datetime_to_task(d) for d in sample_datetimes]
      sample_outputs = [flatten_output(t) for t in sample_tasks]
  
      for o, t in zip(sample_outputs, sample_tasks):
          if len(o) != len(sample_outputs[0]):
              raise NotImplementedError("Outputs must be consistent over time, sorry; was %r for %r and %r for %r" % (o, t, sample_outputs[0], sample_tasks[0]))
              # TODO fall back on requiring last couple of days? to avoid astonishing blocking when changes like that are deployed
              # erm, actually it's not hard to test entire hours_back..hours_forward and split into consistent subranges FIXME?
          for target in o:
              if not isinstance(target, FileSystemTarget):
                  raise NotImplementedError("Output targets must be instances of FileSystemTarget; was %r for %r" % (target, t))
  
      for o in zip(*sample_outputs):  # transposed, so here we're iterating over logical outputs, not datetimes
          glob = _get_per_location_glob(sample_tasks, o, regexes)
          yield o[0].fs, glob
docs: Yields a (filesystem, glob) tuple per every output location of task.
  
      The task can have one or several FileSystemTarget outputs.
  
      For convenience, the task can be a luigi.WrapperTask,
      in which case outputs of all its dependencies are considered.