def put(self, key, data): json_data = JsonFileManager.read(self._json_db_dir, self._dbname) if data: json_data[key] = self._jsonConverter.serialize(data) elif key in json_data: del json_data[key] JsonFileManager.write(self._json_db_dir, self._dbname, json_data)
def clear_except_metadata(self): json_data = JsonFileManager.read(self._json_db_dir, self._dbname) metadata = json_data.get('metadata', None) json_data = {} if metadata != None: json_data['metadata'] = metadata JsonFileManager.write(self._json_db_dir, self._dbname, json_data)
def process(self): metadata = JsonFileManager.read(self.dir, 'metadata_db.json') self._resource_cache = {} for hook in self.hooks: try: self._process_hook(hook, metadata) except FatalUpdateError: raise except Exception: log.exception("Exception caught while running hook %s", hook.name)
def pop(self, key): json_data = JsonFileManager.read(self._json_db_dir, self._dbname) if key in json_data: value = self._jsonConverter.deserialize(json_data[key]) ret_val = value.popleft() if not value: del json_data[key] else: json_data[key] = self._jsonConverter.serialize(value) JsonFileManager.write(self._json_db_dir, self._dbname, json_data) return ret_val else: return None
def has_key(self, key): json_data = JsonFileManager.read(self._json_db_dir, self._dbname) return key in json_data
def delete(self, key): json_data = JsonFileManager.read(self._json_db_dir, self._dbname) if key in json_data: del json_data[key] JsonFileManager.write(self._json_db_dir, self._dbname, json_data)
def get(self, key, default=None): json_data = JsonFileManager.read(self._json_db_dir, self._dbname) if key in json_data: return self._jsonConverter.deserialize(json_data[key]) else: return default