webapi where you can request scheduled rss feed publishing
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
910 B

import flask_apscheduler
from feedgen.feed import FeedGenerator
from flask import Flask
from flask_migrate import Migrate
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
migrate = Migrate()
def create_app():
APP = Flask(__name__)
scheduler = flask_apscheduler.APScheduler()
scheduler.api_enabled = True
scheduler.init_app(APP)
scheduler.start()
APP.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///schedule.db"
APP.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
db.init_app(APP)
migrate.init_app(APP, db, render_as_batch=True)
@scheduler.task("interval", id="update", minutes=10)
def update():
create_rss_feed()
return APP
def create_rss_feed():
print("creating rss feed")
fg = FeedGenerator()
atomfeed = fg.atom_str(pretty=True)
rssfeed = fg.rss_str(pretty=True)
fg.atom_file("atom.xml")
fg.rss_file("rss.xml")