1eb8dc403SDave Cobbley# 2eb8dc403SDave Cobbley# Extra RecipeInfo will be all defined in this file. Currently, 3eb8dc403SDave Cobbley# Only Hob (Image Creator) Requests some extra fields. So 4eb8dc403SDave Cobbley# HobRecipeInfo is defined. It's named HobRecipeInfo because it 5eb8dc403SDave Cobbley# is introduced by 'hob'. Users could also introduce other 6eb8dc403SDave Cobbley# RecipeInfo or simply use those already defined RecipeInfo. 7eb8dc403SDave Cobbley# In the following patch, this newly defined new extra RecipeInfo 8eb8dc403SDave Cobbley# will be dynamically loaded and used for loading/saving the extra 9eb8dc403SDave Cobbley# cache fields 10eb8dc403SDave Cobbley 11eb8dc403SDave Cobbley# Copyright (C) 2011, Intel Corporation. All rights reserved. 12eb8dc403SDave Cobbley 13*c342db35SBrad Bishop# SPDX-License-Identifier: GPL-2.0-only 14eb8dc403SDave Cobbley# 15eb8dc403SDave Cobbley 16eb8dc403SDave Cobbleyfrom bb.cache import RecipeInfoCommon 17eb8dc403SDave Cobbley 18eb8dc403SDave Cobbleyclass HobRecipeInfo(RecipeInfoCommon): 19eb8dc403SDave Cobbley __slots__ = () 20eb8dc403SDave Cobbley 21eb8dc403SDave Cobbley classname = "HobRecipeInfo" 22eb8dc403SDave Cobbley # please override this member with the correct data cache file 23eb8dc403SDave Cobbley # such as (bb_cache.dat, bb_extracache_hob.dat) 24eb8dc403SDave Cobbley cachefile = "bb_extracache_" + classname +".dat" 25eb8dc403SDave Cobbley 26eb8dc403SDave Cobbley # override this member with the list of extra cache fields 27eb8dc403SDave Cobbley # that this class will provide 28eb8dc403SDave Cobbley cachefields = ['summary', 'license', 'section', 29eb8dc403SDave Cobbley 'description', 'homepage', 'bugtracker', 30eb8dc403SDave Cobbley 'prevision', 'files_info'] 31eb8dc403SDave Cobbley 32eb8dc403SDave Cobbley def __init__(self, filename, metadata): 33eb8dc403SDave Cobbley 34eb8dc403SDave Cobbley self.summary = self.getvar('SUMMARY', metadata) 35eb8dc403SDave Cobbley self.license = self.getvar('LICENSE', metadata) 36eb8dc403SDave Cobbley self.section = self.getvar('SECTION', metadata) 37eb8dc403SDave Cobbley self.description = self.getvar('DESCRIPTION', metadata) 38eb8dc403SDave Cobbley self.homepage = self.getvar('HOMEPAGE', metadata) 39eb8dc403SDave Cobbley self.bugtracker = self.getvar('BUGTRACKER', metadata) 40eb8dc403SDave Cobbley self.prevision = self.getvar('PR', metadata) 41eb8dc403SDave Cobbley self.files_info = self.getvar('FILES_INFO', metadata) 42eb8dc403SDave Cobbley 43eb8dc403SDave Cobbley @classmethod 44eb8dc403SDave Cobbley def init_cacheData(cls, cachedata): 45eb8dc403SDave Cobbley # CacheData in Hob RecipeInfo Class 46eb8dc403SDave Cobbley cachedata.summary = {} 47eb8dc403SDave Cobbley cachedata.license = {} 48eb8dc403SDave Cobbley cachedata.section = {} 49eb8dc403SDave Cobbley cachedata.description = {} 50eb8dc403SDave Cobbley cachedata.homepage = {} 51eb8dc403SDave Cobbley cachedata.bugtracker = {} 52eb8dc403SDave Cobbley cachedata.prevision = {} 53eb8dc403SDave Cobbley cachedata.files_info = {} 54eb8dc403SDave Cobbley 55eb8dc403SDave Cobbley def add_cacheData(self, cachedata, fn): 56eb8dc403SDave Cobbley cachedata.summary[fn] = self.summary 57eb8dc403SDave Cobbley cachedata.license[fn] = self.license 58eb8dc403SDave Cobbley cachedata.section[fn] = self.section 59eb8dc403SDave Cobbley cachedata.description[fn] = self.description 60eb8dc403SDave Cobbley cachedata.homepage[fn] = self.homepage 61eb8dc403SDave Cobbley cachedata.bugtracker[fn] = self.bugtracker 62eb8dc403SDave Cobbley cachedata.prevision[fn] = self.prevision 63eb8dc403SDave Cobbley cachedata.files_info[fn] = self.files_info 64