File tree Expand file tree Collapse file tree 2 files changed +16
-4
lines changed
functions-python/reverse_geolocation/src Expand file tree Collapse file tree 2 files changed +16
-4
lines changed Original file line number Diff line number Diff line change @@ -57,6 +57,7 @@ def configure_polymorphic_mappers():
5757 Gbfsversion : [Gbfsversion .gbfsendpoints , Gbfsversion .gbfsvalidationreports ],
5858 Gbfsfeed : [Gbfsfeed .gbfsversions ],
5959 Gbfsvalidationreport : [Gbfsvalidationreport .gbfsnotices ],
60+ Feed : [Feed .feedosmlocationgroups ],
6061}
6162
6263
Original file line number Diff line number Diff line change @@ -98,7 +98,7 @@ def get_cached_geopolygons(
9898 list (geometries_to_delete )
9999 ),
100100 ).delete (synchronize_session = False )
101- db_session .commit ()
101+ db_session .flush ()
102102
103103 matched_geometries = matched_stops_df ["geometry" ].tolist ()
104104 if not matched_geometries :
@@ -175,10 +175,21 @@ def extract_location_aggregate(
175175 group_name = ", " .join ([g .name for g in geopolygons ]),
176176 osms = geopolygons ,
177177 )
178- stop = Feedlocationgrouppoint (feed_id = feed_id , geometry = stop_point )
178+ stop = (
179+ db_session .query (Feedlocationgrouppoint )
180+ .filter (
181+ Feedlocationgrouppoint .feed_id == feed_id ,
182+ Feedlocationgrouppoint .geometry == stop_point ,
183+ )
184+ .one_or_none ()
185+ )
186+ if not stop :
187+ stop = Feedlocationgrouppoint (
188+ feed_id = feed_id ,
189+ geometry = stop_point ,
190+ )
191+ db_session .add (stop )
179192 stop .group = group
180- db_session .add (stop )
181- db_session .flush ()
182193 logging .info (
183194 f"Point { stop_point } matched to { ', ' .join ([g .name for g in geopolygons ])} "
184195 )
You can’t perform that action at this time.
0 commit comments