def getPickPortsContent(ipaddr): rtn = '''<form id="form1" action="/postchange" method="post"><input type="hidden" name="rtn_switchip" id="rtn_switchip"><input type="hidden" name="rtn_vlan" id="rtn_vlan"><input type="hidden" name="rtn_ports" id="rtn_ports"><div class="form-group"><select multiple="multiple" size="10" name="duallistbox_demo1[]">''' interfaces = switchconfig.get_intfs(ipaddr) for intf in interfaces: rtn += '<option value="%s">%s</option>' % (intf, intf) rtn += '</select><br><br><div class="dropdown"><button class="btn btn-primary dropdown-toggle pull-left btn-block" type="button" data-toggle="dropdown">Choose a VLAN<span class="caret"></span></button><ul class="dropdown-menu">' vlans = switchconfig.get_vlans(ipaddr) #list of lists ddjs = "" for vlan in vlans: rtn += "<li><a href='#' id='vlan%s'>%s</a></li>" % (vlan[0], vlan[1]) ddjs += '$("#vlan%s").click(function(e){$("#rtn_vlan").val(%s); $("#sel_vlan").val("%s (%s)"); e.preventDefault(); }); ' % ( vlan[0], vlan[0], vlan[1], vlan[0]) rtn += '''</ul></div><br><br><label for="sel_vlan">Selected VLAN:</label><input readonly type="text" id="sel_vlan" class="form-control"><label for="desc">Interface Description:</label><input type="text" class="form-control" name="desc" id="desc"></div><br><br><button type="submit" class="btn btn-default btn-block">Submit data</button></form><script> var demo1 = $('select[name="duallistbox_demo1[]"]').bootstrapDualListbox(); $("#form1").submit(function() { $('#rtn_switchip').val(getParameterByName('ip')); $('#rtn_ports').val($('[name="duallistbox_demo1[]"]').val()); if($('#rtn_ports').val().length < 3){alert('you must select an interface'); return false;} if($("#rtn_vlan").val() === null || $("#rtn_vlan").val() == ""){ alert('you must select a vlan'); return false;} if($('#desc').val() === null || $('#desc').val() == ""){alert('you must enter a description for the interface(s)'); return false;} return; }); ''' rtn += ddjs rtn += "</script>" return rtn
def getPickPortsContent(ipaddr): rtn='''<form id="form1" action="/postchange" method="post"><input type="hidden" name="rtn_switchip" id="rtn_switchip"><input type="hidden" name="rtn_vlan" id="rtn_vlan"><input type="hidden" name="rtn_ports" id="rtn_ports"><div class="form-group"><select multiple="multiple" size="10" name="duallistbox_demo1[]">''' interfaces = switchconfig.get_intfs(ipaddr) for intf in interfaces: rtn+='<option value="%s">%s</option>' % (intf, intf) rtn+='</select><br><br><div class="dropdown"><button class="btn btn-primary dropdown-toggle pull-left btn-block" type="button" data-toggle="dropdown">Choose a VLAN<span class="caret"></span></button><ul class="dropdown-menu">' vlans = switchconfig.get_vlans(ipaddr) #list of lists ddjs = "" for vlan in vlans: rtn += "<li><a href='#' id='vlan%s'>%s</a></li>" % (vlan[0], vlan[1]) ddjs += '$("#vlan%s").click(function(e){$("#rtn_vlan").val(%s); $("#sel_vlan").val("%s (%s)"); e.preventDefault(); }); ' % (vlan[0], vlan[0], vlan[1], vlan[0]) rtn += '''</ul></div><br><br><label for="sel_vlan">Selected VLAN:</label><input readonly type="text" id="sel_vlan" class="form-control"><label for="desc">Interface Description:</label><input type="text" class="form-control" name="desc" id="desc"></div><br><br><button type="submit" class="btn btn-default btn-block">Submit data</button></form><script> var demo1 = $('select[name="duallistbox_demo1[]"]').bootstrapDualListbox(); $("#form1").submit(function() { $('#rtn_switchip').val(getParameterByName('ip')); $('#rtn_ports').val($('[name="duallistbox_demo1[]"]').val()); if($('#rtn_ports').val().length < 3){alert('you must select an interface'); return false;} if($("#rtn_vlan").val() === null || $("#rtn_vlan").val() == ""){ alert('you must select a vlan'); return false;} if($('#desc').val() === null || $('#desc').val() == ""){alert('you must enter a description for the interface(s)'); return false;} return; }); ''' rtn += ddjs rtn += "</script>" return rtn
def config_switch(): print '\nHere is a list of switches\n' print_switches() print "\nPlease enter switch a number.\n" switch_num = raw_input(">>>>>>>>>>>") switch_name = selected_switch_name(switch_num) selected_switch_ip = switch_dict[switch_num] print "\n\n\n\nLet me gather port and vlan information for switch: " + selected_switch_name(switch_num) + ".\n" print '\nGathering interface information...\n' intf = switchconfig.get_intfs(switch_dict[switch_num]) print '\nGathering VLAN information...\n' vlan = switchconfig.get_vlans(switch_dict[switch_num]) print 'Interfaces for %s:' % switch_dict[switch_num] for each in intf: print '\t' + each print '\nVLANs for %s:' % switch_dict[switch_num] for each in vlan: print 'VLAN ID: ' + each[0] + '\tVLAN Name: ' + each[1] print '=' * 40 print '\nHow many interfaces from the list would you like to configure?' intf_range = input('>') intf_list = [] for i in range(1, intf_range + 1): print 'What interface from the list would you like to configure? One per line.' intf_list.append(raw_input('%r.' % i)) print 'Which VLAN ID from the list would you like to add the selected port(s)?' vlan_input = raw_input('>') print 'What descritpion would you like to add?' desc = raw_input('>') conf_in = {"switch_ip": switch_dict[switch_num], "intf_desc": desc, "intf_id": intf_list, "vlan_id": vlan_input } out = conf_intfs(conf_in) print "\n\nApplied configuration change:\n" + "=" * 40 + '\n' + out
print "Thank you for using the configurator." print "Allow one moment while I gather the switch availability.\n" switches = switchconfig.get_switches() print json.dumps(switches, indent = 4) print "\nWhat switch would you like to configure by hostname?" switch = raw_input(">") print "\nLet me gather port and vlan information for switch: " + switch + ".\n" ip_addr = '' for each in switches['switches']: if each['hostname'] == switch: ip_addr = each['ip_addr'] intf = switchconfig.get_intfs(ip_addr) vlan = switchconfig.get_vlans(ip_addr) print 'Interfaces for %s:' % ip_addr for each in intf: print '\t' + each print '\nVLANs for %s:' % ip_addr for each in vlan: print 'VLAN ID: ' + each[0] + '\tVLAN Name: ' + each[1] print '=' * 40 print '\nHow many interfaces from the list would you like to configure?' intf_range = input('>') intf_list = []
switch_num = raw_input(">>>>>>>>>>>") selected_switch_ip = switch_dict[switch_num] def selected_switch_name(): for switch in switches['switches']: if switch['ip_addr'] == selected_switch_ip: return switch['hostname'] print "\n\n\n\nLet me gather port and vlan information for switch: " + selected_switch_name( ) + ".\n" print '\nGathering interface information...\n' intf = switchconfig.get_intfs(switch_dict[switch_num]) print '\nGathering VLAN information...\n' vlan = switchconfig.get_vlans(switch_dict[switch_num]) print 'Interfaces for %s:' % switch_dict[switch_num] for each in intf: print '\t' + each print '\nVLANs for %s:' % switch_dict[switch_num] for each in vlan: print 'VLAN ID: ' + each[0] + '\tVLAN Name: ' + each[1] print '=' * 40 print '\nHow many interfaces from the list would you like to configure?' intf_range = input('>')
print "\nPlease enter a number.\n" switch_num = raw_input(">>>>>>>>>>>") selected_switch_ip = switch_dict[switch_num] def selected_switch_name(): for switch in switches['switches']: if switch['ip_addr'] == selected_switch_ip: return switch['hostname'] print "\n\n\n\nLet me gather port and vlan information for switch: " + selected_switch_name() + ".\n" print '\nGathering interface information...\n' intf = switchconfig.get_intfs(switch_dict[switch_num]) print '\nGathering VLAN information...\n' vlan = switchconfig.get_vlans(switch_dict[switch_num]) print 'Interfaces for %s:' % switch_dict[switch_num] for each in intf: print '\t' + each print '\nVLANs for %s:' % switch_dict[switch_num] for each in vlan: print 'VLAN ID: ' + each[0] + '\tVLAN Name: ' + each[1] print '=' * 40 print '\nHow many interfaces from the list would you like to configure?' intf_range = input('>')