1
- from django .http import JsonResponse
1
+ from django .http import JsonResponse , HttpResponse
2
2
from django .views .decorators .csrf import csrf_exempt
3
3
from rest_framework .decorators import api_view
4
4
@@ -23,12 +23,8 @@ def pokemon_by_id(request, id):
23
23
"""
24
24
Get Pokemon by ID
25
25
"""
26
- try :
27
- pokemon = Pokemon .objects .get (pk = id )
28
- serializer = PokemonSerializer (pokemon )
29
- return JsonResponse (serializer .data , safe = False , json_dumps_params = {'ensure_ascii' : False })
30
- except Exception as e :
31
- return JsonResponse ({'error' : 'Not found' }, status = 404 )
26
+ # TODO: Implement Endpoint
27
+ return HttpResponse (status = 501 )
32
28
33
29
34
30
@csrf_exempt
@@ -37,55 +33,23 @@ def pokemon_by_name(request, name):
37
33
"""
38
34
Get Pokemon by name
39
35
"""
40
- pokemon = Pokemon .objects .filter (name_english__iexact = name )
41
- if len (pokemon ) == 0 :
42
- return JsonResponse ({'error' : 'Not found' }, status = 404 )
43
- serializer = PokemonSerializer (pokemon .first ())
44
- return JsonResponse (serializer .data , safe = False , json_dumps_params = {'ensure_ascii' : False })
36
+ # TODO: Implement Endpoint
37
+ return HttpResponse (status = 501 )
45
38
46
39
47
40
@csrf_exempt
48
41
def pokemon_by_type (request , pokemon_type ):
49
42
"""
50
43
Get Pokemon by type
51
44
"""
52
- pokemon_type = pokemon_type .lower ().capitalize ()
53
- if VALID_POKEMON_TYPES .count ((pokemon_type , pokemon_type )) == 0 :
54
- return JsonResponse ({'error' : 'Bad request' }, status = 400 )
55
- pokemon = Pokemon .objects .filter (types__type__iexact = pokemon_type )
56
- if len (pokemon ) == 0 :
57
- return JsonResponse ({'error' : 'Not found' }, status = 404 )
58
- serializer = PokemonSerializer (pokemon , many = True )
59
- return JsonResponse (serializer .data , safe = False , json_dumps_params = {'ensure_ascii' : False })
45
+ # TODO: Implement Endpoint
46
+ return HttpResponse (status = 501 )
60
47
61
48
62
49
@csrf_exempt
63
50
def pokemon_by_hp (request ):
64
51
"""
65
52
Get Pokemon by HP
66
53
"""
67
- pokemon = Pokemon .objects .all ()
68
- lt = request .GET .get ('lt' )
69
- gt = request .GET .get ('gt' )
70
- lte = request .GET .get ('lte' )
71
- gte = request .GET .get ('gte' )
72
-
73
- valid_query_params = set (['lt' , 'gt' , 'lte' , 'gte' ])
74
-
75
- if not set (request .GET .keys ()) <= valid_query_params :
76
- return JsonResponse ({'error' : 'Invalid Operator. Must be one of ["gt","gte","lt","lte"]' }, status = 400 )
77
-
78
- if lt is not None :
79
- pokemon = pokemon .filter (hp__lt = int (lt ))
80
- if gt is not None :
81
- pokemon = pokemon .filter (hp__gt = int (gt ))
82
- if gte is not None :
83
- pokemon = pokemon .filter (hp__gte = int (gte ))
84
- if lte is not None :
85
- pokemon = pokemon .filter (hp__lte = int (lte ))
86
-
87
- if len (pokemon ) == 0 :
88
- return JsonResponse ({'error' : 'Not found' }, status = 404 )
89
-
90
- serializer = PokemonSerializer (pokemon , many = True )
91
- return JsonResponse (serializer .data , safe = False , json_dumps_params = {'ensure_ascii' : False })
54
+ # TODO: Implement Endpoint
55
+ return HttpResponse (status = 501 )
0 commit comments