class Service: def __init__(self, logpath, journalpath): log = DirDBMLog(logpath) self.journal = MemoryJournal(log, self, journalpath, self._gotData) self.journal.updateFromLog() def _gotData(self, result): if result is None: self.values = {} self.counters = {} else: self.values, self.counters = result def _makeCounter(self, id): c = Counter(id) self.counters[id] = c return c makeCounter = serviceCommand("_makeCounter") def loadObject(self, type, id): if type != "counter": raise ValueError return self.counters[id] def _add(self, key, value): """Add a new entry.""" self.values[key] = value def _delete(self, key): """Delete an entry.""" del self.values[key] def get(self, key): """Return value of an entry.""" return self.values[key] def addtime(self, journal): """Set a key 'time' with the current time.""" journal.executeCommand(AddTime()) add = serviceCommand("_add") delete = serviceCommand("_delete")
class Service: def __init__(self, logpath, journalpath): log = DirDBMLog(logpath) self.journal = MemoryJournal(log, self, journalpath, self._gotData) self.journal.updateFromLog() def _gotData(self, result): if result is None: self.values = {} self.counters = {} else: self.values, self.counters = result def _makeCounter(self, id): c = Counter(id) self.counters[id] = c return c makeCounter = serviceCommand("_makeCounter") def loadObject(self, type, id): if type != "counter": raise ValueError return self.counters[id] def _add(self, key, value): """Add a new entry.""" self.values[key] = value def _delete(self, key): """ Delete an entry. """ del self.values[key] def get(self, key): """ Return value of an entry. """ return self.values[key] def addtime(self, journal): """ Set a key 'time' with the current time. """ journal.executeCommand(AddTime()) # and now the command wrappers add = serviceCommand("_add") delete = serviceCommand("_delete")
def __init__(self, logpath, journalpath): log = DirDBMLog(logpath) self.journal = MemoryJournal(log, self, journalpath, self._gotData) self.journal.updateFromLog()