def init(args=None): try: network = args['NETWORK'] mask = args['MASK'] except: return "10.2.1.150" if mask<=24: mask=32-mask disponibles=calc_num_ip(mask) primera_ip=network.split(".") primera_ip[3]=first_ip(disponibles) primera_ip = '.'.join(map(str, primera_ip)) return primera_ip else: mask=32-mask disponibles=calc_num_ip(mask) primera_ip=network.split(".") primera_ip[3]=first_ip(disponibles) primera_ip = '.'.join(map(str, primera_ip)) return primera_ip #else #if #def init def first_ip(availables): if availables<=2: return 0 if availables<=10: return 5 if availables<=30: return 10; if availables<=100: return 50; return 100 #def last_ip def calc_num_ip(bits): disponibles=1 for num in range(0,bits): disponibles=disponibles*2 return disponibles #def calc_last_ip #init({'NETWORK':"10.2.1.0",'MASK':28})