def POST(self): # noqa ''' Возвращает список свободных портов на свитче ''' i = web.input(ip='') ip = H.check_ip(i.ip) if not ip: msg = 'not ip "{0}"'.format(i.ip) print(msg) return dumps({ 'status' : Status.ERROR, 'msg' : msg }) # получим список портов со свитча sw = Switch(swconf, ip) sw_ports = sw.get_local_lldp_ports() if not sw_ports: msg = 'switch {0} dont have lldp ports' print(msg) return dumps({ 'status': Status.EMPTY }) ports = set(sw_ports) # получим список портов которые уже есть в базе db_ports = Topology().get_ports(ip) if db_ports: ports = ports - db_ports return dumps({ 'status': Status.SUCCESS, 'data' : sorted(ports) })
def POST(self): # noqa i = web.input(ip='') ip = H.check_ip(i.ip) if not ip: msg = 'not ip "{0}"'.format(i.ip) print(msg) return dumps({ 'status' : Status.ERROR, 'msg' : msg }) sw = Switch(swconf, ip) return sw.get_snmp_all_ports_status()
def POST(self): # noqa i = web.input(ip='', port='', data='') if not i.ip or not i.port or not i.data: msg = 'wrong (empty) inputs' print(msg) return dumps({ 'status': Status.ERROR, 'msg' : msg }) ip = H.check_ip(i.ip) if not ip: msg = 'wrong ip' print(msg) return dumps({ 'status': Status.ERROR, 'msg' : msg }) # trigger must be 1 for up or 2 for down try: trigger = int(i.data) port = int(i.port) except ValueError: msg = 'wrong port or trigger' print(msg) return dumps({ 'status': Status.ERROR, 'msg' : msg }) if trigger not in (0, 1): msg = 'wrong trigger {0}'.format(trigger) print(msg) return dumps({ 'status': Status.ERROR, 'msg' : msg }) trigger, action = [1, 'поднять'] if trigger == 0 else [0, 'опустить'] log.save_action(session.name, 'ports', 'Пытается {0} порт {1} на свитче {2}'.format(action, port, ip)) sw = Switch(swconf, ip) return sw.change_port_status(port, trigger)
def POST(self): # noqa i = web.input(ip='', port='') ip = H.check_ip(i.ip) if not ip: msg = 'not ip "{0}"'.format(i.ip) print(msg) return dumps({ 'status' : Status.ERROR, 'msg' : msg }) try: port = int(i.port) except ValueError: msg = 'port not int, port: "{0}"'.format(i.port) print(msg) return dumps({ 'status' : Status.ERROR, 'msg' : msg }) sw = Switch(swconf, ip) return sw.get_snmp_port_status(port)