def load_adjustment_data(self, data_date, adjustment_filename): """ Read the adjustment CSV file and create. """ with open(adjustment_filename) as adjustment_csv: adjustment_reader = reader(adjustment_csv, delimiter="\t") iteradjustment = iter(adjustment_reader) next(iteradjustment) adjustments = [] for row in iteradjustment: a = Adjustment() a.product_id = int(row[0]) a.rule_id = int(row[1]) a.affect_rate_type = row[2] a.adj_value = self.nullable_decimal(row[3]) a.min_loan_amt = self.nullable_decimal(row[4]) a.max_loan_amt = self.nullable_decimal(row[5].strip()) a.prop_type = self.nullable_string(row[6]) a.min_fico = self.nullable_int(row[7]) a.max_fico = self.nullable_int(row[8]) a.min_ltv = self.nullable_float(row[9]) a.max_ltv = self.nullable_float(row[10]) a.state = row[11] a.data_timestamp = data_date adjustments.append(a) if len(adjustments) > 1000: Adjustment.objects.bulk_create(adjustments) adjustments[:] = [] Adjustment.objects.bulk_create(adjustments)
def load_adjustment_data(self, data_date, zfile): """ Read the adjustment CSV file and create. """ filename = "%s_adjustment.txt" % data_date data_date = timezone.make_aware(datetime.strptime(data_date, '%Y%m%d'), timezone.get_current_timezone()) adjustment_reader = reader(StringIO.StringIO(zfile.read(filename)), delimiter='\t') iteradjustment = iter(adjustment_reader) next(iteradjustment) adjustments = [] total_adjustments = 0 for row in iteradjustment: total_adjustments += 1 a = Adjustment() a.product_id = int(row[0]) a.rule_id = int(row[1]) a.affect_rate_type = row[2] adj_value = self.nullable_decimal(row[3]) a.adj_value = adj_value if adj_value is not None else 0 a.min_loan_amt = self.nullable_decimal(row[4]) a.max_loan_amt = self.nullable_decimal(row[5].strip()) a.prop_type = self.nullable_string(row[6]) a.min_fico = self.nullable_int(row[7]) a.max_fico = self.nullable_int(row[8]) a.min_ltv = self.nullable_decimal(row[9]) a.max_ltv = self.nullable_decimal(row[10]) a.state = row[11] a.data_timestamp = data_date adjustments.append(a) if len(adjustments) > 1000: Adjustment.objects.bulk_create(adjustments) adjustments[:] = [] Adjustment.objects.bulk_create(adjustments) if not total_adjustments or Adjustment.objects.count( ) != total_adjustments: raise OaHException("Couldn't load adjustment data from %s" % zfile.filename)
def load_adjustment_data(self, data_date, zfile): """ Read the adjustment CSV file and create. """ filename = "%s_adjustment.txt" % data_date data_date = timezone.make_aware( datetime.strptime(data_date, '%Y%m%d'), timezone.get_current_timezone()) adjustment_reader = reader(StringIO.StringIO(zfile.read(filename)), delimiter='\t') iteradjustment = iter(adjustment_reader) next(iteradjustment) adjustments = [] total_adjustments = 0 for row in iteradjustment: total_adjustments += 1 a = Adjustment() a.product_id = int(row[0]) a.rule_id = int(row[1]) a.affect_rate_type = row[2] adj_value = self.nullable_decimal(row[3]) a.adj_value = adj_value if adj_value is not None else 0 a.min_loan_amt = self.nullable_decimal(row[4]) a.max_loan_amt = self.nullable_decimal(row[5].strip()) a.prop_type = self.nullable_string(row[6]) a.min_fico = self.nullable_int(row[7]) a.max_fico = self.nullable_int(row[8]) a.min_ltv = self.nullable_float(row[9]) a.max_ltv = self.nullable_float(row[10]) a.state = row[11] a.data_timestamp = data_date adjustments.append(a) if len(adjustments) > 1000: Adjustment.objects.bulk_create(adjustments) adjustments[:] = [] Adjustment.objects.bulk_create(adjustments) if not total_adjustments or Adjustment.objects.count() != total_adjustments: raise OaHException("Couldn't load adjustment data from %s" % zfile.filename)