summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-06-21 04:16:29 +0000
committerZac Medico <zmedico@gentoo.org>2006-06-21 04:16:29 +0000
commitdeef6c41c2419ec4919075cbf6e8b5a468f72612 (patch)
tree5dc010c39c80375dd5dd1e80bddc15e076a3c844
parentImplement get() as part of the standard mapping interface. This patch is from... (diff)
downloadportage-multirepo-deef6c41c2419ec4919075cbf6e8b5a468f72612.tar.gz
portage-multirepo-deef6c41c2419ec4919075cbf6e8b5a468f72612.tar.bz2
portage-multirepo-deef6c41c2419ec4919075cbf6e8b5a468f72612.zip
Use get() to simplify setitem logic as suggested by Brian Harring. This patch is from trunk r3546.v2.1-r1
svn path=/main/branches/2.1/; revision=3581
-rw-r--r--pym/cache/metadata_overlay.py22
1 files changed, 10 insertions, 12 deletions
diff --git a/pym/cache/metadata_overlay.py b/pym/cache/metadata_overlay.py
index b12740bd..287e0552 100644
--- a/pym/cache/metadata_overlay.py
+++ b/pym/cache/metadata_overlay.py
@@ -36,18 +36,16 @@ class database(template.database):
return value
def _setitem(self, name, values):
- try:
- value_ro = self.db_ro[name]
- if self._are_values_identical(value_ro,values):
- # we have matching values in the underlying db_ro
- # so it is unnecessary to store data in db_rw
- try:
- del self.db_rw[name] # delete unwanted whiteout when necessary
- except KeyError:
- pass
- return
- except KeyError:
- pass
+ value_ro = self.db_ro.get(name, None)
+ if value_ro is not None and \
+ self._are_values_identical(value_ro, values):
+ # we have matching values in the underlying db_ro
+ # so it is unnecessary to store data in db_rw
+ try:
+ del self.db_rw[name] # delete unwanted whiteout when necessary
+ except KeyError:
+ pass
+ return
self.db_rw[name] = values
def _delitem(self, cpv):