| # 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] = str(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] not in (None, '') 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) |
| |