summaryrefslogtreecommitdiffstats
path: root/pym/portage_db_flat_hash.py
diff options
context:
space:
mode:
authorBrian Harring <ferringb@gentoo.org>2005-09-24 17:54:05 +0000
committerBrian Harring <ferringb@gentoo.org>2005-09-24 17:54:05 +0000
commit430ce6fed697eea6c68b13ecdcad14bc6fdac01d (patch)
tree7e195bcb2c0715c5d663faecf3e84007f7e69ec1 /pym/portage_db_flat_hash.py
parentf913d92453517074c89a4cd59004d72bee5ba7d8 (diff)
downloadportage-430ce6fed697eea6c68b13ecdcad14bc6fdac01d.tar.gz
portage-430ce6fed697eea6c68b13ecdcad14bc6fdac01d.tar.bz2
portage-430ce6fed697eea6c68b13ecdcad14bc6fdac01d.zip
EAPI awareness, and flat_hash/flat_list autodetection for rysnc cache.
svn path=/main/branches/2.0/; revision=2022
Diffstat (limited to 'pym/portage_db_flat_hash.py')
-rw-r--r--pym/portage_db_flat_hash.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/pym/portage_db_flat_hash.py b/pym/portage_db_flat_hash.py
new file mode 100644
index 000000000..8ee7661ff
--- /dev/null
+++ b/pym/portage_db_flat_hash.py
@@ -0,0 +1,38 @@
+# Copyright 2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-src/portage/pym/Attic/portage_db_flat.py,v 1.13.2.6 2005/04/19 07:14:17 ferringb Exp $
+cvs_id_string="$Id: portage_db_flat.py,v 1.13.2.6 2005/04/19 07:14:17 ferringb Exp $"[5:-2]
+
+import portage_db_flat, os
+
+class database(portage_db_flat.database):
+
+ def get_values(self, key, data=None):
+ """ do not specify data unless you know what it does"""
+ if not key:
+ raise KeyError("key is not valid")
+
+ if data == None:
+ try:
+ myf = open(self.fullpath + key, "r")
+ except OSError:
+ raise KeyError("failed pulling key")
+
+ data = dict(map(lambda x: x.split("=",1), myf.read().splitlines()))
+ data["_mtime_"] = os.fstat(myf.fileno()).st_mtime
+ myf.close()
+
+ mydict = {}
+ for x in self.dbkeys:
+ mydict[x] = data.get(x, "")
+ mydict["_mtime_"] = long(data["_mtime_"])
+ return mydict
+
+ def set_values(self, key, values):
+ l = []
+ for x in values.keys():
+ if values[x] and x != "_mtime_":
+ l.append("%s=%s\n" % (x, values[x]))
+ l.append(values["_mtime_"])
+ portage_db_flat.database.set_values(self, key, l, raw=True)
+