-
Chris McDonough authored
Because the "old" Interface package allowed the import of the Attribute class directly from the Interface package, and some packages (such as CMF) expect a class back from "from Interface import Attribute": - Renamed Attribute.py to _Attribute.py and did the necessary housekeeping to make sure all the other parts of the Interface package knows about the change. - Changed __init__.py to import Attribute from _Attribute New features and changes: - Removed iclass.py (it was no longer used). - Gave the base interface class (Interface._InterfaceClass) a __hash__ method as ExtensionClass instances do not hash like normal instances, and we require that interfaces be hashable in order to store them as dictionary keys and whatnot in registries.
b3b2584c