public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [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