aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve McIntyre <steve.mcintyre@linaro.org>2018-02-05 18:25:47 +0000
committerSteve McIntyre <steve.mcintyre@linaro.org>2018-02-05 18:25:47 +0000
commit3e4ec440e94d3bcdf42e2fb1f71f2c40bfec788d (patch)
tree6fae1a7c36099f50cf9694362556ee6a7557cb58
parent53787d2f62557558a50f59c98c5db90b0eceae94 (diff)
Fix up visualisation code to match the RealDict database changes
Change-Id: I5ced3a97118d3bc9a083355895ad4703c7ee2b55
-rw-r--r--visualisation/visualisation.py88
1 files changed, 44 insertions, 44 deletions
diff --git a/visualisation/visualisation.py b/visualisation/visualisation.py
index e1ca9e8..eb1edcd 100644
--- a/visualisation/visualisation.py
+++ b/visualisation/visualisation.py
@@ -133,7 +133,7 @@ class GetHandler(BaseHTTPRequestHandler):
vlan_tags = {}
for vlan in vlans:
- vlan_tags[vlan.vlan_id] = vlan.tag
+ vlan_tags[vlan['vlan_id']] = vlan['tag']
if cache.last_update < self.server.state.db.get_last_modified_time():
logging.debug('Cache is out of date')
@@ -143,7 +143,7 @@ class GetHandler(BaseHTTPRequestHandler):
cache.graphics = {}
if len(switches) > 0:
for vlan in vlans:
- cache.graphics[vlan.vlan_id] = self.generate_graphic(vlan.vlan_id)
+ cache.graphics[vlan['vlan_id']] = self.generate_graphic(vlan['vlan_id'])
cache.last_update = datetime.datetime.utcnow()
page = []
@@ -165,7 +165,7 @@ class GetHandler(BaseHTTPRequestHandler):
page.append('<p>VLANs: %d</p>' % len(vlans))
page.append('<ul>')
for vlan in vlans:
- page.append('<li><a href="./#vlan%d">VLAN ID %d, Tag %d<br>(%s)</a>' % (vlan.vlan_id, vlan.vlan_id, vlan.tag, vlan.name))
+ page.append('<li><a href="./#vlan%d">VLAN ID %d, Tag %d<br>(%s)</a>' % (vlan['vlan_id'], vlan['vlan_id'], vlan['tag'], vlan['name']))
page.append('</ul>')
page.append('<div class="date"><p>Current time: %s</p>' % datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S UTC"))
page.append('<p>version %s</p>' % self.server.state.version)
@@ -202,19 +202,19 @@ class GetHandler(BaseHTTPRequestHandler):
# For each VLAN, add a graphic
for vlan in vlans:
- this_image = cache.graphics[vlan.vlan_id]
- page.append('<a name="vlan%d"></a>' % vlan.vlan_id)
- page.append('<h3>VLAN ID %d, Tag %d, name %s</h3>' % (vlan.vlan_id, vlan.tag, vlan.name))
+ this_image = cache.graphics[vlan['vlan_id']]
+ page.append('<a name="vlan%d"></a>' % vlan['vlan_id'])
+ page.append('<h3>VLAN ID %d, Tag %d, name %s</h3>' % (vlan['vlan_id'], vlan['tag'], vlan['name']))
# Link to an image we generate from our data
- page.append('<p><img src="images/vlan/%d.png" ' % vlan.vlan_id)
+ page.append('<p><img src="images/vlan/%d.png" ' % vlan['vlan_id'])
page.append('width="%d" height="%d" ' % ( this_image['image']['width'], this_image['image']['height']))
- page.append('alt="VLAN %d diagram" usemap="#MAPVLAN%d">' % (vlan.vlan_id,vlan.vlan_id))
+ page.append('alt="VLAN %d diagram" usemap="#MAPVLAN%d">' % (vlan['vlan_id'],vlan['vlan_id']))
# Generate an imagemap describing all the ports, with
# javascript hooks to pop up/down a tooltip box based on
# later data.
- page.append('<map name="MAPVLAN%d">' % vlan.vlan_id)
+ page.append('<map name="MAPVLAN%d">' % vlan['vlan_id'])
for switch in this_image['ports'].keys():
for portnum in this_image['ports'][switch].keys():
this_port = this_image['ports'][switch][portnum]
@@ -222,7 +222,7 @@ class GetHandler(BaseHTTPRequestHandler):
((ulx,uly),(lrx,lry),upper) = this_port['location']
page.append('<area shape="rect" ')
page.append('coords="%d,%d,%d,%d" ' % (ulx,uly,lrx,lry))
- page.append('onMouseOver="popup(%d,%d)" onMouseOut="popdown(%d,%d)">' % (vlan.vlan_id, port.port_id, vlan.vlan_id, port.port_id))
+ page.append('onMouseOver="popup(%d,%d)" onMouseOut="popdown(%d,%d)">' % (vlan['vlan_id'], port['port_id'], vlan['vlan_id'], port['port_id']))
page.append('</map></p>')
page.append('<hr>')
page.append('</div>') # End of normal content, all the VLAN graphics shown
@@ -231,31 +231,31 @@ class GetHandler(BaseHTTPRequestHandler):
# fully-formed but invisible, ready for our javascript helper
# to pop visible on demand.
for vlan in vlans:
- this_image = cache.graphics[vlan.vlan_id]
+ this_image = cache.graphics[vlan['vlan_id']]
for switch in this_image['ports'].keys():
for portnum in this_image['ports'][switch].keys():
this_port = this_image['ports'][switch][portnum]
port = this_port['db']
- page.append('<div class="port" id="port%d.%d">' % (vlan.vlan_id, port.port_id))
- page.append('Port ID: %d<br>' % port.port_id)
- page.append('Port Number: %d<br>' % port.number)
- page.append('Port Name: %s<br>' % port.name)
- if port.is_locked:
+ page.append('<div class="port" id="port%d.%d">' % (vlan['vlan_id'], port['port_id']))
+ page.append('Port ID: %d<br>' % port['port_id'])
+ page.append('Port Number: %d<br>' % port['number'])
+ page.append('Port Name: %s<br>' % port['name'])
+ if port['is_locked']:
page.append('Locked - ')
- if (port.lock_reason is not None
- and len(port.lock_reason) > 1):
- page.append(port.lock_reason)
+ if (port['lock_reason'] is not None
+ and len(port['lock_reason']) > 1):
+ page.append(port['lock_reason'])
else:
page.append('unknown reason')
page.append('<br>')
- if port.is_trunk:
+ if port['is_trunk']:
page.append('Trunk')
- if port.trunk_id != -1:
- page.append(' (Trunk ID %d)' % port.trunk_id)
+ if port['trunk_id'] != -1:
+ page.append(' (Trunk ID %d)' % port['trunk_id'])
page.append('<br>')
else:
- page.append('Current VLAN ID: %d (Tag %d)<br>' % (port.current_vlan_id, vlan_tags[port.current_vlan_id]))
- page.append('Base VLAN ID: %d (Tag %d)<br>' % (port.base_vlan_id, vlan_tags[port.base_vlan_id]))
+ page.append('Current VLAN ID: %d (Tag %d)<br>' % (port['current_vlan_id'], vlan_tags[port['current_vlan_id']]))
+ page.append('Base VLAN ID: %d (Tag %d)<br>' % (port['base_vlan_id'], vlan_tags[port['base_vlan_id']]))
page.append('</div>')
page.append('</body>')
@@ -406,14 +406,14 @@ class GetHandler(BaseHTTPRequestHandler):
# Work out how much space we need for the switches
for i in range(0, len(switches)):
- ports = db.get_ports_by_switch(switches[i].switch_id)
- switch[i] = Switch(gim, len(ports), switches[i].name)
+ ports = db.get_ports_by_switch(switches[i]['switch_id'])
+ switch[i] = Switch(gim, len(ports), switches[i]['name'])
(size_x[i], size_y[i]) = switch[i].get_dimensions()
x = max(x, size_x[i])
y += size_y[i] + y_gap
# Add space for the legend and the label
- label = "VLAN %d - %s" % (vlan.tag, vlan.name)
+ label = "VLAN %d - %s" % (vlan['tag'], vlan['name'])
(legend_width, legend_height) = gim.get_legend_dimensions()
(label_width, label_height) = gim.get_label_size(label, gim.label_font_size)
x = max(x, legend_width + 2*x_gap + label_width)
@@ -427,37 +427,37 @@ class GetHandler(BaseHTTPRequestHandler):
curr_y = y_gap
for i in range(0, len(switches)):
switch[i].draw_switch(gim, x_gap, curr_y)
- ports = db.get_ports_by_switch(switches[i].switch_id)
+ ports = db.get_ports_by_switch(switches[i]['switch_id'])
data['ports'][i] = {}
for port_id in ports:
port = db.get_port_by_id(port_id)
- port_location = switch[i].get_port_location(port.number)
- data['ports'][i][port.number] = {}
- data['ports'][i][port.number]['db'] = port
- data['ports'][i][port.number]['location'] = port_location
- if port.is_locked:
- switch[i].draw_port(gim, port.number, 'locked')
- elif port.is_trunk:
- switch[i].draw_port(gim, port.number, 'trunk')
- elif port.current_vlan_id == int(vlan_id):
- switch[i].draw_port(gim, port.number, 'VLAN')
+ port_location = switch[i].get_port_location(port['number'])
+ data['ports'][i][port['number']] = {}
+ data['ports'][i][port['number']]['db'] = port
+ data['ports'][i][port['number']]['location'] = port_location
+ if port['is_locked']:
+ switch[i].draw_port(gim, port['number'], 'locked')
+ elif port['is_trunk']:
+ switch[i].draw_port(gim, port['number'], 'trunk')
+ elif port['current_vlan_id'] == int(vlan_id):
+ switch[i].draw_port(gim, port['number'], 'VLAN')
else:
- switch[i].draw_port(gim, port.number, 'normal')
+ switch[i].draw_port(gim, port['number'], 'normal')
curr_y += size_y[i] + y_gap
# Now add the trunks
for i in range(0, len(trunks)):
- ports = db.get_ports_by_trunk(trunks[i].trunk_id)
+ ports = db.get_ports_by_trunk(trunks[i]['trunk_id'])
port1 = db.get_port_by_id(ports[0])
port2 = db.get_port_by_id(ports[1])
for s in range(0, len(switches)):
- if switches[s].switch_id == port1.switch_id:
+ if switches[s]['switch_id'] == port1['switch_id']:
switch1 = s
- if switches[s].switch_id == port2.switch_id:
+ if switches[s]['switch_id'] == port2['switch_id']:
switch2 = s
gim.draw_trunk(i,
- switch[switch1].get_port_location(port1.number),
- switch[switch2].get_port_location(port2.number),
+ switch[switch1].get_port_location(port1['number']),
+ switch[switch2].get_port_location(port2['number']),
gim.port_pallette['trunk']['trace'])
# And the legend and label