summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
Diffstat (limited to 'pym')
-rw-r--r--pym/cache/volatile.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/pym/cache/volatile.py b/pym/cache/volatile.py
new file mode 100644
index 000000000..068a4b817
--- /dev/null
+++ b/pym/cache/volatile.py
@@ -0,0 +1,25 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+import copy
+if not hasattr(__builtins__, "set"):
+ from sets import Set as set
+from cache import template
+
+class database(template.database):
+
+ autocommits = True
+ serialize_eclasses = False
+
+ def __init__(self, *args, **config):
+ config.pop("gid", None)
+ super(database, self).__init__(*args, **config)
+ self._data = {}
+ self.iterkeys = self._data.iterkeys
+ self._setitem = self._data.__setitem__
+ self._delitem = self._data.__delitem__
+ self.__contains__ = self._data.__contains__
+
+ def _getitem(self, cpv):
+ return copy.deepcopy(self._data[cpv])