import flask import flask_apscheduler import feedtools import json APP = flask.Flask(__name__, static_url_path="", static_folder="static", template_folder="templates") # Initialize Flask-APScheduler # https://github.com/viniciuschiele/flask-apscheduler # Thanks Crunk for pointing to this extention! scheduler = flask_apscheduler.APScheduler() scheduler.api_enabled = False scheduler.init_app(APP) scheduler.start() @scheduler.task('interval', id='update', minutes=10) def update(): print('Updating the Multifeeder!') feedtools.update() @APP.route("/") def index(): db = feedtools.load() template = flask.render_template( "index.html", db=db, ) return template @APP.route("/feeds/latest/") def latest(num): feed = feedtools.latest(num) if flask.request.values.get("format") == 'md': response_data = feedtools.md(feed) mimetype_data = 'text/plain' else: response_data = json.dumps(feed) mimetype_data = 'application/json' return APP.response_class( response=response_data, status=200, mimetype=mimetype_data ) @APP.route("/feeds/today") def today(): feed = feedtools.today() if flask.request.values.get("format") == 'md': response_data = feedtools.md(feed) mimetype_data = 'text/plain' else: response_data = json.dumps(feed) mimetype_data = 'application/json' return APP.response_class( response=response_data, status=200, mimetype=mimetype_data ) @APP.route("/feeds/past/") def past(days): feed = feedtools.past(days) if flask.request.values.get("format") == 'md': response_data = feedtools.md(feed) mimetype_data = 'text/plain' else: response_data = json.dumps(feed) mimetype_data = 'application/json' return APP.response_class( response=response_data, status=200, mimetype=mimetype_data ) if __name__ == "__main__": feedtools.update() APP.debug = True APP.run(port=5678)