Skip to content

Commit f49964a

Browse files
committed
Fix return correct fru object for get_fru_inventory
Signed-off-by: suaveolent <[email protected]>
1 parent 533157e commit f49964a

File tree

1 file changed

+28
-29
lines changed

1 file changed

+28
-29
lines changed

pyipmi/fru.py

Lines changed: 28 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -148,35 +148,34 @@ def get_fru_inventory(self, fru_id=0, ignore_checksum=False):
148148
Get the full parsed FRU inventory data.
149149
"""
150150
fru = FruInventory()
151-
header = self.get_fru_inventory_header(fru_id=fru_id,
152-
ignore_checksum=ignore_checksum)
153-
154-
areas = [
155-
{ 'offset': header.chassis_info_area_offset,
156-
'target': fru.chassis_info_area,
157-
'getter': self.get_fru_chassis_area
158-
},
159-
{
160-
'offset': header.board_info_area_offset,
161-
'target': fru.board_info_area,
162-
'getter': self.get_fru_board_area
163-
},
164-
{
165-
'offset': header.product_info_area_offset,
166-
'target': fru.product_info_area,
167-
'getter': self.get_fru_product_area
168-
},
169-
{
170-
'offset': header.multirecord_area_offset,
171-
'target': fru.multirecord_area,
172-
'getter': self.get_fru_multirecord_area
173-
},
174-
]
175-
176-
for area in areas:
177-
if area['offset']:
178-
area['target'] = area['getter'](fru_id=fru_id,
179-
ignore_checksum=ignore_checksum)
151+
header = self.get_fru_inventory_header(
152+
fru_id=fru_id,
153+
ignore_checksum=ignore_checksum
154+
)
155+
156+
if header.chassis_info_area_offset:
157+
fru.chassis_info_area = self.get_fru_chassis_area(
158+
fru_id=fru_id,
159+
ignore_checksum=ignore_checksum
160+
)
161+
162+
if header.board_info_area_offset:
163+
fru.board_info_area = self.get_fru_board_area(
164+
fru_id=fru_id,
165+
ignore_checksum=ignore_checksum
166+
)
167+
168+
if header.product_info_area_offset:
169+
fru.product_info_area = self.get_fru_product_area(
170+
fru_id=fru_id,
171+
ignore_checksum=ignore_checksum
172+
)
173+
174+
if header.multirecord_area_offset:
175+
fru.multirecord_area = self.get_fru_multirecord_area(
176+
fru_id=fru_id,
177+
ignore_checksum=ignore_checksum
178+
)
180179

181180
return fru
182181

0 commit comments

Comments
 (0)