Comment 1 for bug 100931

Revision history for this message
Andy Altepeter (aaltepet) wrote :

would you like me to work on this? I think registering on interfaces would be best.
This would require some changes to upgrade.py:

1) a new functions for registering for interfaces:
  registerForInterface
  registerFunctionForInterface
  registerUpgraderForInterface
2) a new __interface_registry
3) getUpgraders will also need to loop through the interface_registry for the version to see if the current object implements each interface. So, this may or may not slow down the upgrade process. Or, it may be possible to go the other way, and get all interfaces implemented by the current object, then seeing if each/any are in the registry...these lookups could be cached during the upgrade to speedup the process, but that would ignore potential marker interfaces set on a particular object.