def iterate_indices()

in src/es_pii_tool/base.py [0:0]


    def iterate_indices(self, job: Job) -> bool:
        """Iterate over every index in job.indices"""
        all_succeeded = True
        for idx in job.indices:
            try:
                task = Task(job, index=idx, id_suffix='PARENT-TASK')
                # First check to see if idx has been touched as part of a previous run
                if task.finished():
                    continue  # This index has already been verified
                task.begin()
            except Exception as err:
                logger.critical('Unable to create task: %s', err)
                raise FatalError('Unable to create task', err) from err
            task_success = False
            try:
                msg = f'Iterating per index: Index {idx} of {job.indices}'
                logger.debug(msg)
                task.add_log(msg)
                redact = RedactIndex(idx, job, self.counter)
                redact.run()
                task_success = redact.success
                self.counter = redact.counter
                logger.debug('RESULT: %s', task_success)
            except MissingIndex as err:
                logger.critical(err)
                raise FatalError(f'Index {err.missing} not found.', err) from err
            except FatalError as err:
                logger.critical('Fatal upstream error encountered: %s', err.message)
                raise FatalError('We suffered a fatal upstream error', err) from err
            end_it(task, task_success)
            if not task.completed:
                all_succeeded = False
                job.add_log(f'Unable to complete task {task.task_id}')
        return all_succeeded