Skip to content

Commit 963416e

Browse files
committed
EGCETSII#13-refactor: Renaming variables and replacing try/excepts 404 with get_object_or_404 function
1 parent d8f0068 commit 963416e

File tree

2 files changed

+36
-123
lines changed

2 files changed

+36
-123
lines changed

decide/administration/serializers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class AdminQuestionSerializer(serializers.ModelSerializer):
3636
class Meta:
3737
model = Question
3838
fields = ('id', 'desc', 'options')
39-
depht = 1
39+
depth = 1
4040

4141
def create(self, validated_data):
4242
options_data = validated_data.pop("options")

decide/administration/views.py

Lines changed: 35 additions & 122 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
from django.utils import timezone
2-
32
from django.shortcuts import render, get_object_or_404
43
from rest_framework.status import *
5-
from django.core.exceptions import ObjectDoesNotExist
64
from rest_framework import parsers, renderers, status
75
from rest_framework.authtoken.models import Token
86
from rest_framework.authtoken.serializers import AuthTokenSerializer
@@ -12,8 +10,6 @@
1210
from authentication.serializers import UserSerializer
1311
from administration.serializers import *
1412
from base.serializers import AuthSerializer, KeySerializer
15-
from decide import settings
16-
from decide.settings import BASEURL
1713
from voting.serializers import VotingSerializer
1814
from .serializers import CensusSerializer
1915
from base.perms import IsAdminAPI
@@ -29,8 +25,8 @@ class VotingAPI(APIView):
2925
permission_classes = (IsAdminAPI,)
3026

3127
def get(self, request):
32-
query = Voting.objects.all()
33-
rest = VotingSerializer(query, many=True).data
28+
votings = Voting.objects.all()
29+
rest = VotingSerializer(votings, many=True).data
3430
return Response(rest, status=HTTP_200_OK)
3531

3632
def post(self, request):
@@ -117,18 +113,15 @@ def delete(self, request):
117113
Voting.objects.filter(id__in=ids).delete()
118114
return Response({}, status=HTTP_200_OK)
119115

116+
120117
class VotingsAPI(APIView):
121118
permission_classes = (IsAdminAPI,)
122119

123120
def get(self, request, voting_id):
124-
try:
125-
query = Voting.objects.filter(id=voting_id).get()
126-
except ObjectDoesNotExist:
127-
return Response({}, status=HTTP_404_NOT_FOUND)
128-
rest = VotingSerializer(query).data
121+
votings = get_object_or_404(Voting.objects.filter(id=voting_id))
122+
rest = VotingSerializer(votings).data
129123
return Response(rest, status=HTTP_200_OK)
130124

131-
132125
def delete(self, request, voting_id):
133126
Voting.objects.all().filter(id=voting_id).delete()
134127
return Response({}, status=HTTP_200_OK)
@@ -138,8 +131,8 @@ class QuestionsAPI(APIView):
138131
permission_classes = (IsAdminAPI,)
139132

140133
def get(self, request):
141-
query = Question.objects.all()
142-
rest = AdminQuestionSerializer(query, many=True).data
134+
questions = Question.objects.all()
135+
rest = AdminQuestionSerializer(questions, many=True).data
143136
return Response(rest, status=HTTP_200_OK)
144137

145138
def post(self, request):
@@ -165,20 +158,17 @@ class QuestionAPI(APIView):
165158
permission_classes = (IsAdminAPI,)
166159

167160
def get(self, request, question_id):
168-
try:
169-
query = Question.objects.filter(id=question_id).get()
170-
except ObjectDoesNotExist:
171-
return Response({}, status=HTTP_404_NOT_FOUND)
172-
rest = AdminQuestionSerializer(query).data
161+
question = get_object_or_404(Question.objects.filter(id=question_id))
162+
rest = AdminQuestionSerializer(question).data
173163
return Response(rest, status=HTTP_200_OK)
174164

175165
def put(self, request, question_id):
176-
obj = Question.objects.get(id=question_id)
177-
serializer = AdminQuestionSerializer(obj, data=request.data)
178-
if serializer.is_valid():
179-
serializer.save()
180-
return Response(serializer.data, status=HTTP_200_OK)
181-
return Response(serializer.errors, status=HTTP_400_BAD_REQUEST)
166+
question = Question.objects.get(id=question_id)
167+
question_serializer = AdminQuestionSerializer(question, data=request.data)
168+
if question_serializer.is_valid():
169+
question_serializer.save()
170+
return Response(question_serializer.data, status=HTTP_200_OK)
171+
return Response(question_serializer.errors, status=HTTP_400_BAD_REQUEST)
182172

183173
def delete(self, request, question_id):
184174
Question.objects.all().filter(id=question_id).delete()
@@ -189,8 +179,8 @@ class CensussAPI(APIView):
189179
permission_classes = (IsAdminAPI,)
190180

191181
def get(self, request):
192-
query = Census.objects.all().values()
193-
return Response(query, status=HTTP_200_OK)
182+
censuss = Census.objects.all().values()
183+
return Response(censuss, status=HTTP_200_OK)
194184

195185
def post(self, request):
196186
census = CensusSerializer(data=request.data)
@@ -214,73 +204,14 @@ class CensusAPI(APIView):
214204
permission_classes = (IsAdminAPI,)
215205

216206
def get(self, request, census_id):
217-
try:
218-
query = Census.objects.all().values().filter(id=census_id).get()
219-
except ObjectDoesNotExist:
220-
return Response({}, status=HTTP_404_NOT_FOUND)
221-
return Response(query, status=HTTP_200_OK)
222-
223-
def put(self, request, census_id):
224-
if not CensusSerializer(data=request.data).is_valid():
225-
return Response({"result": "Census object is not valid"}, status=HTTP_400_BAD_REQUEST)
226-
else:
227-
try:
228-
census = Census.objects.all().filter(id=census_id).get()
229-
except ObjectDoesNotExist:
230-
return Response({}, status=HTTP_404_NOT_FOUND)
231-
for key, value in request.data.items():
232-
setattr(census, key, value)
233-
census.save()
234-
return Response({}, status=HTTP_200_OK)
235-
236-
def delete(self, request, census_id):
237-
Census.objects.all().filter(id=census_id).delete()
238-
return Response({}, status=HTTP_200_OK)
239-
240-
241-
class CensussAPI(APIView):
242-
permission_classes = (IsAdminAPI,)
243-
244-
def get(self, request):
245-
query = Census.objects.all().values()
246-
return Response(query, status=HTTP_200_OK)
247-
248-
def post(self, request):
249-
census = CensusSerializer(data=request.data)
250-
if not census.is_valid():
251-
return Response({"result", "Census object is not valid"}, status=HTTP_400_BAD_REQUEST)
252-
else:
253-
census.save()
254-
return Response({}, status=HTTP_200_OK)
255-
256-
def delete(self, request):
257-
if request.data.get("idList") is None:
258-
Census.objects.all().delete()
259-
return Response({}, status=HTTP_200_OK)
260-
else:
261-
ids = request.data.get("idList")
262-
Census.objects.filter(id__in=ids).delete()
263-
return Response({}, status=HTTP_200_OK)
264-
265-
266-
class CensusAPI(APIView):
267-
permission_classes = (IsAdminAPI,)
268-
269-
def get(self, request, census_id):
270-
try:
271-
query = Census.objects.all().values().filter(id=census_id).get()
272-
except ObjectDoesNotExist:
273-
return Response({}, status=HTTP_404_NOT_FOUND)
274-
return Response(query, status=HTTP_200_OK)
207+
census = get_object_or_404(Census.objects.all().values().filter(id=census_id))
208+
return Response(census, status=HTTP_200_OK)
275209

276210
def put(self, request, census_id):
277211
if not CensusSerializer(data=request.data).is_valid():
278212
return Response({"result": "Census object is not valid"}, status=HTTP_400_BAD_REQUEST)
279213
else:
280-
try:
281-
census = Census.objects.all().filter(id=census_id).get()
282-
except ObjectDoesNotExist:
283-
return Response({}, status=HTTP_404_NOT_FOUND)
214+
census = get_object_or_404(Census.objects.all().filter(id=census_id))
284215
for key, value in request.data.items():
285216
setattr(census, key, value)
286217
census.save()
@@ -295,8 +226,8 @@ class AuthsAPI(APIView):
295226
permission_classes = (IsAdminAPI,)
296227

297228
def get(self, request):
298-
query = Auth.objects.all().values()
299-
return Response(query, status=HTTP_200_OK)
229+
auths = Auth.objects.all().values()
230+
return Response(auths, status=HTTP_200_OK)
300231

301232
def post(self, request):
302233
auth = AuthSerializer(data=request.data)
@@ -321,20 +252,14 @@ class AuthAPI(APIView):
321252
permission_classes = (IsAdminAPI,)
322253

323254
def get(self, request, auth_id):
324-
try:
325-
query = Auth.objects.all().values().filter(id=auth_id).get()
326-
except ObjectDoesNotExist:
327-
return Response({}, status=HTTP_404_NOT_FOUND)
328-
return Response(query, status=HTTP_200_OK)
255+
auth = get_object_or_404(Auth.objects.all().values().filter(id=auth_id))
256+
return Response(auth, status=HTTP_200_OK)
329257

330258
def put(self, request, auth_id):
331259
if not AuthSerializer(data=request.data).is_valid():
332260
return Response({"result": "Auth object is not valid"}, status=HTTP_400_BAD_REQUEST)
333261
else:
334-
try:
335-
auth = Auth.objects.all().filter(id=auth_id).get()
336-
except ObjectDoesNotExist:
337-
return Response({}, status=HTTP_404_NOT_FOUND)
262+
auth = get_object_or_404(Auth.objects.all().filter(id=auth_id))
338263
for key, value in request.data.items():
339264
setattr(auth, key, value)
340265
auth.save()
@@ -349,8 +274,8 @@ class KeysAPI(APIView):
349274
permission_classes = (IsAdminAPI,)
350275

351276
def get(self, request):
352-
query = Key.objects.all().values()
353-
return Response(query, status=HTTP_200_OK)
277+
keys = Key.objects.all().values()
278+
return Response(keys, status=HTTP_200_OK)
354279

355280
def post(self, request):
356281
key = KeySerializer(data=request.data)
@@ -375,20 +300,14 @@ class KeyAPI(APIView):
375300
permission_classes = (IsAdminAPI,)
376301

377302
def get(self, request, key_id):
378-
try:
379-
query = Key.objects.all().values().filter(id=key_id).get()
380-
except ObjectDoesNotExist:
381-
return Response({}, status=HTTP_404_NOT_FOUND)
382-
return Response(query, status=HTTP_200_OK)
303+
key = get_object_or_404(Key.objects.all().values().filter(id=key_id))
304+
return Response(key, status=HTTP_200_OK)
383305

384306
def put(self, request, key_id):
385307
if not KeySerializer(data=request.data).is_valid():
386308
return Response({"result": "User object is not valid"}, status=HTTP_400_BAD_REQUEST)
387309
else:
388-
try:
389-
keym = Key.objects.all().filter(id=key_id).get()
390-
except ObjectDoesNotExist:
391-
return Response({}, status=HTTP_404_NOT_FOUND)
310+
keym = get_object_or_404(Key.objects.all().filter(id=key_id))
392311
for key, value in request.data.items():
393312
setattr(keym, key, value)
394313
keym.save()
@@ -403,8 +322,8 @@ class UsersAPI(APIView):
403322
permission_classes = (IsAdminAPI,)
404323

405324
def get(self, request):
406-
query = User.objects.all()
407-
rest = UserAdminSerializer(query, many=True).data
325+
users = User.objects.all()
326+
rest = UserAdminSerializer(users, many=True).data
408327
return Response(rest, status=HTTP_200_OK)
409328

410329
def post(self, request):
@@ -432,20 +351,14 @@ class UserAPI(APIView):
432351
permission_classes = (IsAdminAPI,)
433352

434353
def get(self, request, user_id):
435-
try:
436-
query = User.objects.filter(id=user_id).get()
437-
except ObjectDoesNotExist:
438-
return Response({}, status=HTTP_404_NOT_FOUND)
439-
rest = UserAdminSerializer(query).data
354+
user = get_object_or_404(User.objects.filter(id=user_id))
355+
rest = UserAdminSerializer(user).data
440356
return Response(rest, status=HTTP_200_OK)
441357

442358
def put(self, request, user_id):
443359
user_update = UserUpdateSerializer(data=request.data)
444360
is_valid(user_update.is_valid(), "User object is not valid")
445-
try:
446-
user = User.objects.filter(id=user_id).get()
447-
except ObjectDoesNotExist:
448-
return Response({}, status=HTTP_404_NOT_FOUND)
361+
user = get_object_or_404(User.objects.filter(id=user_id))
449362
for key, value in request.data.items():
450363
if value:
451364
setattr(user, key, value)

0 commit comments

Comments
 (0)