aboutsummaryrefslogtreecommitdiff
path: root/runserver.py
diff options
context:
space:
mode:
authorFrançois Schmidts <francois.schmidts@gmail.com>2015-01-17 16:50:38 +0100
committerFrançois Schmidts <francois.schmidts@gmail.com>2015-03-03 22:22:14 +0100
commit2849c82255b4b889c7342a0a8fa8a4aecfbe599d (patch)
tree3ad31fd3a0e84bc3f40367cf4963cf8db8c65d06 /runserver.py
parentadding news fields and migrations scripts (diff)
downloadnewspipe-2849c82255b4b889c7342a0a8fa8a4aecfbe599d.tar.gz
newspipe-2849c82255b4b889c7342a0a8fa8a4aecfbe599d.tar.bz2
newspipe-2849c82255b4b889c7342a0a8fa8a4aecfbe599d.zip
a first big refacto of the existing arch
Diffstat (limited to 'runserver.py')
-rwxr-xr-xrunserver.py40
1 files changed, 38 insertions, 2 deletions
diff --git a/runserver.py b/runserver.py
index 8ae7282a..8d163cd6 100755
--- a/runserver.py
+++ b/runserver.py
@@ -19,8 +19,44 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-from bootstrap import conf
-from pyaggr3g470r import app as application
+from bootstrap import conf, application, db
+from flask.ext.babel import Babel
+from flask.ext.babel import format_datetime
+
+if conf.ON_HEROKU:
+ from flask_sslify import SSLify
+ SSLify(application)
+
+ALLOWED_EXTENSIONS = set(['xml', 'opml', 'json'])
+
+def allowed_file(filename):
+ """
+ Check if the uploaded file is allowed.
+ """
+ return '.' in filename and \
+ filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS
+
+babel = Babel(application)
+
+application.jinja_env.filters['datetime'] = format_datetime
+
+# Views
+from flask.ext.restful import Api
+from flask import g
+
+with application.app_context():
+ g.api = Api(application, prefix='/api/v1.0')
+ g.babel = babel
+ g.allowed_file = allowed_file
+ g.db = db
+ g.app = application
+
+ from pyaggr3g470r 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)
+
if __name__ == '__main__':
application.run(host=conf.WEBSERVER_HOST,
bgstack15