2020-03-12 15:27:28 +01:00
|
|
|
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.
|
|
|
|
"""
|
2020-04-10 16:39:29 +02:00
|
|
|
|
|
|
|
def adding_requirement(self, requirement):
|
|
|
|
"""Called when the resolver adds a new requirement into the resolve criteria.
|
|
|
|
"""
|
|
|
|
|
|
|
|
def backtracking(self, candidate):
|
|
|
|
"""Called when the resolver rejects a candidate during backtracking.
|
|
|
|
"""
|
|
|
|
|
|
|
|
def pinning(self, candidate):
|
|
|
|
"""Called when adding a candidate to the potential solution.
|
|
|
|
"""
|