1616
1717import glob
1818import logging
19- import re
20- import commands
21- from django .core .exceptions import ObjectDoesNotExist
19+
2220from django .db .transaction import commit_on_success
2321from django .core .exceptions import ObjectDoesNotExist
2422
2523from rest_framework import status
26- from rest_framework .decorators import api_view
2724from rest_framework .decorators import permission_classes
2825from rest_framework .permissions import IsAuthenticated
2926from rest_framework .response import Response
3027from rest_framework .views import APIView
31- from networkapi .api_rack .permissions import Read , Write
28+
29+ from networkapi .api_rack .permissions import Write
3230from networkapi .api_rack import facade , exceptions
3331from networkapi .api_rack .serializers import RackSerializer , DCSerializer , DCRoomSerializer
3432from networkapi .api_rest import exceptions as api_exceptions
35- from networkapi .equipamento .models import Equipamento , EquipamentoAmbiente
36- from networkapi .ip .models import Ip
37- from networkapi .ip .models import IpEquipamento
38- from networkapi .rack .models import Rack , Datacenter , DatacenterRooms
39- from networkapi .rest import RestResource
40- from networkapi .rest import UserNotAuthorizedError
33+ from networkapi .equipamento .models import Equipamento
4134from networkapi .system .facade import get_value as get_variable
42- from networkapi .system .facade import save_variable as save_variable
4335from networkapi .system import exceptions as var_exceptions
4436
4537from networkapi .distributedlock import LOCK_EQUIPMENT_DEPLOY_CONFIG_USERSCRIPT
@@ -71,7 +63,7 @@ def post(self, request, *args, **kwargs):
7163 exceptions .InvalidInputException ) as exception :
7264 log .exception (exception )
7365 raise exception
74- except Exception , e :
66+ except Exception as e :
7567 log .exception (e )
7668 raise api_exceptions .NetworkAPIException (e )
7769
@@ -93,10 +85,11 @@ def put(self, request, *args, **kwargs):
9385 data ['rack' ] = rack_serializer .data
9486
9587 return Response (data , status = status .HTTP_200_OK )
96- except Exception , e :
88+ except Exception as e :
9789 log .exception (e )
9890 raise api_exceptions .NetworkAPIException (e )
9991
92+ @commit_on_success
10093 def get (self , user , * args , ** kwargs ):
10194 """Handles GET requests to list all Racks"""
10295
@@ -117,10 +110,11 @@ def get(self, user, *args, **kwargs):
117110
118111 return Response (data , status = status .HTTP_200_OK )
119112
120- except Exception , e :
113+ except Exception as e :
121114 log .exception (e )
122115 raise api_exceptions .NetworkAPIException (e )
123116
117+ @commit_on_success
124118 def delete (self , user , * args , ** kwargs ):
125119 """Handles DELETE requests to list all Racks
126120 URLs: /api/rack/<rack_id>
@@ -137,7 +131,7 @@ def delete(self, user, *args, **kwargs):
137131
138132 return Response (data , status = status .HTTP_200_OK )
139133
140- except Exception , e :
134+ except Exception as e :
141135 log .exception (e )
142136 raise api_exceptions .NetworkAPIException (e )
143137
@@ -182,7 +176,7 @@ def post(self, *args, **kwargs):
182176 output = deploy_facade .deploy_config_in_equipment_synchronous (rel_filename , equip , lockvar )
183177
184178 log .debug ("equipment output: %s" % (output ))
185- except Exception , e :
179+ except Exception as e :
186180 log .exception (e )
187181 raise exceptions .RackAplError (e )
188182 # SEPARAR AQUI!
@@ -195,14 +189,14 @@ def post(self, *args, **kwargs):
195189
196190 return Response (datas , status = status .HTTP_201_CREATED )
197191
198- except exceptions .RackNumberNotFoundError , e :
192+ except exceptions .RackNumberNotFoundError as e :
199193 log .exception (e )
200194 raise exceptions .NetworkAPIException (e )
201- except var_exceptions .VariableDoesNotExistException , e :
195+ except var_exceptions .VariableDoesNotExistException as e :
202196 log .error (e )
203197 raise api_exceptions .NetworkAPIException (
204198 'Erro buscando a variável PATH_TO_ADD_CONFIG ou REL_PATH_TO_ADD_CONFIG. Erro: %s' % e )
205- except Exception , e :
199+ except Exception as e :
206200 log .exception (e )
207201 raise api_exceptions .NetworkAPIException (e )
208202
@@ -246,7 +240,7 @@ def post(self, request, *args, **kwargs):
246240
247241 data = dict ()
248242 return Response (data , status = status .HTTP_200_OK )
249- except Exception , e :
243+ except Exception as e :
250244 raise api_exceptions .NetworkAPIException (e )
251245
252246
@@ -264,7 +258,7 @@ def post(self, request, *args, **kwargs):
264258
265259 data = dict ()
266260 return Response (data , status = status .HTTP_200_OK )
267- except Exception , e :
261+ except Exception as e :
268262 raise api_exceptions .NetworkAPIException (e )
269263
270264 @permission_classes ((IsAuthenticated , Write ))
@@ -278,7 +272,7 @@ def delete(self, request, *args, **kwargs):
278272
279273 data = dict ()
280274 return Response (data , status = status .HTTP_200_OK )
281- except Exception , e :
275+ except Exception as e :
282276 raise api_exceptions .NetworkAPIException (e )
283277
284278
@@ -300,10 +294,9 @@ def post(self, request, *args, **kwargs):
300294
301295 return Response (data , status = status .HTTP_201_CREATED )
302296
303- except Exception , e :
297+ except Exception as e :
304298 raise api_exceptions .NetworkAPIException (e )
305299
306-
307300 @commit_on_success
308301 def get (self , request , * args , ** kwargs ):
309302 try :
@@ -315,7 +308,25 @@ def get(self, request, *args, **kwargs):
315308 data ['dc' ] = dc
316309
317310 return Response (data , status = status .HTTP_200_OK )
318- except Exception , e :
311+ except Exception as e :
312+ raise api_exceptions .NetworkAPIException (e )
313+
314+ @commit_on_success
315+ def delete (self , request , * args , ** kwargs ):
316+
317+ try :
318+ log .info ('Delete DC' )
319+
320+ dc_id = kwargs .get ("dc_id" ).split (";" )
321+
322+ facade .delete_dc (dc_id )
323+
324+ data = dict ()
325+
326+ return Response (data , status = status .HTTP_200_OK )
327+
328+ except Exception as e :
329+ log .exception (e )
319330 raise api_exceptions .NetworkAPIException (e )
320331
321332
@@ -336,7 +347,7 @@ def post(self, request, *args, **kwargs):
336347 data ['dcroom' ] = dcroom_serializer .data
337348
338349 return Response (data , status = status .HTTP_201_CREATED )
339- except Exception , e :
350+ except Exception as e :
340351 raise api_exceptions .NetworkAPIException (e )
341352
342353 @commit_on_success
@@ -361,10 +372,9 @@ def put(self, request, *args, **kwargs):
361372 data ['fabric' ] = fabric_serializer .data
362373
363374 return Response (data , status = status .HTTP_200_OK )
364- except Exception , e :
375+ except Exception as e :
365376 raise api_exceptions .NetworkAPIException (e )
366377
367-
368378 @commit_on_success
369379 def get (self , request , * args , ** kwargs ):
370380 try :
@@ -379,5 +389,23 @@ def get(self, request, *args, **kwargs):
379389 data ['fabric' ] = fabric
380390
381391 return Response (data , status = status .HTTP_200_OK )
382- except Exception , e :
383- raise api_exceptions .NetworkAPIException (e )
392+ except Exception as e :
393+ raise api_exceptions .NetworkAPIException (e )
394+
395+ @commit_on_success
396+ def delete (self , request , * args , ** kwargs ):
397+
398+ try :
399+ log .info ('Delete Fabric' )
400+
401+ fabric_id = kwargs .get ("fabric_id" ).split (";" )
402+
403+ facade .delete_dcrooms (fabric_id )
404+
405+ data = dict ()
406+
407+ return Response (data , status = status .HTTP_200_OK )
408+
409+ except Exception as e :
410+ log .exception (e )
411+ raise api_exceptions .NetworkAPIException (e )
0 commit comments