On Sun, 18 May 2014 00:56:42 +0100, <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?

Shuffling your post around to make an explanation easier, the traceback is:

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'

So Python thinks that PHY_NETWORK has no "addNode", but you do. Do you perchance have the tab width in your editor set to 4? I ask, because I imagine that you see this:

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

I however saw your post like this:

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

I've replaced the tabs with spaces to make it clearer. Basically, you've got a mix of tabs and spaces, which is always a bad idea, and as a result Python thinks that addNode is an attribute of PHY_NETWORK.__init__, not of PHY_NETWORK. You need to go through and replace all your tab characters with four spaces, and stop using tabs.

--
Rhodri James *-* Wildebeest Herder to the Masses
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to