On 05/17/2014 04:56 PM, varun...@gmail.com wrote:
Hello Friends,

I am working on this code but I kind of get the same error over and over again. 
Could any of you help me fix this part of the error?

It's an indentation error: In the following the three function defs for __init__, addNode and addEdge should all be at the same indentation level. Instead, you have the later two defined *inside* the __init__.

Gary Herron



File RW1:
class PHY_NETWORK:
     def __init__(self, nodes, edges):
         self.nodes = nodes
         self.edges = edges
def addNode(self, node):
                self.nodes.append( node )

        def addEdge(self, edge):
                self.edges.append( edge )

File RW3:
def createnetwork(graph):

        
        doc = parse( args.paramFile )
        noderef = []    
        num = 0
        nodelist = doc.getElementsByTagName("node")
        for node in nodelist:
                noderef.append(node.getAttribute("id"))
                proc = random.randint(3500, 5000)
                stor = random.randint(7200, 8200)
                switch = random.randint(7000, 10000)
                num = num + 1
                totaldemands = random.randint(1, 5)
                graph.addNode(PHY_NODES( node.getAttribute("id"), int(num), 
float(xCoordinates.firstChild.data), float(yCoordinates.firstChild.data), float(proc), 
float(stor), float(switch), int(totaldemands)))
                
                
        linkid = 0
        linklist = doc.getElementsByTagName("link")
        for link in linklist :
                linkid = linkid + 1
                Source = link.getElementsByTagName("source") [0]
                Destination = link.getElementsByTagName("target") [0]
                Capacity = link.getElementsByTagName("capacity") [0]
                SourceID = noderef.index(Source.firstChild.data) + 1
                DestinationID = noderef.index(Destination.firstChild.data) + 1
                graph.addEdge( PHY_LINKS( linkid, Source.firstChild.data, 
Destination.firstChild.data, DestinationID, SourceID, 
float(Capacity.firstChild.data) ))


        global args
        args = parser.parse_args()

        samplenetwork = PHY_NETWORK([], [])
        for i in range(1, 100):
                createnetwork(samplenetwork)
                exportXmlFile(samplenetwork, args.output, 'a' )         
        
if __name__ == "__main__":
   main(sys.argv[1:])


srva@hades:~$ python RW3.py --output topology.xml --xml germany50.xml
Traceback (most recent call last):
   File "RW3.py", line 157, in <module>
     main(sys.argv[1:])
   File "RW3.py", line 152, in main
     createnetwork(samplenetwork)
   File "RW3.py", line 31, in createnetwork
     graph.addNode(PHY_NODES( node.getAttribute("id"), int(num), 
float(xCoordinates.firstChild.data), float(yCoordinates.firstChild.data), float(proc), 
float(stor), float(switch), int(totaldemands)))
AttributeError: PHY_NETWORK instance has no attribute 'addNode'


The error that it give back is as above. I have the classes defined in RW1 file 
and I am importing the classes onto RW3 file and yet, It doesn't seem to work. 
I really am in need of your valuable suggestions. Thank You

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to