code: def extractInfo(self, otherInfoObject):
          
          for attr, (formatter, factorIndex) in _infoAttrs.items():
              if hasattr(self, attr):
                  v = getattr(self, attr)
                  if v is not None:
                      if formatter is not None:
                          v = formatter(v)
                  setattr(otherInfoObject, attr, v)
          if hasattr(self, "postscriptWeightName"):
              otherInfoObject.postscriptWeightName = self.postscriptWeightName
docs: >>> from fontMath.test.test_mathInfo import _TestInfoObject, _testData
          >>> from fontMath.mathFunctions import _roundNumber
          >>> info1 = MathInfo(_TestInfoObject())
          >>> info2 = info1 * 2.5
          >>> info3 = _TestInfoObject()
          >>> info2.extractInfo(info3)
          >>> written = {}
          >>> expected = {}
          >>> for attr, value in _testData.items():
          ...     if value is None:
          ...         continue
          ...     written[attr] = getattr(info2, attr)
          ...     if isinstance(value, list):
          ...         expectedValue = [_roundNumber(v * 2.5) for v in value]
          ...     elif isinstance(value, int):
          ...         expectedValue = _roundNumber(value * 2.5)
          ...     else:
          ...         expectedValue = value * 2.5
          ...     expected[attr] = expectedValue
          >>> sorted(expected) == sorted(written)
          True