def get_blog_posts()

in check-blogs/main.py [0:0]


def get_blog_posts(rss_url):
    page = requests.get(rss_url)
    soup = BeautifulSoup(page.content, "xml")
    blog_map = {}
    blogs = soup.find_all("item")
    category = soup.find("title").contents[0]
    for blog in blogs:
        try:
            guid = blog.find("guid").contents[0]
            title = blog.find("title").contents[0]
            link = blog.find("link").contents[0]
            description = blog.find("description").contents[0]
            pub_date = blog.find("pubDate").contents[0]
            pub_date = (
                datetime.strptime(pub_date, "%a, %d %b %Y %H:%M:%S +0000")
                .astimezone(timezone("US/Eastern"))
                .replace(second=0, minute=0, hour=0, microsecond=0)
                .date()
            )
            today_date = (
                datetime.now()
                .astimezone(timezone("US/Eastern"))
                .replace(second=0, minute=0, hour=0, microsecond=0)
                .date()
            )
            is_updated_today = pub_date == today_date
            if is_updated_today:
                blog_map[guid] = {
                    "category_name": category,
                    "title": title,
                    "link": link,
                    "date": pub_date.strftime("%B %d, %Y"),
                }
        except AttributeError as e:
            continue
    return blog_map