code: def all_dataset_ids(self, reader_name=None, composites=False):
          
          try:
              if reader_name:
                  readers = [self.readers[reader_name]]
              else:
                  readers = self.readers.values()
          except (AttributeError, KeyError):
              raise KeyError("No reader '%s' found in scene" % reader_name)
  
          all_datasets = [dataset_id
                          for reader in readers
                          for dataset_id in reader.all_dataset_ids]
          if composites:
              all_datasets += self.all_composite_ids()
          return all_datasets
docs: Get names of all datasets from loaded readers or `reader_name` if
          specified..
  
          :return: list of all dataset names