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