'Return the total progress, adding total done and total available.
(assumes that each submodule uses the same "units" for progress.)'

def get_progress(self):

    children = self.get_children()
    progresses = [child.get_progress() for child in children]
    progress = reduce(Progress.add_counts, progresses, None)
    return progress
