def highest_priority(source): """ Filters pools by highest priority """ max_prio = 0 pools = list(source) for pool in pools: name = pool.name if not name: continue if Pools.get_priority(name)>max_prio: max_prio = Pools.get_priority(name) for pool in pools: name = pool.name if not name: continue if Pools.get_priority(name)>=max_prio: yield pool
def highest_priority(source): """ Filters pools by highest priority """ max_prio = 0 pools = list(source) for pool in pools: name = pool.name if not name: continue if Pools.get_priority(name) > max_prio: max_prio = Pools.get_priority(name) for pool in pools: name = pool.name if not name: continue if Pools.get_priority(name) >= max_prio: yield pool
def get_server(): """ Returns an iterator of valid servers """ perc_map = [] map_ods = 0.0 percentage = Pools.percentage_server() for server, percentage in percentage: for perc in range(percentage): perc_map.append(server) map_ods += 0.01 if random.random() < map_ods: return random.choice(perc_map) return _select(Servers).name