From 3ab6290d4994b33cdbf831523938cdb18a13bf49 Mon Sep 17 00:00:00 2001 From: Cédric Bonhomme Date: Mon, 9 Mar 2020 23:16:05 +0100 Subject: Refactoring the backend. --- runserver.py | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100755 runserver.py (limited to 'runserver.py') diff --git a/runserver.py b/runserver.py new file mode 100755 index 00000000..20c712a4 --- /dev/null +++ b/runserver.py @@ -0,0 +1,68 @@ +#! /usr/bin/env python +# -*- coding: utf-8 -*- + +# Newspipe - A Web based news aggregator. +# Copyright (C) 2010-2020 Cédric Bonhomme - https://www.cedricbonhomme.org +# +# For more information: https://git.sr.ht/~cedric/newspipe +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +import calendar +from newspipe.bootstrap import application +from flask_babel import Babel, format_datetime + + +babel = Babel(application) + + +# Jinja filters +def month_name(month_number): + return calendar.month_name[month_number] + + +application.jinja_env.filters["month_name"] = month_name +application.jinja_env.filters["datetime"] = format_datetime +# inject application in Jinja env +application.jinja_env.globals["application"] = application + +# Views +from flask_restful import Api +from flask import g + +with application.app_context(): + g.api = Api(application, prefix="/api/v2.0") + g.babel = babel + + from newspipe.web import views + + application.register_blueprint(views.articles_bp) + application.register_blueprint(views.article_bp) + application.register_blueprint(views.feeds_bp) + application.register_blueprint(views.feed_bp) + application.register_blueprint(views.categories_bp) + application.register_blueprint(views.category_bp) + application.register_blueprint(views.icon_bp) + application.register_blueprint(views.admin_bp) + application.register_blueprint(views.users_bp) + application.register_blueprint(views.user_bp) + application.register_blueprint(views.bookmarks_bp) + application.register_blueprint(views.bookmark_bp) + + +if __name__ == "__main__": + application.run( + host=application.config['HOST'], + port=application.config['PORT'], + debug=application.config['DEBUG'] + ) -- cgit