def consume_power_up(self, power_up):
if isinstance(power_up, CryptoPowerUp):
power_up_class = power_up.__class__
power_up_instance = power_up
elif CryptoPowerUp in inspect.getmro(power_up):
power_up_class = power_up
power_up_instance = power_up()
else:
raise TypeError(
("power_up must be a subclass of CryptoPowerUp or an instance "
"of a subclass of CryptoPowerUp."))
self._power_ups[power_up_class] = power_up_instance
if power_up.confers_public_key:
# TODO: Make this an ID for later lookup on a KeyStore.
self.public_keys[
power_up_class] = power_up_instance.public_key()
评论列表
文章目录