def mortgage_insurance(request): """ Return the monthly and upfront mortgage insurance premiums in percentages (i.e. 1.7% returns 1.7) If no premiums were found, no data will be returned. """ if request.method == 'GET': # Clean the parameters, make sure no leading or trailing spaces, transform them to upper cases fixed_data = dict( map(lambda (k, v): (k, v.strip().upper()), request.QUERY_PARAMS.iteritems())) serializer = ParamsSerializer(data=fixed_data) if serializer.is_valid(): package = {} package['request'] = serializer.data package['data'] = {} monthly = Monthly.get_avg_premium(serializer.data) upfront = Upfront.get_premium(serializer.data) if not math.isnan(monthly): package['data']['monthly'] = monthly if not math.isnan(upfront): package['data']['upfront'] = upfront return Response(package) else: return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def mortgage_insurance(request): """ Return the monthly and upfront mortgage insurance premiums in percentages (i.e. 1.7% returns 1.7) If no premiums were found, no data will be returned. """ if request.method == 'GET': # Clean the parameters, make sure no leading or trailing spaces, transform them to upper cases fixed_data = dict(map(lambda (k, v): (k, v.strip().upper()), request.QUERY_PARAMS.iteritems())) serializer = ParamsSerializer(data=fixed_data) if serializer.is_valid(): package = {} package['request'] = serializer.data package['data'] = {} monthly = Monthly.get_avg_premium(serializer.data) upfront = Upfront.get_premium(serializer.data) if not math.isnan(monthly): package['data']['monthly'] = monthly if not math.isnan(upfront): package['data']['upfront'] = upfront return Response(package) else: return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def mortgage_insurance(request): """ Return the monthly and upfront mortgage insurance premiums in percentages (i.e. 1.7% returns 1.7) If no premiums were found, no data will be returned. """ if request.method == 'GET': loan_type = request.QUERY_PARAMS.get('loan_type') rate_structure = request.QUERY_PARAMS.get('rate_structure') va_status = request.QUERY_PARAMS.get('va_status') va_first_use = request.QUERY_PARAMS.get('va_first_use') arm_type = request.QUERY_PARAMS.get('arm_type') data = { 'price': request.QUERY_PARAMS.get('price'), 'loan_amount': request.QUERY_PARAMS.get('loan_amount'), 'minfico': request.QUERY_PARAMS.get('minfico'), 'maxfico': request.QUERY_PARAMS.get('maxfico'), 'loan_term': request.QUERY_PARAMS.get('loan_term'), 'loan_type': '' if loan_type is None else loan_type.strip().upper(), 'rate_structure': '' if rate_structure is None else rate_structure.strip().upper(), 'va_status': '' if va_status is None else va_status.strip().upper(), 'va_first_use': '' if va_first_use is None else va_first_use.strip().upper(), 'arm_type': '' if arm_type is None else arm_type.strip().upper(), } serializer = ParamsSerializer(data=data) if serializer.is_valid(): package = {} package['request'] = serializer.data package['data'] = {} monthly = Monthly.get_avg_premium(serializer.data) upfront = Upfront.get_premium(serializer.data) if not math.isnan(monthly): package['data']['monthly'] = monthly if not math.isnan(upfront): package['data']['upfront'] = upfront return Response(package) else: return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def mortgage_insurance(request): """ Return the monthly and upfront mortgage insurance premiums in percentages (i.e. 1.7% returns 1.7) If no premiums were found, no data will be returned. """ if request.method == 'GET': loan_type = request.QUERY_PARAMS.get('loan_type') rate_structure = request.QUERY_PARAMS.get('rate_structure') va_status = request.QUERY_PARAMS.get('va_status') va_first_use = request.QUERY_PARAMS.get('va_first_use') arm_type = request.QUERY_PARAMS.get('arm_type') data = { 'price' : request.QUERY_PARAMS.get('price'), 'loan_amount' : request.QUERY_PARAMS.get('loan_amount'), 'minfico' : request.QUERY_PARAMS.get('minfico'), 'maxfico' : request.QUERY_PARAMS.get('maxfico'), 'loan_term' : request.QUERY_PARAMS.get('loan_term'), 'loan_type' : '' if loan_type is None else loan_type.strip().upper(), 'rate_structure' : '' if rate_structure is None else rate_structure.strip().upper(), 'va_status' : '' if va_status is None else va_status.strip().upper(), 'va_first_use' : '' if va_first_use is None else va_first_use.strip().upper(), 'arm_type' : '' if arm_type is None else arm_type.strip().upper(), } serializer = ParamsSerializer(data=data) if serializer.is_valid(): package = {} package['request'] = serializer.data package['data'] = {} monthly = Monthly.get_avg_premium(serializer.data) upfront = Upfront.get_premium(serializer.data) if not math.isnan(monthly): package['data']['monthly'] = monthly if not math.isnan(upfront): package['data']['upfront'] = upfront return Response(package) else: return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)