Skip to content

astrowonk/mastodon_hurricane_bot

Repository files navigation

Tropical Weather (Atlantic) Updates to Mastodon

This Mastodon bot is posting during hurricane system hosted on vmst.io.

This grabs the NHC Atlantic RSS Feed, specifically "Atlantic Basin Tropical Cyclones" from https://www.nhc.noaa.gov/index-at.xml and generates automated posts to a Mastodon bot with this data.

There are a few functions in the nhc_bot.py script that parse the feed into storm-specific lists of 6-7 items per storm, using lxml.

The Stormy class then takes a list of dictionaries for one storm, and generates text, links, and images for a Mastodon post.

Some somewhat messy condition logic is needed to figure out if an update has occured and if a new post should be made. The main script first checks the etag of the rss feed itself, from the http headers. If the etag has changed, the feed is parsed into storm lists and each Stormy instance for each storm is checked against the last posted information for that storm (written to JSON), to see if the summary text changed.

Finally, before posting, a hash of the image bytes is also checked against the hash of the last posted track image, since sometimes the image data lags behind the RSS feed, and I don't want to post a 2PM image with the 5PM update.

The main script runs as a cron job on a Digital Ocean droplet.

About

Python script that posts Hurricane updates from the NHC Atlantic RSS Feed

Topics

Resources

License

Stars

Watchers

Forks

Languages