summaryrefslogtreecommitdiffstats
path: root/pym/portage/getbinpkg.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-04-07 23:10:30 +0000
committerZac Medico <zmedico@gentoo.org>2008-04-07 23:10:30 +0000
commit5053cb60a46add9f54ea6678d7ff6da040119df7 (patch)
tree86387cafb8c607ad4857c508302025d4528f19e1 /pym/portage/getbinpkg.py
parent2527a0bc8f3fc9be217e0ab5b31468d2b36718f6 (diff)
downloadportage-5053cb60a46add9f54ea6678d7ff6da040119df7.tar.gz
portage-5053cb60a46add9f54ea6678d7ff6da040119df7.tar.bz2
portage-5053cb60a46add9f54ea6678d7ff6da040119df7.zip
When reading and writing the Packages index file, translate metadata keys
on the fly. Current translations: DESC <-> DESCRIPTION REPO <-> repository svn path=/main/trunk/; revision=9742
Diffstat (limited to 'pym/portage/getbinpkg.py')
-rw-r--r--pym/portage/getbinpkg.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/pym/portage/getbinpkg.py b/pym/portage/getbinpkg.py
index 376767957..9e03b1f0e 100644
--- a/pym/portage/getbinpkg.py
+++ b/pym/portage/getbinpkg.py
@@ -668,10 +668,15 @@ def _cmp_cpv(d1, d2):
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 @@ class PackageIndex(object):
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):