diff --git a/ais/api/serializers.py b/ais/api/serializers.py index e337fcc6..bd4dbe5f 100644 --- a/ais/api/serializers.py +++ b/ais/api/serializers.py @@ -385,6 +385,7 @@ def model_to_data(self, address): ('match_type', match_type if match_type else None), ('properties', OrderedDict([ ('street_address', address.street_address), + ('base_address', address.base_address), ('address_low', address.address_low), ('address_low_suffix', address.address_low_suffix), ('address_low_frac', address.address_low_frac), diff --git a/ais/engine/scripts/load_dor_condos.py b/ais/engine/scripts/load_dor_condos.py index 7ee1736a..cb27f5e2 100644 --- a/ais/engine/scripts/load_dor_condos.py +++ b/ais/engine/scripts/load_dor_condos.py @@ -42,7 +42,9 @@ def main(): # Read DOR Parcel rows from engine db print("Reading parcels...") dor_parcel_read_stmt = ''' - select parcel_id, street_address, address_low, address_low_suffix, address_low_frac, address_high, street_predir, + select parcel_id, street_address, + base_address, + address_low, address_low_suffix, address_low_frac, address_high, street_predir, street_name, street_suffix, street_postdir, street_full from {dor_parcel_table} '''.format(dor_parcel_table='dor_parcel') engine_dor_parcel_rows = etl.fromdb(pg_db, dor_parcel_read_stmt) diff --git a/ais/engine/scripts/load_ng911_address_points.py b/ais/engine/scripts/load_ng911_address_points.py index c9a33b99..a77d3f86 100644 --- a/ais/engine/scripts/load_ng911_address_points.py +++ b/ais/engine/scripts/load_ng911_address_points.py @@ -89,6 +89,7 @@ def main(): 'unit_num': comps['address_unit']['unit_num'] or '', 'unit_type': comps['address_unit']['unit_type'] or '', 'street_address': street_address, + 'base_address': comps['base_address'], } address_points.append(address_point) diff --git a/ais/engine/scripts/load_opa_properties.py b/ais/engine/scripts/load_opa_properties.py index 54b54d03..aa64c885 100644 --- a/ais/engine/scripts/load_opa_properties.py +++ b/ais/engine/scripts/load_opa_properties.py @@ -99,6 +99,7 @@ def main(): 'unit_num': comps['address_unit']['unit_num'] or '', 'unit_type': comps['address_unit']['unit_type'] or '', 'street_address': street_address, + 'base_address': comps['base_address'] } props.append(prop) diff --git a/ais/models.py b/ais/models.py index 324e075c..a563ce51 100644 --- a/ais/models.py +++ b/ais/models.py @@ -126,6 +126,7 @@ class PwdParcel(db.Model): id = db.Column(db.Integer, primary_key=True) parcel_id = db.Column(db.Integer, index=True) street_address = db.Column(db.Text) + base_address = db.Column(db.Text) address_low = db.Column(db.Integer) address_low_suffix = db.Column(db.Text) address_low_frac = db.Column(db.Text) @@ -143,6 +144,7 @@ class DorParcel(db.Model): id = db.Column(db.Integer, primary_key=True) parcel_id = db.Column(db.Text, index=True) street_address = db.Column(db.Text) + base_address = db.Column(db.Text) address_low = db.Column(db.Integer) address_low_suffix = db.Column(db.Text) address_low_frac = db.Column(db.Text) @@ -167,6 +169,7 @@ class DorCondominium(db.Model): id = db.Column(db.Integer, primary_key=True) parcel_id = db.Column(db.Text, index=True) street_address = db.Column(db.Text) + base_address = db.Column(db.Text) address_low = db.Column(db.Integer) address_low_suffix = db.Column(db.Text) address_low_frac = db.Column(db.Text) @@ -188,6 +191,7 @@ class OpaProperty(db.Model): id = db.Column(db.Integer, primary_key=True) account_num = db.Column(db.Text, index=True) street_address = db.Column(db.Text) + base_address = db.Column(db.Text) address_low = db.Column(db.Integer) address_low_suffix = db.Column(db.Text) address_low_frac = db.Column(db.Text) @@ -211,6 +215,7 @@ class OpaProperty(db.Model): class NG911AddressPoint(db.Model): id = db.Column(db.Integer, primary_key=True) street_address = db.Column(db.Text) + base_address = db.Column(db.Text) address_low = db.Column(db.Integer) address_low_suffix = db.Column(db.Text) address_low_frac = db.Column(db.Text) @@ -233,6 +238,7 @@ class NG911AddressPoint(db.Model): ############# ADDRESS_FIELDS = [ + 'base_address', 'address_low', 'address_low_suffix', 'address_low_frac', @@ -278,6 +284,7 @@ class Address(db.Model): id = db.Column(db.Integer, primary_key=True) street_address = db.Column(db.Text) + base_address = db.Column(db.Text) address_low = db.Column(db.Integer) address_low_suffix = db.Column(db.Text) address_low_frac = db.Column(db.Text) @@ -354,6 +361,7 @@ def __init__(self, *args, **kwargs): raise ValueError('Invalid range address') kwargs = { + 'base_address': c['base_address'], 'address_low': c['address']['low_num'], 'address_low_suffix': c['address']['addr_suffix'], # passyunk change 'address_low_frac': c['address']['fractional'], # passyunk change @@ -460,10 +468,6 @@ def address_full_num(self): num += '-' + str(address_high)[-2:] return num - @property - def base_address(self): - return ' '.join([self.address_full, self.street_full]) - @property def base_address_no_suffix(self): return '{} {}'.format(self.address_full_num, self.street_full) @@ -1196,6 +1200,7 @@ class AddressSummary(db.Model): id = db.Column(db.Integer, primary_key=True) street_address = db.Column(db.Text, unique=True) + base_address = db.Column(db.Text) address_low = db.Column(db.Integer) address_low_suffix = db.Column(db.Text) address_low_frac = db.Column(db.Text)