def _generate_chunk_boundary_slices()

in granule_ingester/granule_ingester/slicers/SliceFileByStepSize.py [0:0]


    def _generate_chunk_boundary_slices(self, dimension_specs) -> list:
        dimension_bounds = []
        dim_step_keys = self._dimension_step_sizes.keys()

        for dim_name, dim_len in dimension_specs.items():
            step_size = self._dimension_step_sizes[dim_name] if dim_name in dim_step_keys else dim_len

            bounds = []
            for i in range(0, dim_len, step_size):
                bounds.append('{name}:{start}:{end}'.format(name=dim_name,
                                                            start=i,
                                                            end=min((i + step_size), dim_len)))
            dimension_bounds.append(bounds)
        return [','.join(chunks) for chunks in itertools.product(*dimension_bounds)]