def unique_uli(new_lar_df=None, lei=None): """ Generates a set of unique ULI's for a LAR dataframe. """ #Copy over ULIs with the LEI new_lar_df["uli"] = new_lar_df["uli"].apply(lambda x: lei) #Generates a loan ID as a random 23-character string for each LEI new_lar_df["uli"] = new_lar_df["uli"].apply( lambda x: x + utils.char_string_gen(23)) #Adds a check digit to each ULI new_lar_df['uli'] = new_lar_df["uli"].apply( lambda x: x + utils.check_digit_gen(ULI=x)) #If ULIs are duplicated, the unique_uli function is applied again. #FIXME: remove recursion and replace with nexted loops: #for loop for length of new lar file size #while loop to create new ULIs and check against an established list for duplication if len(new_lar_df['uli']) > len(set(new_lar_df['uli'])): print("Re-Running") self.unique_uli(new_lar_df) else: print("Unique ULIs Assigned") return new_lar_df
def unique_uli(new_lar_df=None, lei=None): """ Generates a set of unique ULI's for a LAR dataframe. """ #Copying over ULIs with the LEI. new_lar_df["uli"] = new_lar_df["uli"].apply(lambda x: lei) #Generates a loan ID as a random 23-character #string for each LEI. new_lar_df["uli"] = new_lar_df["uli"].apply( lambda x: x + utils.char_string_gen(23)) #Adds a check digit to each. new_lar_df['uli'] = new_lar_df["uli"].apply( lambda x: x + utils.check_digit_gen(ULI=x)) #If ULIs are duplicated, the unique_uli function #is applied again. if len(new_lar_df['uli']) > len(set(new_lar_df['uli'])): print("Re-Running") self.unique_uli(new_lar_df) else: print("Unique ULIs Assigned") return new_lar_df
def make_row(self, lar_file_config, geographic_data, state_codes, zip_code_list): """Make num_rows LAR rows and return them as a list of ordered dicts""" valid_lar_row = OrderedDict() valid_lar_row["record_id"] = str(self.lar_schema_df.valid_vals[ self.lar_schema_df.field == "record_id"].iloc[0][0]) valid_lar_row["lei"] = lar_file_config["lei"]["value"] valid_lar_row["uli"] = valid_lar_row['lei'] + utils.char_string_gen(23) valid_lar_row["uli"] = valid_lar_row["uli"] + utils.check_digit_gen( ULI=valid_lar_row["uli"]) valid_lar_row["uli"] = random.choice( [valid_lar_row["uli"], utils.char_string_gen(22)]) valid_lar_row["app_date"] = str( self.date_gen( activity_year=lar_file_config["activity_year"]["value"])) valid_lar_row["loan_type"] = str( random.choice(self.get_schema_list(field="loan_type"))) valid_lar_row["loan_purpose"] = str( random.choice(self.get_schema_list(field="loan_purpose"))) valid_lar_row["preapproval"] = str( random.choice(self.get_schema_list(field="preapproval"))) valid_lar_row["const_method"] = str( random.choice(self.get_schema_list(field="const_method"))) valid_lar_row["occ_type"] = str( random.choice(self.get_schema_list(field="occ_type"))) valid_lar_row["loan_amount"] = str( random.choice(range(1, lar_file_config["max_amount"]["value"]))) valid_lar_row["action_taken"] = str( random.choice(self.get_schema_list(field='action_taken'))) valid_lar_row["action_date"] = str( self.date_gen( activity_year=lar_file_config["activity_year"]["value"])) valid_lar_row["street_address"] = random.choice([ lar_file_config["street_addy"]["value"], lar_file_config["street_addy"]["value"], "Exempt" ]) valid_lar_row["city"] = lar_file_config["city"]["value"] valid_lar_row["state"] = "" #placeholder to preserve LAR order valid_lar_row["zip_code"] = random.choice(zip_code_list) valid_lar_row["county"] = "" #placeholder to preserve LAR order valid_lar_row["tract"] = random.choice(geographic_data["tract_fips"]) valid_lar_row["state"] = state_codes[str(valid_lar_row["tract"][:2])] valid_lar_row["county"] = valid_lar_row["tract"][:5] valid_lar_row["app_eth_1"] = str( random.choice(self.get_schema_list(field="app_eth_1", empty=True))) valid_lar_row["app_eth_2"] = str( random.choice(self.get_schema_list(field="app_eth_2", empty=True))) valid_lar_row["app_eth_3"] = str( random.choice(self.get_schema_list(field="app_eth_3", empty=True))) valid_lar_row["app_eth_4"] = str( random.choice(self.get_schema_list(field="app_eth_4", empty=True))) valid_lar_row["app_eth_5"] = str( random.choice(self.get_schema_list(field="app_eth_5", empty=True))) valid_lar_row["app_eth_free"] = utils.char_string_gen( random.choice(range(100))) valid_lar_row["co_app_eth_1"] = str( random.choice( self.get_schema_list(field="co_app_eth_1", empty=True))) valid_lar_row["co_app_eth_2"] = str( random.choice( self.get_schema_list(field="co_app_eth_2", empty=True))) valid_lar_row["co_app_eth_3"] = str( random.choice( self.get_schema_list(field="co_app_eth_3", empty=True))) valid_lar_row["co_app_eth_4"] = str( random.choice( self.get_schema_list(field="co_app_eth_4", empty=True))) valid_lar_row["co_app_eth_5"] = str( random.choice( self.get_schema_list(field="co_app_eth_5", empty=True))) valid_lar_row["co_app_eth_free"] = utils.char_string_gen( random.choice(range(100))) valid_lar_row["app_eth_basis"] = str( random.choice(self.get_schema_list(field="app_eth_basis"))) valid_lar_row["co_app_eth_basis"] = str( random.choice(self.get_schema_list(field="co_app_eth_basis"))) valid_lar_row["app_race_1"] = str( random.choice(self.get_schema_list(field="app_race_1", empty=True))) valid_lar_row["app_race_2"] = str( random.choice(self.get_schema_list(field="app_race_2", empty=True))) valid_lar_row["app_race_3"] = str( random.choice(self.get_schema_list(field="app_race_3", empty=True))) valid_lar_row["app_race_4"] = str( random.choice(self.get_schema_list(field="app_race_4", empty=True))) valid_lar_row["app_race_5"] = str( random.choice(self.get_schema_list(field="app_race_5", empty=True))) valid_lar_row["app_race_native_text"] = utils.char_string_gen( random.choice(range(100))) valid_lar_row["app_race_asian_text"] = utils.char_string_gen( random.choice(range(100))) valid_lar_row["app_race_islander_text"] = utils.char_string_gen( random.choice(range(100))) valid_lar_row["co_app_race_1"] = str( random.choice( self.get_schema_list(field="co_app_race_1", empty=True))) valid_lar_row["co_app_race_2"] = str( random.choice( self.get_schema_list(field="co_app_race_2", empty=True))) valid_lar_row["co_app_race_3"] = str( random.choice( self.get_schema_list(field="co_app_race_3", empty=True))) valid_lar_row["co_app_race_4"] = str( random.choice( self.get_schema_list(field="co_app_race_4", empty=True))) valid_lar_row["co_app_race_5"] = str( random.choice( self.get_schema_list(field="co_app_race_5", empty=True))) valid_lar_row["co_app_race_native_text"] = utils.char_string_gen( random.choice(range(100))) valid_lar_row["co_app_race_asian_text"] = utils.char_string_gen( random.choice(range(100))) valid_lar_row["co_app_race_islander_text"] = utils.char_string_gen( random.choice(range(100))) valid_lar_row["app_race_basis"] = str( random.choice(self.get_schema_list(field="app_race_basis"))) valid_lar_row["co_app_race_basis"] = str( random.choice(self.get_schema_list(field="co_app_race_basis"))) valid_lar_row["app_sex"] = str( random.choice(self.get_schema_list(field="app_sex"))) valid_lar_row["co_app_sex"] = str( random.choice(self.get_schema_list(field="co_app_sex"))) valid_lar_row["app_sex_basis"] = str( random.choice(self.get_schema_list(field="app_sex_basis"))) valid_lar_row["co_app_sex_basis"] = str( random.choice(self.get_schema_list(field="co_app_sex_basis"))) valid_lar_row["app_age"] = str( random.choice( self.range_and_enum( field="app_age", rng_max=lar_file_config["max_age"]["value"]))) valid_lar_row["co_app_age"] = str( random.choice( self.range_and_enum( field="co_app_age", rng_max=lar_file_config["max_age"]["value"]))) valid_lar_row["income"] = str( random.choice(range(1, lar_file_config["max_income"]["value"]))) valid_lar_row["purchaser_type"] = str( random.choice(self.get_schema_list(field="purchaser_type"))) valid_lar_row["rate_spread"] = str( random.choice( self.range_and_enum(field="rate_spread", rng_max=lar_file_config["max_rs"]["value"], dtype="float"))) valid_lar_row["hoepa"] = str( random.choice(self.get_schema_list(field="hoepa"))) valid_lar_row["lien"] = str( random.choice(self.get_schema_list(field="lien"))) valid_lar_row["app_credit_score"] = str( random.choice( self.range_and_enum( field="app_credit_score", rng_min=lar_file_config["min_credit_score"]["value"], rng_max=lar_file_config["max_credit_score"]["value"]))) valid_lar_row["co_app_credit_score"] = str( random.choice( self.range_and_enum( field="co_app_credit_score", rng_min=lar_file_config["min_credit_score"]["value"], rng_max=lar_file_config["max_credit_score"]["value"]))) valid_lar_row["app_score_name"] = str( random.choice(self.get_schema_list(field="app_score_name"))) valid_lar_row["app_score_code_8"] = str( utils.char_string_gen(random.choice(range(100)))) valid_lar_row["co_app_score_name"] = str( random.choice(self.get_schema_list(field="co_app_score_name"))) valid_lar_row["co_app_score_code_8"] = utils.char_string_gen( random.choice(range(100))) valid_lar_row["denial_1"] = str( random.choice(self.get_schema_list(field="denial_1"))) valid_lar_row["denial_2"] = str( random.choice(self.get_schema_list(field="denial_2", empty=True))) valid_lar_row["denial_3"] = str( random.choice(self.get_schema_list(field="denial_3", empty=True))) valid_lar_row["denial_4"] = str( random.choice(self.get_schema_list(field="denial_4", empty=True))) valid_lar_row["denial_code_9"] = utils.char_string_gen( random.choice(range(255))) valid_lar_row["loan_costs"] = str( random.choice( self.range_and_enum( field="loan_costs", rng_max=lar_file_config["loan_costs"]["value"]))) valid_lar_row["points_fees"] = str( random.choice( self.range_and_enum( field="points_fees", rng_max=lar_file_config["points_and_fees"]["value"]))) valid_lar_row["origination_fee"] = str( random.choice( self.range_and_enum( field="origination_fee", rng_max=lar_file_config["orig_charges"]["value"]))) valid_lar_row["discount_points"] = str( random.choice( self.range_and_enum( field="discount_points", rng_max=lar_file_config["discount_points"]["value"], empty=True))) valid_lar_row["lender_credits"] = str( random.choice( self.range_and_enum( field="lender_credits", rng_max=lar_file_config["lender_credits"]["value"], empty=True))) valid_lar_row["interest_rate"] = str( random.choice( self.range_and_enum( field="interest_rate", rng_max=lar_file_config["interest_rate"]["value"], dtype="float"))) valid_lar_row["prepayment_penalty"] = str( random.choice( self.range_and_enum( field="prepayment_penalty", rng_max=lar_file_config["penalty_max"]["value"]))) valid_lar_row["dti"] = str( random.choice( self.range_and_enum(field="dti", rng_max=lar_file_config["dti"]["value"]))) valid_lar_row["cltv"] = str( random.choice( self.range_and_enum(field="cltv", rng_max=lar_file_config["cltv"]["value"]))) valid_lar_row["loan_term"] = str( random.choice( self.range_and_enum( field="loan_term", rng_max=lar_file_config["loan_term"]["value"]))) valid_lar_row["intro_rate"] = str( random.choice( self.range_and_enum( field="intro_rate", rng_max=lar_file_config["intro_rate"]["value"]))) valid_lar_row["balloon"] = str( random.choice(self.get_schema_list(field="balloon"))) valid_lar_row["int_only_pmts"] = str( random.choice(self.get_schema_list(field="int_only_pmts"))) valid_lar_row["neg_amort"] = str( random.choice(self.get_schema_list(field="neg_amort"))) valid_lar_row["non_amort_features"] = str( random.choice(self.get_schema_list(field="non_amort_features"))) valid_lar_row["property_value"] = str( random.choice( self.range_and_enum( field="property_value", rng_min=lar_file_config["prop_val_min"]["value"], rng_max=lar_file_config["prop_val_max"]["value"]))) valid_lar_row["manufactured_type"] = str( random.choice(self.get_schema_list(field="manufactured_type"))) valid_lar_row["manufactured_interest"] = str( random.choice(self.get_schema_list(field="manufactured_interest"))) valid_lar_row["total_units"] = str( random.choice( self.range_and_enum( field="total_units", rng_min=1, rng_max=lar_file_config["max_units"]["value"]))) valid_lar_row["affordable_units"] = str( random.choice( self.range_and_enum(field="affordable_units", rng_min=0, rng_max=int( valid_lar_row["total_units"])))) valid_lar_row["app_submission"] = str( random.choice(self.get_schema_list(field="app_submission"))) valid_lar_row["initially_payable"] = str( random.choice(self.get_schema_list(field="initially_payable"))) valid_lar_row["mlo_id"] = utils.char_string_gen( random.choice(range(25))) valid_lar_row["aus_1"] = str( random.choice(self.get_schema_list(field="aus_1"))) valid_lar_row["aus_2"] = str( random.choice(self.get_schema_list(field="aus_2", empty=True))) valid_lar_row["aus_3"] = str( random.choice(self.get_schema_list(field="aus_3", empty=True))) valid_lar_row["aus_4"] = str( random.choice(self.get_schema_list(field="aus_4", empty=True))) valid_lar_row["aus_5"] = str( random.choice(self.get_schema_list(field="aus_5", empty=True))) valid_lar_row["aus_code_5"] = utils.char_string_gen( random.choice(range(255))) valid_lar_row["aus_result_1"] = str( random.choice(self.get_schema_list(field="aus_result_1"))) valid_lar_row["aus_result_2"] = str( random.choice( self.get_schema_list(field="aus_result_2", empty=True))) valid_lar_row["aus_result_3"] = str( random.choice( self.get_schema_list(field="aus_result_3", empty=True))) valid_lar_row["aus_result_4"] = str( random.choice( self.get_schema_list(field="aus_result_4", empty=True))) valid_lar_row["aus_result_5"] = str( random.choice( self.get_schema_list(field="aus_result_5", empty=True))) valid_lar_row["aus_code_16"] = utils.char_string_gen( random.choice(range(255))) valid_lar_row["reverse_mortgage"] = str( random.choice(self.get_schema_list(field="reverse_mortgage"))) valid_lar_row["open_end_credit"] = str( random.choice(self.get_schema_list(field="open_end_credit"))) valid_lar_row["business_purpose"] = str( random.choice(self.get_schema_list(field="business_purpose"))) return valid_lar_row
def make_row(self, lei=None): """Make num_rows LAR rows and return them as a list of ordered dicts""" valid_lar_row = OrderedDict() valid_lar_row["record_id"] = str(self.LAR_df.valid_vals[self.LAR_df.field=="record_id"].iloc[0][0]) valid_lar_row["lei"] = lei valid_lar_row["uli"] = valid_lar_row['lei'] + utils.char_string_gen(23) valid_lar_row["uli"] = valid_lar_row["uli"] + utils.check_digit_gen(ULI=valid_lar_row["uli"]) valid_lar_row["uli"] = random.choice([valid_lar_row["uli"], utils.char_string_gen(22)]) valid_lar_row["app_date"] = str(self.date_gen()) valid_lar_row["loan_type"] = str(self.random_enum(self.get_schema_list(field="loan_type"))) valid_lar_row["loan_purpose"] = str(self.random_enum(self.get_schema_list(field="loan_purpose"))) valid_lar_row["preapproval"] = str(self.random_enum(self.get_schema_list(field="preapproval"))) valid_lar_row["const_method"] = str(self.random_enum(self.get_schema_list(field="const_method"))) valid_lar_row["occ_type"] = str(self.random_enum(self.get_schema_list(field="occ_type"))) valid_lar_row["loan_amount"] = str(self.random_enum(range(1,self.max_amount))) valid_lar_row["action_taken"] = str(self.random_enum(self.get_schema_list(field='action_taken'))) valid_lar_row["action_date"] = str(self.date_gen()) valid_lar_row["street_address"] = random.choice([self.street_addy, self.street_addy, "Exempt"]) valid_lar_row["city"] = self.city valid_lar_row["state"] = random.choice(list(utils.state_codes.keys())) valid_lar_row["zip_code"] = random.choice(self.zip_codes) valid_lar_row["county"] = self.random_enum(self.county_list) valid_lar_row["tract"] = self.tract_from_county(valid_lar_row["county"]) valid_lar_row["app_eth_1"] = str(self.random_enum(self.get_schema_list(field="app_eth_1", empty=True))) valid_lar_row["app_eth_2"] = str(self.random_enum(self.get_schema_list(field="app_eth_2", empty=True))) valid_lar_row["app_eth_3"] = str(self.random_enum(self.get_schema_list(field="app_eth_3", empty=True))) valid_lar_row["app_eth_4"] = str(self.random_enum(self.get_schema_list(field="app_eth_4", empty=True))) valid_lar_row["app_eth_5"] = str(self.random_enum(self.get_schema_list(field="app_eth_5", empty=True))) valid_lar_row["app_eth_free"] = utils.char_string_gen(random.choice(range(100))) valid_lar_row["co_app_eth_1"] = str(self.random_enum(self.get_schema_list(field="co_app_eth_1", empty=True))) valid_lar_row["co_app_eth_2"] = str(self.random_enum(self.get_schema_list(field="co_app_eth_2", empty=True))) valid_lar_row["co_app_eth_3"] = str(self.random_enum(self.get_schema_list(field="co_app_eth_3", empty=True))) valid_lar_row["co_app_eth_4"] = str(self.random_enum(self.get_schema_list(field="co_app_eth_4", empty=True))) valid_lar_row["co_app_eth_5"] = str(self.random_enum(self.get_schema_list(field="co_app_eth_5", empty=True))) valid_lar_row["co_app_eth_free"] = utils.char_string_gen(random.choice(range(100))) valid_lar_row["app_eth_basis"] = str(self.random_enum(self.get_schema_list(field="app_eth_basis"))) valid_lar_row["co_app_eth_basis"] = str(self.random_enum(self.get_schema_list(field="co_app_eth_basis"))) valid_lar_row["app_race_1"] = str(self.random_enum(self.get_schema_list(field="app_race_1", empty=True))) valid_lar_row["app_race_2"] = str(self.random_enum(self.get_schema_list(field="app_race_2", empty=True))) valid_lar_row["app_race_3"] = str(self.random_enum(self.get_schema_list(field="app_race_3", empty=True))) valid_lar_row["app_race_4"] = str(self.random_enum(self.get_schema_list(field="app_race_4", empty=True))) valid_lar_row["app_race_5"] = str(self.random_enum(self.get_schema_list(field="app_race_5", empty=True))) valid_lar_row["app_race_native_text"] = utils.char_string_gen(random.choice(range(100))) valid_lar_row["app_race_asian_text"] = utils.char_string_gen(random.choice(range(100))) valid_lar_row["app_race_islander_text"] = utils.char_string_gen(random.choice(range(100))) valid_lar_row["co_app_race_1"] = str(self.random_enum(self.get_schema_list(field="co_app_race_1", empty=True))) valid_lar_row["co_app_race_2"] = str(self.random_enum(self.get_schema_list(field="co_app_race_2", empty=True))) valid_lar_row["co_app_race_3"] = str(self.random_enum(self.get_schema_list(field="co_app_race_3", empty=True))) valid_lar_row["co_app_race_4"] = str(self.random_enum(self.get_schema_list(field="co_app_race_4", empty=True))) valid_lar_row["co_app_race_5"] = str(self.random_enum(self.get_schema_list(field="co_app_race_5", empty=True))) valid_lar_row["co_app_race_native_text"] = utils.char_string_gen(random.choice(range(100))) valid_lar_row["co_app_race_asian_text"] = utils.char_string_gen(random.choice(range(100))) valid_lar_row["co_app_race_islander_text"] = utils.char_string_gen(random.choice(range(100))) valid_lar_row["app_race_basis"] = str(self.random_enum(self.get_schema_list(field="app_race_basis"))) valid_lar_row["co_app_race_basis"] = str(self.random_enum(self.get_schema_list(field="co_app_race_basis"))) valid_lar_row["app_sex"] = str(self.random_enum(self.get_schema_list(field="app_sex"))) valid_lar_row["co_app_sex"] = str(self.random_enum(self.get_schema_list(field="co_app_sex"))) valid_lar_row["app_sex_basis"] = str(self.random_enum(self.get_schema_list(field="app_sex_basis"))) valid_lar_row["co_app_sex_basis"] = str(self.random_enum(self.get_schema_list(field="co_app_sex_basis"))) valid_lar_row["app_age"] = str(self.random_enum(self.range_and_enum(field="app_age", rng_max=self.max_age))) valid_lar_row["co_app_age"] = str(self.random_enum(self.range_and_enum(field="co_app_age", rng_max=self.max_age))) valid_lar_row["income"] = str(self.random_enum(range(1, self.max_income))) valid_lar_row["purchaser_type"] = str(self.random_enum(self.get_schema_list(field="purchaser_type"))) valid_lar_row["rate_spread"]= str(self.random_enum(self.range_and_enum(field="rate_spread", rng_max=self.max_rs, dtype="float"))) valid_lar_row["hoepa"] = str(self.random_enum(self.get_schema_list(field="hoepa"))) valid_lar_row["lien"] = str(self.random_enum(self.get_schema_list(field="lien"))) valid_lar_row["app_credit_score"] = str(self.random_enum(self.range_and_enum(field="app_credit_score", rng_min=self.min_credit_score,rng_max=self.max_credit_score))) valid_lar_row["co_app_credit_score"] = str(self.random_enum(self.range_and_enum(field="co_app_credit_score", rng_min=self.min_credit_score, rng_max=self.max_credit_score))) valid_lar_row["app_score_name"] = str(self.random_enum(self.get_schema_list(field="app_score_name"))) valid_lar_row["app_score_code_8"] = str(utils.char_string_gen(random.choice(range(100)))) valid_lar_row["co_app_score_name"] = str(self.random_enum(self.get_schema_list(field="co_app_score_name"))) valid_lar_row["co_app_score_code_8"] = utils.char_string_gen(random.choice(range(100))) valid_lar_row["denial_1"] = str(self.random_enum(self.get_schema_list(field="denial_1"))) valid_lar_row["denial_2"] = str(self.random_enum(self.get_schema_list(field="denial_2", empty=True))) valid_lar_row["denial_3"] = str(self.random_enum(self.get_schema_list(field="denial_3", empty=True))) valid_lar_row["denial_4"] = str(self.random_enum(self.get_schema_list(field="denial_4", empty=True))) valid_lar_row["denial_code_9"] = utils.char_string_gen(random.choice(range(255))) valid_lar_row["loan_costs"] = str(self.random_enum(self.range_and_enum(field="loan_costs",rng_max=self.loan_costs))) valid_lar_row["points_fees"] = str(self.random_enum(self.range_and_enum(field="points_fees", rng_max=self.points_and_fees))) valid_lar_row["origination_fee"] = str(self.random_enum(self.range_and_enum(field="origination_fee", rng_max=self.orig_charges))) valid_lar_row["discount_points"] = str(self.random_enum(self.range_and_enum(field="discount_points", rng_max=self.discount_points, empty=True))) valid_lar_row["lender_credits"] = str(self.random_enum(self.range_and_enum(field="lender_credits", rng_max=self.lender_credits, empty=True))) valid_lar_row["interest_rate"] = str(self.random_enum(self.range_and_enum(field="interest_rate", rng_max=25, dtype="float"))) valid_lar_row["prepayment_penalty"] = str(self.random_enum(self.range_and_enum(field="prepayment_penalty", rng_max=self.penalty_max))) valid_lar_row["dti"] = str(self.random_enum(self.range_and_enum(field="dti", rng_max=self.dti))) valid_lar_row["cltv"] = str(self.random_enum(self.range_and_enum(field="cltv", rng_max=self.cltv))) valid_lar_row["loan_term"] = str(self.random_enum(self.range_and_enum(field="loan_term", rng_max=self.loan_term))) valid_lar_row["intro_rate"] = str(self.random_enum(self.range_and_enum(field="intro_rate", rng_max=self.intro_rate))) valid_lar_row["balloon"] = str(self.random_enum(self.get_schema_list(field="balloon"))) valid_lar_row["int_only_pmts"] = str(self.random_enum(self.get_schema_list(field="int_only_pmts"))) valid_lar_row["neg_amort"] = str(self.random_enum(self.get_schema_list(field="neg_amort"))) valid_lar_row["non_amort_features"] = str(self.random_enum(self.get_schema_list(field="non_amort_features"))) valid_lar_row["property_value"] = str(self.random_enum(self.range_and_enum(field="property_value", rng_min=self.prop_val_min, rng_max=self.prop_val_max))) valid_lar_row["manufactured_type"] = str(self.random_enum(self.get_schema_list(field="manufactured_type"))) valid_lar_row["manufactured_interest"] = str(self.random_enum(self.get_schema_list(field="manufactured_interest"))) valid_lar_row["total_units"] = str(self.random_enum(self.range_and_enum(field="total_units", rng_min=1, rng_max=self.max_units))) valid_lar_row["affordable_units"] = str(self.random_enum(self.range_and_enum(field="affordable_units", rng_min=0, rng_max=int(valid_lar_row["total_units"])))) valid_lar_row["app_submission"] = str(self.random_enum(self.get_schema_list(field="app_submission"))) valid_lar_row["initially_payable"] = str(self.random_enum(self.get_schema_list(field="initially_payable"))) valid_lar_row["mlo_id"] = utils.char_string_gen(random.choice(range(25))) valid_lar_row["aus_1"] = str(self.random_enum(self.get_schema_list(field="aus_1"))) valid_lar_row["aus_2"] = str(self.random_enum(self.get_schema_list(field="aus_2", empty=True))) valid_lar_row["aus_3"] = str(self.random_enum(self.get_schema_list(field="aus_3", empty=True))) valid_lar_row["aus_4"] = str(self.random_enum(self.get_schema_list(field="aus_4", empty=True))) valid_lar_row["aus_5"] = str(self.random_enum(self.get_schema_list(field="aus_5", empty=True))) valid_lar_row["aus_code_5"] = utils.char_string_gen(random.choice(range(255))) valid_lar_row["aus_result_1"] = str(self.random_enum(self.get_schema_list(field="aus_result_1"))) valid_lar_row["aus_result_2"] = str(self.random_enum(self.get_schema_list(field="aus_result_2", empty=True))) valid_lar_row["aus_result_3"] = str(self.random_enum(self.get_schema_list(field="aus_result_3", empty=True))) valid_lar_row["aus_result_4"] = str(self.random_enum(self.get_schema_list(field="aus_result_4", empty=True))) valid_lar_row["aus_result_5"] = str(self.random_enum(self.get_schema_list(field="aus_result_5", empty=True))) valid_lar_row["aus_code_16"] = utils.char_string_gen(random.choice(range(255))) valid_lar_row["reverse_mortgage"] = str(self.random_enum(self.get_schema_list(field="reverse_mortgage"))) valid_lar_row["open_end_credit"] = str(self.random_enum(self.get_schema_list(field="open_end_credit"))) valid_lar_row["business_purpose"] = str(self.random_enum(self.get_schema_list(field="business_purpose"))) return valid_lar_row