Revision 0ace35e4 snf-cyclades-app/synnefo/api/floating_ips.py

b/snf-cyclades-app/synnefo/api/floating_ips.py
228 228
    return HttpResponse(status=204)
229 229

  
230 230

  
231
def network_to_pool(network):
232
    pool = network.get_pool(with_lock=False)
233
    return {"name": str(network.id),
234
            "size": pool.pool_size,
235
            "free": pool.count_available()}
236

  
237

  
231 238
@api.api_method(http_method='GET', user_required=True, logger=log,
232 239
                serializations=["json"])
233 240
def list_floating_ip_pools(request):
234 241
    networks = Network.objects.filter(public=True, floating_ip_pool=True)
235 242
    networks = utils.filter_modified_since(request, objects=networks)
236
    pools = [{"name": str(net.id)} for net in networks]
243
    pools = map(network_to_pool, networks)
237 244
    request.serialization = "json"
238 245
    data = json.dumps({"floating_ip_pools": pools})
239 246
    request.serialization = "json"

Also available in: Unified diff