Show
Ignore:
Timestamp:
01/04/12 17:18:48 (17 months ago)
Author:
jjr8
Message:

Fixed build break. Rebuilt ArcGIS 9.3 toolbox.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • MGET/Branches/Jason/PythonPackage/src/GeoEco/Metadata.py

    r715 r884  
    524524        self.AppendPropertyXMLNode(self, u'COMVersionIndependentProgID', node, document) 
    525525        self.AppendPropertyXMLNode(self, u'COMVersionDependentProgID', node, document) 
     526         
    526527        propertiesNode = node.appendChild(document.createElement(u'Properties')) 
    527528        for (name, prop) in inspect.getmembers(self.Object, inspect.isdatadescriptor): 
     
    529530                propertyNode = propertiesNode.appendChild(document.createElement(u'PropertyMetadata')) 
    530531                prop.__doc__.Obj.AppendXMLNodes(propertyNode, document) 
     532 
     533        inheritedMethodNames = set() 
     534        for c in inspect.getmro(self.Object)[1:]: 
     535            inheritedMethodNames.update(set([m[0] for m in inspect.getmembers(c, inspect.ismethod)])) 
     536                 
    531537        methodsNode = node.appendChild(document.createElement(u'Methods')) 
    532538        for (name, method) in inspect.getmembers(self.Object, inspect.ismethod): 
    533539            if isinstance(method.__doc__, DynamicDocString) and isinstance(method.__doc__.Obj, MethodMetadata): 
    534540                methodNode = methodsNode.appendChild(document.createElement(u'MethodMetadata')) 
    535                 method.__doc__.Obj.AppendXMLNodes(methodNode, document) 
     541                method.__doc__.Obj.AppendXMLNodes(methodNode, document, name in inheritedMethodNames) 
    536542 
    537543 
     
    839845        return doc 
    840846 
    841     def AppendXMLNodes(self, node, document): 
     847    def AppendXMLNodes(self, node, document, isInherited): 
    842848        super(MethodMetadata, self).AppendXMLNodes(node, document) 
    843849        self.AppendPropertyXMLNode(self, u'IsExposedToPythonCallers', node, document) 
    844850        self.AppendPropertyXMLNode(self, u'IsExposedByCOM', node, document) 
    845         self.AppendPropertyXMLNode(self, u'IsExposedAsArcGISTool', node, document) 
     851 
     852        # If this method is inherited from a parent class, force 
     853        # IsExposedAsArcGISTool to false, so that 
     854        # CreateArcGISToolbox.exe does not try to create a toolbox 
     855        # entry multiple times for the same method. 
     856 
     857        if not isInherited: 
     858            self.AppendPropertyXMLNode(self, u'IsExposedAsArcGISTool', node, document) 
     859        else: 
     860            n = node.appendChild(document.createElement(u'IsExposedAsArcGISTool')) 
     861            n.appendChild(document.createTextNode(u'false')) 
     862         
    846863        self.AppendPropertyXMLNode(self, u'ArcGISDisplayName', node, document) 
    847864        self.AppendPropertyXMLNode(self, u'ArcGISToolCategory', node, document)