Beispiel #1
0
 def get_data(self, state=None, request=None):
     if state is not None or request is None:
         raise ValueError
     if isinstance(request, collections.Iterable):
         return tuple(iterable_fancy_indexing(indexable, request)
                      for indexable in self.indexables)
     else:
         return tuple(indexable[request] for indexable in self.indexables)
Beispiel #2
0
 def get_data(self, state=None, request=None):
     if state is not None or request is None:
         raise ValueError
     if isinstance(request, collections.Iterable):
         return tuple(
             iterable_fancy_indexing(indexable, request)
             for indexable in self.indexables)
     else:
         return tuple(indexable[request] for indexable in self.indexables)
Beispiel #3
0
 def _out_of_memory_get_data(self, state=None, request=None):
     if not isinstance(request, (slice, list)):
         raise ValueError()
     data = []
     shapes = []
     handle = self._file_handle
     for source_name, subset in zip(self.sources, self.subsets):
         if hasattr(subset, 'step'):
             if hasattr(request, 'step'):
                 req = slice(request.start + subset.start,
                             request.stop + subset.start, request.step)
             else:
                 req = [index + subset.start for index in request]
         else:
             req = iterable_fancy_indexing(subset, request)
         if hasattr(req, 'step'):
             val = handle[source_name][req]
             if source_name in self.vlen_sources:
                 shape = handle[source_name].dims[0]['shapes'][req]
             else:
                 shape = None
         else:
             if self.sort_indices:
                 val = self.unsorted_fancy_index(req, handle[source_name])
                 if source_name in self.vlen_sources:
                     shape = self.unsorted_fancy_index(
                         req, handle[source_name].dims[0]['shapes'])
                 else:
                     shape = None
             else:
                 val = handle[source_name][req]
                 if source_name in self.vlen_sources:
                     shape = handle[source_name].dims[0]['shapes'][req]
                 else:
                     shape = None
         data.append(val)
         shapes.append(shape)
     return data, shapes
Beispiel #4
0
 def _out_of_memory_get_data(self, state=None, request=None):
     if not isinstance(request, (slice, list)):
         raise ValueError()
     data = []
     shapes = []
     handle = self._file_handle
     for source_name, subset in zip(self.sources, self.subsets):
         if hasattr(subset, 'step'):
             if hasattr(request, 'step'):
                 req = slice(request.start + subset.start,
                             request.stop + subset.start, request.step)
             else:
                 req = [index + subset.start for index in request]
         else:
             req = iterable_fancy_indexing(subset, request)
         if hasattr(req, 'step'):
             val = handle[source_name][req]
             if source_name in self.vlen_sources:
                 shape = handle[source_name].dims[0]['shapes'][req]
             else:
                 shape = None
         else:
             if self.sort_indices:
                 val = self.unsorted_fancy_index(req, handle[source_name])
                 if source_name in self.vlen_sources:
                     shape = self.unsorted_fancy_index(
                         req, handle[source_name].dims[0]['shapes'])
                 else:
                     shape = None
             else:
                 val = handle[source_name][req]
                 if source_name in self.vlen_sources:
                     shape = handle[source_name].dims[0]['shapes'][req]
                 else:
                     shape = None
         data.append(val)
         shapes.append(shape)
     return data, shapes