diff options
author | Steve McIntyre <steve.mcintyre@linaro.org> | 2018-02-05 18:25:47 +0000 |
---|---|---|
committer | Steve McIntyre <steve.mcintyre@linaro.org> | 2018-02-05 18:25:47 +0000 |
commit | 3e4ec440e94d3bcdf42e2fb1f71f2c40bfec788d (patch) | |
tree | 6fae1a7c36099f50cf9694362556ee6a7557cb58 | |
parent | 53787d2f62557558a50f59c98c5db90b0eceae94 (diff) |
Fix up visualisation code to match the RealDict database changes
Change-Id: I5ced3a97118d3bc9a083355895ad4703c7ee2b55
-rw-r--r-- | visualisation/visualisation.py | 88 |
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 |