In post_loop definition, could I chage ._software_catchup() to ._catchup(self.engine.console.genArchiveRecords) ?
[......]
if self.record_generation == 'software':
self._software_catchup()
elif self.record_generation == 'hardware':
# Otherwise, try to honor hardware generation. An exception
# will be raised if the console does not support it. In that
# case, fall back to software generation.
try:
self._catchup(self.engine.console.genArchiveRecords)
except NotImplementedError:
self._software_catchup()