Example #1
0
 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
Example #2
0
 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
Example #3
0
 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
Example #4
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)
Example #5
0
 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)
Example #6
0
 def resume(self):
     if not self.resumed:
         self.resumed = time.time()
         self.paused = None
         log("Session %s resumed" % self)
     return self.total