# Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 import copy from portage.cache import template class database(template.database): autocommits = True serialize_eclasses = False store_eclass_paths = False def __init__(self, *args, **config): config.pop("gid", None) config.pop("perms", None) super(database, self).__init__(*args, **config) self._data = {} self._delitem = self._data.__delitem__ def _setitem(self, name, values): self._data[name] = copy.deepcopy(values) def __getitem__(self, cpv): return copy.deepcopy(self._data[cpv]) def __iter__(self): return iter(self._data) def __contains__(self, key): return key in self._data