

def get_firmware_inventory(ipmicmd, bmcver, certverify):
    rsp = ipmicmd.xraw_command(netfn=58, command=80)
    immverdata = parse_imm_buildinfo(rsp['data'])
    bdata = {
        'version': bmcver,
        'build': immverdata[0],
        'date': immverdata[1],
    }
    (yield ('IMM', bdata))
    bdata = fetch_grouped_properties(ipmicmd, {
        'build': '/v2/ibmc/dm/fw/imm2/backup_build_id',
        'version': '/v2/ibmc/dm/fw/imm2/backup_build_version',
        'date': '/v2/ibmc/dm/fw/imm2/backup_build_date',
    })
    if bdata:
        (yield ('IMM Backup', bdata))
        bdata = fetch_grouped_properties(ipmicmd, {
            'build': '/v2/ibmc/trusted_buildid',
        })
    if bdata:
        (yield ('IMM Trusted Image', bdata))
    bdata = fetch_grouped_properties(ipmicmd, {
        'build': '/v2/bios/build_id',
        'version': '/v2/bios/build_version',
        'date': '/v2/bios/build_date',
    })
    if bdata:
        (yield ('UEFI', bdata))
    bdata = fetch_grouped_properties(ipmicmd, {
        'build': '/v2/ibmc/dm/fw/bios/backup_build_id',
        'version': '/v2/ibmc/dm/fw/bios/backup_build_version',
    })
    if bdata:
        (yield ('UEFI Backup', bmcver))
    bdata = fetch_grouped_properties(ipmicmd, {
        'build': '/v2/bios/pending_build_id',
    })
    if bdata:
        (yield ('UEFI Pending Update', bdata))
    for firm in fetch_adapter_firmware(ipmicmd, certverify):
        (yield firm)

dataset/ETHPy150Open openstack/pyghmi/pyghmi/ipmi/oem/lenovo/imm.py get_firmware_inventory/VarMisuse@219/461 `bdata`->`bmcver`