1- # Uncomment the required imports before adding the code 
2- 
3- from  django .shortcuts  import  render 
4- from  django .http  import  HttpResponseRedirect , HttpResponse 
51from  django .contrib .auth .models  import  User 
6- from  django .shortcuts  import  get_object_or_404 , render , redirect 
7- from  django .contrib .auth  import  logout 
8- from  django .contrib  import  messages 
9- from  datetime  import  datetime 
10- 
2+ from  django .contrib .auth  import  logout , login , authenticate 
113from  django .http  import  JsonResponse 
12- from  django .contrib . auth  import  login ,  authenticate 
4+ from  django .views . decorators . csrf  import  csrf_exempt 
135import  logging 
146import  json 
15- from  django .views .decorators .csrf  import  csrf_exempt 
16- from  .populate  import  initiate 
177
8+ from  .populate  import  initiate 
189from  .models  import  CarMake , CarModel 
19- 
2010from  .restapis  import  get_request , analyze_review_sentiments , post_review 
2111
2212# Get an instance of a logger 
2313logger  =  logging .getLogger (__name__ )
2414
15+ 
2516# Create your views here. 
2617
2718# Create a `login_request` view to handle sign in request 
@@ -31,11 +22,11 @@ def login_user(request):
3122    data  =  json .loads (request .body )
3223    username  =  data ['userName' ]
3324    password  =  data ['password' ]
34-     # Try to check if provide credential  can be authenticated 
25+     # Try to check if provided credentials  can be authenticated 
3526    user  =  authenticate (username = username , password = password )
3627    data  =  {"userName" : username }
3728    if  user  is  not   None :
38-         # If user is valid, call login method to login  current user 
29+         # If user is valid, log in the  current user 
3930        login (request , user )
4031        data  =  {"userName" : username , "status" : "Authenticated" }
4132    return  JsonResponse (data )
@@ -51,8 +42,6 @@ def logout_request(request):
5142# Create a `registration` view to handle sign up request 
5243@csrf_exempt  
5344def  registration (request ):
54-     context  =  {}
55- 
5645    # Load JSON data from the request body 
5746    data  =  json .loads (request .body )
5847    username  =  data ['userName' ]
@@ -61,14 +50,14 @@ def registration(request):
6150    last_name  =  data ['lastName' ]
6251    email  =  data ['email' ]
6352    username_exist  =  False 
64-      email_exist   =   False 
53+ 
6554    try :
6655        # Check if user already exists 
6756        User .objects .get (username = username )
6857        username_exist  =  True 
6958    except  Exception :
70-         # If not, simply log this is a new user 
71-         logger .debug ("{}  is new user" . format ( username ) )
59+         # If not, simply log that  this is a new user 
60+         logger .debug ("%s  is a  new user" ,  username )
7261
7362    # If it is a new user 
7463    if  not  username_exist :
@@ -80,19 +69,18 @@ def registration(request):
8069            password = password ,
8170            email = email ,
8271        )
83-         # Login the user and redirect to list page  
72+         # Login the user and return status  
8473        login (request , user )
8574        data  =  {"userName" : username , "status" : "Authenticated" }
8675        return  JsonResponse (data )
87-      else : 
88-          data  =  {"userName" : username , "error" : "Already Registered" }
89-          return  JsonResponse (data )
76+ 
77+     data  =  {"userName" : username , "error" : "Already Registered" }
78+     return  JsonResponse (data )
9079
9180
9281# Create `get_cars` view to render the car model list 
9382def  get_cars (request ):
9483    count  =  CarMake .objects .filter ().count ()
95-     print (count )
9684    if  count  ==  0 :
9785        initiate ()
9886    car_models  =  CarModel .objects .select_related ('car_make' )
@@ -104,8 +92,8 @@ def get_cars(request):
10492    return  JsonResponse ({"CarModels" : cars })
10593
10694
107- # Update the `get_dealerships` render list of dealerships all by default,  
108- # particular state if state is passed 
95+ # Update the `get_dealerships` to  render list of dealerships:  
96+ # all by default, or a  particular state if state is passed 
10997def  get_dealerships (request , state = "All" ):
11098    if  state  ==  "All" :
11199        endpoint  =  "/fetchDealers" 
@@ -117,25 +105,23 @@ def get_dealerships(request, state="All"):
117105
118106# Create a `get_dealer_reviews` view to render the reviews of a dealer 
119107def  get_dealer_reviews (request , dealer_id ):
120-     # if  dealer id has been provided 
108+     # If  dealer id has been provided 
121109    if  dealer_id :
122110        try :
123111            endpoint  =  "/fetchReviews/dealer/"  +  str (dealer_id )
124112            reviews  =  get_request (endpoint )
125113            for  review_detail  in  reviews :
126114                response  =  analyze_review_sentiments (review_detail ['review' ])
127-                 print (response )
128115                review_detail ['sentiment' ] =  response .get (
129116                    'sentiment' ,
130-                     'neutral' 
117+                     'neutral' , 
131118                )
132119            return  JsonResponse ({"status" : 200 , "reviews" : reviews })
133120        except  Exception :
134121            return  JsonResponse (
135122                {"status" : 500 , "message" : "Internal server error" }
136123            )
137-     else :
138-         return  JsonResponse ({"status" : 400 , "message" : "Bad Request" })
124+     return  JsonResponse ({"status" : 400 , "message" : "Bad Request" })
139125
140126
141127# Create a `get_dealer_details` view to render the dealer details 
@@ -144,23 +130,18 @@ def get_dealer_details(request, dealer_id):
144130        endpoint  =  "/fetchDealer/"  +  str (dealer_id )
145131        dealership  =  get_request (endpoint )
146132        return  JsonResponse ({"status" : 200 , "dealer" : dealership })
147-     else :
148-         return  JsonResponse ({"status" : 400 , "message" : "Bad Request" })
133+     return  JsonResponse ({"status" : 400 , "message" : "Bad Request" })
149134
150135
151136# Create an `add_review` view to submit a review 
152137def  add_review (request ):
153-     if  request .user .is_anonymous   is   False :
138+     if  not   request .user .is_anonymous :
154139        data  =  json .loads (request .body )
155140        try :
156-             # response = post_review(data) 
157141            post_review (data )
158142            return  JsonResponse ({"status" : 200 })
159143        except  Exception :
160144            return  JsonResponse (
161145                {"status" : 401 , "message" : "Error in posting review" }
162146            )
163-     else :
164-         return  JsonResponse (
165-             {"status" : 403 , "message" : "Unauthorized" }
166-         )
147+     return  JsonResponse ({"status" : 403 , "message" : "Unauthorized" })
0 commit comments