afpy.org/afpy/routes/rss.py

33 lines
819 B
Python

from flask import abort
from flask import Blueprint
from flask import render_template
from flask import url_for
from flask import redirect
from afpy.models.NewsEntry import NewsEntry
rss_bp = Blueprint("rss", __name__)
@rss_bp.route("/feed/<type>/rss.xml")
def feed_rss(type):
name = ""
entries = []
if type == "emplois":
return redirect("https://discuss.afpy.org/c/emplois/14.rss")
elif type == "actualites":
name = "Actualités"
entries = NewsEntry.select().where(NewsEntry.state == "published")
else:
abort(404)
title = f"{name} AFPy.org"
return render_template(
"pages/rss.xml",
entries=entries,
title=title,
description=title,
link=url_for("rss.feed_rss", type=type, _external=True),
type=type,
)