Revision b3fd98ae snf-cyclades-app/synnefo/api/networks.py

b/snf-cyclades-app/synnefo/api/networks.py
31 31
# interpreted as representing official policies, either expressed
32 32
# or implied, of GRNET S.A.
33 33

  
34
from logging import getLogger
35 34

  
36
from django.conf.urls.defaults import patterns
37 35
from django.conf import settings
38
from django.db.models import Q
36
from django.conf.urls.defaults import patterns
39 37
from django.db import transaction
38
from django.db.models import Q
40 39
from django.http import HttpResponse
41 40
from django.template.loader import render_to_string
42 41
from django.utils import simplejson as json
43 42

  
44
from snf_django.lib.api import faults
43
from snf_django.lib import api
44
from snf_django.lib.api import faults, utils
45 45
from synnefo.api import util
46 46
from synnefo.api.actions import network_actions
47
from synnefo.api.common import method_not_allowed
48 47
from synnefo import quotas
49 48
from synnefo.db.models import Network
50 49
from synnefo.db.pools import EmptyPool
51 50
from synnefo.logic import backend
52 51

  
53 52

  
54
log = getLogger('synnefo.api')
53
from logging import getLogger
54
log = getLogger(__name__)
55 55

  
56 56
urlpatterns = patterns(
57 57
    'synnefo.api.networks',
......
68 68
    elif request.method == 'POST':
69 69
        return create_network(request)
70 70
    else:
71
        return method_not_allowed(request)
71
        return api.method_not_allowed(request)
72 72

  
73 73

  
74 74
def network_demux(request, network_id):
......
79 79
    elif request.method == 'DELETE':
80 80
        return delete_network(request, network_id)
81 81
    else:
82
        return method_not_allowed(request)
82
        return api.method_not_allowed(request)
83 83

  
84 84

  
85 85
def network_to_dict(network, user_id, detail=True):
......
91 91
        d['gateway6'] = network.gateway6
92 92
        d['dhcp'] = network.dhcp
93 93
        d['type'] = network.flavor
94
        d['updated'] = util.isoformat(network.updated)
95
        d['created'] = util.isoformat(network.created)
94
        d['updated'] = utils.isoformat(network.updated)
95
        d['created'] = utils.isoformat(network.created)
96 96
        d['status'] = network.state
97 97
        d['public'] = network.public
98 98

  
......
112 112
    return HttpResponse(data, status=status)
113 113

  
114 114

  
115
@util.api_method('GET')
115
@api.api_method(http_method='GET', user_required=True, logger=log)
116 116
def list_networks(request, detail=False):
117 117
    # Normal Response Codes: 200, 203
118 118
    # Error Response Codes: computeFault (400, 500),
......
122 122
    #                       overLimit (413)
123 123

  
124 124
    log.debug('list_networks detail=%s', detail)
125
    since = util.isoparse(request.GET.get('changes-since'))
125
    since = utils.isoparse(request.GET.get('changes-since'))
126 126
    user_networks = Network.objects.filter(Q(userid=request.user_uniq) |
127 127
                                           Q(public=True))
128 128

  
......
146 146
    return HttpResponse(data, status=200)
147 147

  
148 148

  
149
@util.api_method('POST')
149
@api.api_method(http_method='POST', user_required=True, logger=log)
150 150
@quotas.uses_commission
151 151
@transaction.commit_manually
152 152
def create_network(serials, request):
......
160 160
    #                       overLimit (413)
161 161

  
162 162
    try:
163
        req = util.get_request_dict(request)
163
        req = utils.get_request_dict(request)
164 164
        log.info('create_network %s', req)
165 165

  
166 166
        user_id = request.user_uniq
......
242 242
    return response
243 243

  
244 244

  
245
@util.api_method('GET')
245
@api.api_method(http_method='GET', user_required=True, logger=log)
246 246
def get_network_details(request, network_id):
247 247
    # Normal Response Codes: 200, 203
248 248
    # Error Response Codes: computeFault (400, 500),
......
258 258
    return render_network(request, netdict)
259 259

  
260 260

  
261
@util.api_method('PUT')
261
@api.api_method(http_method='PUT', user_required=True, logger=log)
262 262
def update_network_name(request, network_id):
263 263
    # Normal Response Code: 204
264 264
    # Error Response Codes: computeFault (400, 500),
......
270 270
    #                       itemNotFound (404),
271 271
    #                       overLimit (413)
272 272

  
273
    req = util.get_request_dict(request)
273
    req = utils.get_request_dict(request)
274 274
    log.info('update_network_name %s', network_id)
275 275

  
276 276
    try:
......
288 288
    return HttpResponse(status=204)
289 289

  
290 290

  
291
@util.api_method('DELETE')
291
@api.api_method(http_method='DELETE', user_required=True, logger=log)
292 292
@transaction.commit_on_success
293 293
def delete_network(request, network_id):
294 294
    # Normal Response Code: 204
......
317 317
    return HttpResponse(status=204)
318 318

  
319 319

  
320
@util.api_method('POST')
320
@api.api_method(http_method='POST', user_required=True, logger=log)
321 321
def network_action(request, network_id):
322
    req = util.get_request_dict(request)
322
    req = utils.get_request_dict(request)
323 323
    log.debug('network_action %s %s', network_id, req)
324 324
    if len(req) != 1:
325 325
        raise faults.BadRequest('Malformed request.')

Also available in: Unified diff