<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_inventory(self):
 """Retrieve inventory of system Retrieve inventory of the targeted system. This frequently includes serial numbers, sometimes hardware addresses, sometimes memory modules This function will retrieve whatever the underlying platform provides and apply some structure. Iterating over the return yields tuples of a name for the inventoried item and dictionary of descriptions or None for items not present. """

        self.oem_init()
        yield ("System", self._get_zero_fru())
        self.init_sdr()
        for fruid in sorted(self._sdr.fru):
            fruinf = fru.FRU(
                ipmicmd=self, fruid=fruid, sdr=self._sdr.fru[fruid]).info
            if fruinf is not None:
                fruinf = self._oem.process_fru(fruinf,
                                               self._sdr.fru[fruid].fru_name)
            yield (self._sdr.fru[fruid].fru_name, fruinf)
        for componentpair in self._oem.get_oem_inventory():
            yield componentpair