update.py: handle if deleted recipe can't be found

Show a warning instead of a traceback if a deleted recipe can't be found
in the database.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
This commit is contained in:
Paul Eggleton 2013-08-11 11:05:16 +01:00
parent 42561c3a65
commit c2e36cda11

View File

@ -356,9 +356,12 @@ def main():
(typename, filepath, filename) = recipeparse.detect_file_type(path, subdir_start) (typename, filepath, filename) = recipeparse.detect_file_type(path, subdir_start)
if typename == 'recipe': if typename == 'recipe':
values = layerrecipes.filter(filepath=filepath).filter(filename=filename).values('id', 'filepath', 'filename', 'pn') values = layerrecipes.filter(filepath=filepath).filter(filename=filename).values('id', 'filepath', 'filename', 'pn')
layerrecipes_delete.append(values[0]) if len(values):
logger.debug("Mark %s for deletion" % values[0]) layerrecipes_delete.append(values[0])
updatedrecipes.add(os.path.join(values[0]['filepath'], values[0]['filename'])) logger.debug("Mark %s for deletion" % values[0])
updatedrecipes.add(os.path.join(values[0]['filepath'], values[0]['filename']))
else:
logger.warn("Deleted recipe %s could not be found" % path)
elif typename == 'bbappend': elif typename == 'bbappend':
layerappends.filter(filepath=filepath).filter(filename=filename).delete() layerappends.filter(filepath=filepath).filter(filename=filename).delete()
elif typename == 'machine': elif typename == 'machine':