def rss(): items = [] last_update_date = datetime(1970, 1, 1, 0, 0, 0, tzinfo=timezone("UTC")) now = datetime.now(tz=timezone("UTC")) for art_id, art_meta in art_list.items(): date = art_meta["published_time"] if date > last_update_date: last_update_date = date meta = {"title": art_meta["title"], "url": url_for("art_by_id", art_id=art_id), "date": date} if (now - date).days <= 30: # pragma: no cover items.append(meta) for blog_id, blog_meta in blog_list.items(): date = blog_meta["published_time"] if date > last_update_date: last_update_date = date meta = {"title": blog_meta["title"], "url": url_for("blog_by_id", blog_id=blog_id), "date": date} if (now - date).days <= 30: # pragma: no cover items.append(meta) items = sorted(items, key=lambda item: item["date"], reverse=True) for item in items: item["date"] = item["date"].strftime("%a, %d %b %Y %H:%M:%S %z") resp = Response( render_template("rss.xml", items=items, last_update_date=last_update_date.strftime("%a, %d %b %Y %H:%M:%S %z")), mimetype="application/rss+xml", ) return resp
def art(): art_tuples = sorted(art_list.items(), key=lambda item: (item[1]["created_date"], item[1]["title"]), reverse=True) return render_template("art.html", title="Art", description="Sometimes I make art", art_tuples=art_tuples)
def home(): l = list(map(lambda x: x[0], filter(lambda x: x[1].get("starred"), art_list.items()))) return art_by_id(random.choice(l))