* [gentoo-commits] portage r9742 - in main/trunk/pym/portage: . dbapi
@ 2008-04-07 23:10 Zac Medico (zmedico)
0 siblings, 0 replies; only message in thread
From: Zac Medico (zmedico) @ 2008-04-07 23:10 UTC (permalink / raw
To: gentoo-commits
Author: zmedico
Date: 2008-04-07 23:10:30 +0000 (Mon, 07 Apr 2008)
New Revision: 9742
Modified:
main/trunk/pym/portage/dbapi/bintree.py
main/trunk/pym/portage/getbinpkg.py
Log:
When reading and writing the Packages index file, translate metadata keys
on the fly. Current translations:
DESC <-> DESCRIPTION
REPO <-> repository
Modified: main/trunk/pym/portage/dbapi/bintree.py
===================================================================
--- main/trunk/pym/portage/dbapi/bintree.py 2008-04-07 22:12:04 UTC (rev 9741)
+++ main/trunk/pym/portage/dbapi/bintree.py 2008-04-07 23:10:30 UTC (rev 9742)
@@ -174,6 +174,10 @@
self._pkgindex_default_header_data = {
"repository":""
}
+ self._pkgindex_translated_keys = (
+ ("DESCRIPTION" , "DESC"),
+ ("repository" , "REPO"),
+ )
def move_ent(self, mylist):
if not self.populated:
@@ -811,7 +815,8 @@
return portage.getbinpkg.PackageIndex(
default_header_data=self._pkgindex_default_header_data,
default_pkg_data=self._pkgindex_default_pkg_data,
- inherited_keys=self._pkgindex_inherited_keys)
+ inherited_keys=self._pkgindex_inherited_keys,
+ translated_keys=self._pkgindex_translated_keys)
def _update_pkgindex_header(self, header):
portdir = normalize_path(os.path.realpath(self.settings["PORTDIR"]))
@@ -846,8 +851,6 @@
return False
def _eval_use_flags(self, cpv, metadata):
- metadata["DESC"] = metadata["DESCRIPTION"]
- del metadata["DESCRIPTION"]
use = metadata["USE"].split()
raw_use = use
iuse = set(f.lstrip("-+") for f in metadata["IUSE"].split())
Modified: main/trunk/pym/portage/getbinpkg.py
===================================================================
--- main/trunk/pym/portage/getbinpkg.py 2008-04-07 22:12:04 UTC (rev 9741)
+++ main/trunk/pym/portage/getbinpkg.py 2008-04-07 23:10:30 UTC (rev 9742)
@@ -668,10 +668,15 @@
class PackageIndex(object):
def __init__(self, default_header_data=None, default_pkg_data=None,
- inherited_keys=None):
+ inherited_keys=None, translated_keys=None):
self._default_header_data = default_header_data
self._default_pkg_data = default_pkg_data
self._inherited_keys = inherited_keys
+ self._write_translation_map = {}
+ self._read_translation_map = {}
+ if translated_keys:
+ self._write_translation_map.update(translated_keys)
+ self._read_translation_map.update(((y, x) for (x, y) in translated_keys))
self.header = {}
if self._default_header_data:
self.header.update(self._default_header_data)
@@ -690,12 +695,13 @@
k, v = line
if v:
v = v[1:]
- d[k] = v
+ d[self._read_translation_map.get(k, k)] = v
return d
-
+
def _writepkgindex(self, pkgfile, items):
for k, v in items:
- pkgfile.write("%s: %s\n" % (k, v))
+ pkgfile.write("%s: %s\n" % \
+ (self._write_translation_map.get(k, k), v))
pkgfile.write("\n")
def read(self, pkgfile):
--
gentoo-commits@lists.gentoo.org mailing list
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2008-04-07 23:10 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-07 23:10 [gentoo-commits] portage r9742 - in main/trunk/pym/portage: . dbapi Zac Medico (zmedico)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox