def pause(self): if not self.paused: self.paused = time.time() self.total += self.paused - (self.resumed or self.started) self.resumed = None log("Session %s paused" % self) return self.total
def state(self): log("Performing session state check") if self.paused: return self.total if self.resumed: return self.total + (time.time() - self.resumed) return time.time() - self.started
def __init__(self): self.session_id = uuid.uuid1() log("Initializing session %s" % self) self.started = time.time() self.paused = None self.resumed = None self.total = 0
def vault(self): home = os.getenv('USERPROFILE') or os.getenv('HOME') datadir = os.path.join(home, '.vimtimechi') vault = os.path.join(datadir, "vault.db") if not os.path.exists(vault): log("Ensuring DB is present at %s..." % datadir) if not os.path.exists(datadir): log("Creating datadir...") os.mkdir(datadir) return shelve.open(vault)
def report_event(self, event): log("Event reported: %s" % event) event_fn = getattr(events, event, None) assert event_fn is not None and callable(event_fn), \ "Event %s must be callable" % event return event_fn(self)
def resume(self): if not self.resumed: self.resumed = time.time() self.paused = None log("Session %s resumed" % self) return self.total