def METHOD_NAME():
    # get announcements that haven't been dismissed yet
    announcements = [parse_announcement_dict(x) for x in get_online_announcements() + get_local_announcements() if
                     x['enabled'] and (not x['dismissible'] or not TableAnnouncements.select()
                                       .where(TableAnnouncements.hash ==
                                              hashlib.sha256(x['text'].encode('UTF8')).hexdigest()).get_or_none())]
    return sorted(announcements, key=itemgetter('timestamp'), reverse=True)