Skip to content
This repository was archived by the owner on Jan 18, 2023. It is now read-only.

Commit 8a6345a

Browse files
committed
Modify FSID types to string to fix 32 bit integer overflow
1 parent 295d259 commit 8a6345a

File tree

14 files changed

+257
-257
lines changed

14 files changed

+257
-257
lines changed

firststreet/api/csv_format.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ def format_adaptation_detail(data):
183183
A pandas formatted DataFrame
184184
"""
185185
df = pd.json_normalize([vars(o) for o in data]).explode('type').explode('scenario').reset_index(drop=True)
186-
df['adaptationId'] = df['adaptationId'].astype('Int64').apply(str)
186+
df['adaptationId'] = df['adaptationId'].apply(str)
187187
df['returnPeriod'] = df['returnPeriod'].astype('Int64').apply(str)
188188
df['geometry'] = df['geometry'].apply(get_geom_center)
189189
df = pd.concat([df.drop(['geometry'], axis=1), df['geometry'].apply(pd.Series)], axis=1)
@@ -532,7 +532,7 @@ def format_historic_event(data):
532532
df['propertiesTotal'] = pd.NA
533533
df['propertiesAffected'] = pd.NA
534534

535-
df['eventId'] = df['eventId'].astype('Int64').apply(str)
535+
df['eventId'] = df['eventId'].apply(str)
536536
df['month'] = df['month'].astype('Int64').apply(str)
537537
df['year'] = df['year'].astype('Int64').apply(str)
538538
df['returnPeriod'] = df['returnPeriod'].astype('Int64').apply(str)
@@ -564,7 +564,7 @@ def format_historic_summary_property(data):
564564
df['depth'] = pd.NA
565565

566566
df['fsid'] = df['fsid'].apply(str)
567-
df['eventId'] = df['eventId'].astype('Int64').apply(str)
567+
df['eventId'] = df['eventId'].apply(str)
568568
df['depth'] = df['depth'].astype('Int64').apply(str)
569569

570570
return df[['fsid', 'valid_id', 'eventId', 'name', 'type', 'depth']]
@@ -593,7 +593,7 @@ def format_historic_summary(data):
593593
df['count'] = pd.NA
594594

595595
df['fsid'] = df['fsid'].apply(str)
596-
df['eventId'] = df['eventId'].astype('Int64').apply(str)
596+
df['eventId'] = df['eventId'].apply(str)
597597
df['type'] = df['type'].apply(str)
598598
df['bin'] = df['bin'].astype('Int64').apply(str)
599599
df['count'] = df['count'].astype('Int64').apply(str)

firststreet/models/adaptation.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class AdaptationDetail(Api):
1515

1616
def __init__(self, response):
1717
super().__init__(response)
18-
self.adaptationId = response.get('adaptationId')
18+
self.adaptationId = str(response.get('adaptationId'))
1919
self.name = response.get('name')
2020
self.type = response.get('type')
2121
self.scenario = response.get('scenario')
@@ -34,6 +34,6 @@ class AdaptationSummary(Api):
3434

3535
def __init__(self, response):
3636
super().__init__(response)
37-
self.fsid = response.get('fsid')
37+
self.fsid = str(response.get('fsid'))
3838
self.adaptation = response.get('adaptation')
3939
self.properties = response.get('properties')

firststreet/models/environmental.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ class EnvironmentalPrecipitation(Api):
1414

1515
def __init__(self, response):
1616
super().__init__(response)
17-
self.fsid = response.get("fsid")
17+
self.fsid = str(response.get("fsid"))
1818
self.projected = response.get("projected")

firststreet/models/fema.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class FemaNfip(Api):
1414

1515
def __init__(self, response):
1616
super().__init__(response)
17-
self.fsid = response.get('fsid')
17+
self.fsid = str(response.get('fsid'))
1818
self.claimCount = response.get('claimCount')
1919
self.policyCount = response.get('policyCount')
2020
self.buildingPaid = response.get('buildingPaid')

firststreet/models/historic.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class HistoricEvent(Api):
1515

1616
def __init__(self, response):
1717
super().__init__(response)
18-
self.eventId = response.get('eventId')
18+
self.eventId = str(response.get('eventId'))
1919
self.name = response.get('name')
2020
self.month = response.get('month')
2121
self.year = response.get('year')
@@ -34,5 +34,5 @@ class HistoricSummary(Api):
3434

3535
def __init__(self, response):
3636
super().__init__(response)
37-
self.fsid = response.get('fsid')
37+
self.fsid = str(response.get('fsid'))
3838
self.historic = response.get('historic')

firststreet/models/location.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class LocationDetailProperty(LocationDetail):
2727

2828
def __init__(self, response):
2929
super().__init__(response)
30-
self.fsid = response.get('fsid')
30+
self.fsid = str(response.get('fsid'))
3131
self.streetNumber = response.get('streetNumber')
3232
self.route = response.get('route')
3333
self.city = response.get('city')
@@ -56,7 +56,7 @@ class LocationDetailNeighborhood(LocationDetail):
5656

5757
def __init__(self, response):
5858
super().__init__(response)
59-
self.fsid = response.get('fsid')
59+
self.fsid = str(response.get('fsid'))
6060
self.city = response.get('city')
6161
self.subtype = response.get('subtype')
6262
self.county = response.get('county')
@@ -77,7 +77,7 @@ class LocationDetailCity(LocationDetail):
7777

7878
def __init__(self, response):
7979
super().__init__(response)
80-
self.fsid = response.get('fsid')
80+
self.fsid = str(response.get('fsid'))
8181
self.lsad = response.get('lsad')
8282
self.zcta = response.get('zcta')
8383
self.neighborhood = response.get('neighborhood')
@@ -96,7 +96,7 @@ class LocationDetailZcta(LocationDetail):
9696

9797
def __init__(self, response):
9898
super().__init__(response)
99-
self.fsid = response.get('fsid')
99+
self.fsid = str(response.get('fsid'))
100100
self.city = response.get('city')
101101
self.county = response.get('county')
102102
self.state = response.get('state')
@@ -113,7 +113,7 @@ class LocationDetailTract(LocationDetail):
113113

114114
def __init__(self, response):
115115
super().__init__(response)
116-
self.fsid = response.get('fsid')
116+
self.fsid = str(response.get('fsid'))
117117
self.fips = response.get('fips')
118118
self.county = response.get('county')
119119
self.state = response.get('state')
@@ -129,7 +129,7 @@ class LocationDetailCounty(LocationDetail):
129129

130130
def __init__(self, response):
131131
super().__init__(response)
132-
self.fsid = response.get('fsid')
132+
self.fsid = str(response.get('fsid'))
133133
self.name = response.get('name')
134134
self.city = response.get('city')
135135
self.zcta = response.get('zcta')
@@ -153,7 +153,7 @@ class LocationDetailCd(LocationDetail):
153153

154154
def __init__(self, response):
155155
super().__init__(response)
156-
self.fsid = response.get('fsid')
156+
self.fsid = str(response.get('fsid'))
157157
self.county = response.get('county')
158158
self.congress = response.get('congress')
159159
self.state = response.get('state')
@@ -170,7 +170,7 @@ class LocationDetailState(LocationDetail):
170170

171171
def __init__(self, response):
172172
super().__init__(response)
173-
self.fsid = response.get('fsid')
173+
self.fsid = str(response.get('fsid'))
174174
self.fips = response.get('fips')
175175
self.geometry = Geometry(response.get('geometry'))
176176
self.name = response.get('name')
@@ -185,7 +185,7 @@ class LocationSummary(Api):
185185

186186
def __init__(self, response):
187187
super().__init__(response)
188-
self.fsid = response.get('fsid')
188+
self.fsid = str(response.get('fsid'))
189189
self.riskDirection = response.get('riskDirection')
190190
self.environmentalRisk = response.get('environmentalRisk')
191191
self.historic = response.get('historic')

firststreet/models/probability.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class ProbabilityChance(Api):
1414

1515
def __init__(self, response):
1616
super().__init__(response)
17-
self.fsid = response.get('fsid')
17+
self.fsid = str(response.get('fsid'))
1818
self.chance = response.get('chance')
1919

2020

@@ -27,7 +27,7 @@ class ProbabilityCount(Api):
2727

2828
def __init__(self, response):
2929
super().__init__(response)
30-
self.fsid = response.get('fsid')
30+
self.fsid = str(response.get('fsid'))
3131
self.count = response.get('count')
3232

3333

@@ -40,7 +40,7 @@ class ProbabilityCountSummary(Api):
4040

4141
def __init__(self, response):
4242
super().__init__(response)
43-
self.fsid = response.get('fsid')
43+
self.fsid = str(response.get('fsid'))
4444
self.state = response.get('state')
4545
if self.state and any(isinstance(el, list) for el in self.state):
4646
self.state = [item for sublist in self.state for item in sublist]
@@ -73,7 +73,7 @@ class ProbabilityCumulative(Api):
7373

7474
def __init__(self, response):
7575
super().__init__(response)
76-
self.fsid = response.get('fsid')
76+
self.fsid = str(response.get('fsid'))
7777
self.cumulative = response.get('cumulative')
7878

7979

@@ -86,5 +86,5 @@ class ProbabilityDepth(Api):
8686

8787
def __init__(self, response):
8888
super().__init__(response)
89-
self.fsid = response.get('fsid')
89+
self.fsid = str(response.get('fsid'))
9090
self.depth = response.get('depth')

firststreet/models/tile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,4 @@ class HistoricEventTile(Tile):
4040

4141
def __init__(self, response, event_id):
4242
super().__init__(response)
43-
self.event_id = event_id
43+
self.event_id = str(event_id)

0 commit comments

Comments
 (0)