Source code for spux.io.checkpointer

# # # # # # # # # # # # # # # # # # # # # # # # # #
# Checkpointer class
#
# Jonas Sukys
# Eawag, Switzerland
# jonas.sukys@eawag.ch
# All rights reserved.
# # # # # # # # # # # # # # # # # # # # # # # # # #

import timeit
from . import formatter

[docs]class Checkpointer (object): def __init__ (self, period): self.period = period
[docs] def init (self, verbosity): self.verbosity = verbosity self.start = timeit.default_timer () self.checkpoint = 0
[docs] def check (self, force=0): """Return timestamp.""" time = timeit.default_timer () - self.start if time > self.checkpoint + self.period or force: self.checkpoint = time if self.verbosity: print (' :: Checkpoint at: ', formatter.timestamp (time)) return time else: return None