persist_data: raise KeyError on missing elements

(Bitbake rev: a4f62433845c29f98c6a9746d5d2847bf9506ea5)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Chris Larson 2011-04-04 09:36:10 -07:00 committed by Richard Purdie
parent fc801b9073
commit 7fc020aa15
4 changed files with 27 additions and 24 deletions

View File

@ -759,12 +759,11 @@ class Fetch(object):
pd = bb.persist_data.persist(d)
revs = pd['BB_URI_HEADREVS']
key = self.generate_revision_key(url, ud, d)
rev = revs[key]
if rev != None:
return str(rev)
revs[key] = rev = self._latest_revision(url, ud, d)
return rev
try:
return revs[key]
except KeyError:
revs[key] = rev = self._latest_revision(url, ud, d)
return rev
def sortable_revision(self, url, ud, d):
"""
@ -778,13 +777,13 @@ class Fetch(object):
key = self.generate_revision_key(url, ud, d)
latest_rev = self._build_revision(url, ud, d)
last_rev = localcounts[key + '_rev']
last_rev = localcounts.get(key + '_rev')
uselocalcount = bb.data.getVar("BB_LOCALCOUNT_OVERRIDE", d, True) or False
count = None
if uselocalcount:
count = Fetch.localcount_internal_helper(ud, d)
if count is None:
count = localcounts[key + '_count']
count = localcounts.get(key + '_count')
if last_rev == latest_rev:
return str(count + "+" + latest_rev)

View File

@ -246,18 +246,20 @@ class Git(Fetch):
revs = persisted['BB_URI_HEADREVS']
key = self.generate_revision_key(url, ud, d, branch=True)
rev = revs[key]
if rev is None:
try:
return revs[key]
except KeyError:
# Compatibility with old key format, no branch included
oldkey = self.generate_revision_key(url, ud, d, branch=False)
rev = revs[oldkey]
if rev is not None:
del revs[oldkey]
else:
try:
rev = revs[oldkey]
except KeyError:
rev = self._latest_revision(url, ud, d)
else:
del revs[oldkey]
revs[key] = rev
return str(rev)
return rev
def sortable_revision(self, url, ud, d):
"""

View File

@ -806,12 +806,11 @@ class FetchMethod(object):
pd = persist_data.persist(d)
revs = pd['BB_URI_HEADREVS']
key = self.generate_revision_key(url, ud, d, name)
rev = revs[key]
if rev != None:
return str(rev)
revs[key] = rev = self._latest_revision(url, ud, d, name)
return rev
try:
return revs[key]
except KeyError:
revs[key] = rev = self._latest_revision(url, ud, d, name)
return rev
def sortable_revision(self, url, ud, d, name):
"""
@ -825,13 +824,13 @@ class FetchMethod(object):
key = self.generate_revision_key(url, ud, d, name)
latest_rev = self._build_revision(url, ud, d, name)
last_rev = localcounts[key + '_rev']
last_rev = localcounts.get(key + '_rev')
uselocalcount = bb.data.getVar("BB_LOCALCOUNT_OVERRIDE", d, True) or False
count = None
if uselocalcount:
count = FetchMethod.localcount_internal_helper(ud, d, name)
if count is None:
count = localcounts[key + '_count'] or "0"
count = localcounts.get(key + '_count') or "0"
if last_rev == latest_rev:
return str(count + "+" + latest_rev)

View File

@ -69,8 +69,11 @@ class SQLTable(collections.MutableMapping):
self.table, [key])
for row in data:
return row[1]
raise KeyError(key)
def __delitem__(self, key):
if key not in self:
raise KeyError(key)
self._execute("DELETE from %s where key=?;" % self.table, [key])
def __setitem__(self, key, value):