Skip to content

Commit 9ca2617

Browse files
Merge pull request #7061 from hotosm/fix/mapswipe-stats
Refactored partners stats to be non blocking operation, handle csrf auth and update the graphql query as per mapswipe update
2 parents c102666 + 71641e0 commit 9ca2617

File tree

4 files changed

+277
-159
lines changed

4 files changed

+277
-159
lines changed

backend/api/partners/statistics.py

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -109,11 +109,15 @@ async def get_filtered_statistics(
109109
sub_code=MAPSWIPE_GROUP_EMPTY_SUBCODE,
110110
message=MAPSWIPE_GROUP_EMPTY_MESSAGE,
111111
)
112-
113112
mapswipe = MapswipeService()
114-
return mapswipe.fetch_filtered_partner_stats(
115-
partner.id, partner.mapswipe_group_id, from_date, to_date
116-
)
113+
try:
114+
result = await mapswipe.fetch_filtered_partner_stats(
115+
partner.id, partner.mapswipe_group_id, from_date, to_date
116+
)
117+
finally:
118+
await mapswipe.aclose()
119+
120+
return result
117121

118122

119123
@router.get("/{permalink:str}/general-statistics/")
@@ -176,13 +180,16 @@ async def get_general_statistics(
176180
)
177181

178182
mapswipe = MapswipeService()
179-
group_dto = mapswipe.fetch_grouped_partner_stats(
180-
partner.id,
181-
partner.mapswipe_group_id,
182-
limit,
183-
offset,
184-
download_as_csv,
185-
)
183+
try:
184+
group_dto = await mapswipe.fetch_grouped_partner_stats(
185+
partner.id,
186+
partner.mapswipe_group_id,
187+
limit,
188+
offset,
189+
download_as_csv,
190+
)
191+
finally:
192+
await mapswipe.aclose()
186193

187194
if download_as_csv:
188195
csv_content = group_dto.to_csv()

backend/config.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,11 @@ def assemble_db_connection(
269269
# Sentry backend DSN
270270
SENTRY_BACKEND_DSN: Optional[str] = os.getenv("TM_SENTRY_BACKEND_DSN", None)
271271

272+
# Mapswipe backend url
273+
MAPSWIPE_API_URL: str = os.getenv(
274+
"MAPSWIPE_API_URL", "https://backend.mapswipe.org/graphql/"
275+
)
276+
272277
# Ohsome Stats Token
273278
OHSOME_STATS_TOKEN: str = os.getenv("OHSOME_STATS_TOKEN", None)
274279
OHSOME_STATS_API_URL: str = os.getenv(

0 commit comments

Comments
 (0)