def __init__(self, activity_tracker, t): self.db_name = os.path.join(cfg.CURRENT_DIR, cfg.SQLDB) self.last_commit = t self.activity_tracker = activity_tracker # make sql database if cfg.STORAGE == "sqlite": try: self.session_maker = models.initialize(self.db_name) self.session = self.session_maker() except sqlalchemy.exc.OperationalError: # show modal error print "Database operational error. Your storage device may be full. Exiting Selfspy..." utils_cocoa.show_alert("Database operational error. Your storage device may be full. Exiting Selfspy...") # close the program sys.exit()
def sqlcommit(self): self.last_commit = cfg.NOW() for _ in xrange(1000): try: self.session.commit() break except sqlalchemy.exc.OperationalError: # pause recording if(preferences.getValueForPreference("recording")): self.activity_tracker.sniffer.delegate.toggleLogging_(self) self.session.rollback() # show modal alert print "Database operational error. Your storage device may be full. Turning off Selfspy recording." utils_cocoa.show_alert("Database operational error. Your storage device may be full. Turning off Selfspy recording.") break except: raise print "Rollback database" self.session.rollback()
def __init__(self, activity_tracker, t): self.db_name = os.path.join(cfg.CURRENT_DIR, cfg.SQLDB) self.last_commit = t self.activity_tracker = activity_tracker # make sql database if cfg.STORAGE == "sqlite": try: self.session_maker = models.initialize(self.db_name) self.session = self.session_maker() except sqlalchemy.exc.OperationalError: # show modal error print "Database operational error. Your storage device may be full. Exiting Selfspy..." utils_cocoa.show_alert( "Database operational error. Your storage device may be full. Exiting Selfspy..." ) # close the program sys.exit()
def sqlcommit(self): self.last_commit = cfg.NOW() for _ in xrange(1000): try: self.session.commit() break except sqlalchemy.exc.OperationalError: # pause recording if (preferences.getValueForPreference("recording")): self.activity_tracker.sniffer.delegate.toggleLogging_(self) self.session.rollback() # show modal alert print "Database operational error. Your storage device may be full. Turning off Selfspy recording." utils_cocoa.show_alert( "Database operational error. Your storage device may be full. Turning off Selfspy recording." ) break except: raise print "Rollback database" self.session.rollback()