From 5003ed04de7aa1a02be21d2d346736a771e1dca2 Mon Sep 17 00:00:00 2001 From: Liam Steckler Date: Sat, 20 Apr 2024 16:56:10 -0700 Subject: [PATCH] Add neighborhood hashtag (#26) Initial implementation for #22 Reviewed-on: https://scm.gruezi.net/buckbanzai/seattlecitylight-mastodon-bot/pulls/26 --- scl.py | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/scl.py b/scl.py index f2c31a3..d69be4a 100644 --- a/scl.py +++ b/scl.py @@ -99,8 +99,22 @@ def classify_event_size(num_people: int) -> dict[str, str | bool]: def get_hashtag_string(event) -> str: - hashtag_string = "#SeattleCityLightOutage #SCLOutage #SCLOutage{}".format( - event["identifier"] + city = str() + try: + city = event["geoloc_city"] + except KeyError: + city = event["city"] + + neighborhood_text = str() + try: + neighborhood = event["neighborhood"] + if neighborhood != city: + neighborhood_text = " #{}".format(neighborhood.title().replace(" ", "")) + except KeyError: + pass + + hashtag_string = "#SeattleCityLightOutage #SCLOutage{} #{}".format( + neighborhood_text, city.title().replace(" ", "") ) return hashtag_string @@ -191,22 +205,27 @@ def do_initial_post( city_not_seattle_text, ) area_text = "the {} area{}".format(locality, city_not_seattle_text) + event["neighborhood"] = locality elif "district" in geocode["features"][0]["properties"]["geocoding"]: + district = geocode["features"][0]["properties"]["geocoding"]["district"] alt_text = "A map showing the location of the outage, centered around {} in the {} area{}.".format( street, - geocode["features"][0]["properties"]["geocoding"]["district"], + district, city_not_seattle_text, ) area_text = "the {} area{}".format( - geocode["features"][0]["properties"]["geocoding"]["district"], + district, city_not_seattle_text, ) + event["neighborhood"] = district else: + city = geocode["features"][0]["properties"]["geocoding"]["city"] alt_text = "A map showing the location of the outage, centered around {} in {}.".format( street, - geocode["features"][0]["properties"]["geocoding"]["city"], + city, ) - area_text = geocode["features"][0]["properties"]["geocoding"]["city"] + area_text = city + event["geoloc_city"] = city except Exception: alt_text = "A map showing the location of the outage."