def do_filter_ip(ip_from, ip_to): #ip_from = request.forms.get('ip_from') #ip_to = request.forms.get('ip_to') json_data=get_data() response.content_type = 'application/json' #filter ip_range and return json data if ip_from != '' and ip_to != '': if ip_num.ip2num(ip_from)>ip_num.ip2num(ip_to): ip_from,ip_to=ip_to,ip_from if ip_from == ip_to: content={} content[ip_from]={} content[ip_from]['port']=[] for i in json_data['ips']: if i['ip']==ip_from: content[ip_from]['port'].extend(i['port']) return json.dumps(content, sort_keys=True, indent=2, separators=(',', ': ')) ips_content={} ips_content['data']={} for ip in range(ip_num.ip2num(ip_from), ip_num.ip2num(ip_to)+1): content={} for i in json_data['ips']: if i['ip']==ip_num.num2ip(ip): content[i['ip']]={} content[i['ip']]['port']=[] content[i['ip']]['port'].extend(i['port']) ips_content['data']=dict(ips_content['data'], **content) return json.dumps(ips_content, sort_keys=True, indent=2, separators=(',', ': ')) return "Wrong Input"
def do_white_list(ips_tmp, ports_tmp): #ips_tmp=request.forms.get('ips') #ports_tmp=request.forms.get('ports') json_data=get_data() response.content_type = 'application/json' white_list={} white_list['data']={} if ips_tmp!='' and ports_tmp!='': ips=ips_tmp.split('-') ports=[int(i) for i in ports_tmp.split('|')] if len(ips)==1: if ip_num.isIP(ips[0]) == False: return 'Wrong IP' content={} content['ip']=ips[0] content['port']=[] for i in json_data['ips']: if i['ip']==ips[0]: for j in i['port']: if j not in ports: content['port'].append(j) return json.dumps(content, sort_keys=True, indent=2, separators=(',', ': ')) if False == (ip_num.isIP(ips[0]) and ip_num.isIP(ips[1])): return 'Wrong IP' if ip_num.ip2num(ips[0])>ip_num.ip2num(ips[1]): ips[0],ips[1]=ips[1],ips[0] for ip in range(ip_num.ip2num(ips[0]),ip_num.ip2num(ips[1]) + 1): for i in json_data['ips']: if i['ip']==ip_num.num2ip(ip): content={} content[i['ip']]={} content[i['ip']]['port']=[] for j in i['port']: if j not in ports: content[i['ip']]['port'].append(j) white_list['data']=dict(white_list['data'], **content) return json.dumps(white_list, sort_keys=True, indent=2, separators=(',', ': ')) return "Wrong Input"