class BaseReporter(object): | |
"""Delegate class to provider progress reporting for the resolver.""" | |
def starting(self): | |
"""Called before the resolution actually starts.""" | |
def starting_round(self, index): | |
"""Called before each round of resolution starts. | |
The index is zero-based. | |
""" | |
def ending_round(self, index, state): | |
"""Called before each round of resolution ends. | |
This is NOT called if the resolution ends at this round. Use `ending` | |
if you want to report finalization. The index is zero-based. | |
""" | |
def ending(self, state): | |
"""Called before the resolution ends successfully.""" | |
def adding_requirement(self, requirement, parent): | |
"""Called when adding a new requirement into the resolve criteria. | |
:param requirement: The additional requirement to be applied to filter | |
the available candidaites. | |
:param parent: The candidate that requires ``requirement`` as a | |
dependency, or None if ``requirement`` is one of the root | |
requirements passed in from ``Resolver.resolve()``. | |
""" | |
def resolving_conflicts(self, causes): | |
"""Called when starting to attempt requirement conflict resolution. | |
:param causes: The information on the collision that caused the backtracking. | |
""" | |
def backtracking(self, candidate): | |
"""Called when rejecting a candidate during backtracking.""" | |
def pinning(self, candidate): | |
"""Called when adding a candidate to the potential solution.""" |