aboutsummaryrefslogtreecommitdiff
path: root/newspipe/web/views
diff options
context:
space:
mode:
Diffstat (limited to 'newspipe/web/views')
-rw-r--r--newspipe/web/views/__init__.py8
-rw-r--r--newspipe/web/views/admin.py11
-rw-r--r--newspipe/web/views/api/v2/__init__.py2
-rw-r--r--newspipe/web/views/api/v2/article.py9
-rw-r--r--newspipe/web/views/api/v2/category.py2
-rw-r--r--newspipe/web/views/api/v2/common.py9
-rw-r--r--newspipe/web/views/api/v2/feed.py11
-rw-r--r--newspipe/web/views/article.py21
-rw-r--r--newspipe/web/views/bookmark.py16
-rw-r--r--newspipe/web/views/category.py12
-rw-r--r--newspipe/web/views/common.py8
-rw-r--r--newspipe/web/views/feed.py26
-rw-r--r--newspipe/web/views/home.py24
-rw-r--r--newspipe/web/views/icon.py1
-rw-r--r--newspipe/web/views/session_mgmt.py26
-rw-r--r--newspipe/web/views/user.py27
-rw-r--r--newspipe/web/views/views.py14
17 files changed, 134 insertions, 93 deletions
diff --git a/newspipe/web/views/__init__.py b/newspipe/web/views/__init__.py
index 7d73ac8c..51214f21 100644
--- a/newspipe/web/views/__init__.py
+++ b/newspipe/web/views/__init__.py
@@ -1,9 +1,9 @@
+from newspipe.web.views import home, session_mgmt, views
+from newspipe.web.views.admin import admin_bp
from newspipe.web.views.api import v2
-from newspipe.web.views import views, home, session_mgmt
from newspipe.web.views.article import article_bp, articles_bp
+from newspipe.web.views.bookmark import bookmark_bp, bookmarks_bp
+from newspipe.web.views.category import categories_bp, category_bp
from newspipe.web.views.feed import feed_bp, feeds_bp
-from newspipe.web.views.category import category_bp, categories_bp
from newspipe.web.views.icon import icon_bp
-from newspipe.web.views.admin import admin_bp
from newspipe.web.views.user import user_bp, users_bp
-from newspipe.web.views.bookmark import bookmark_bp, bookmarks_bp
diff --git a/newspipe/web/views/admin.py b/newspipe/web/views/admin.py
index 7df683a7..f42f6938 100644
--- a/newspipe/web/views/admin.py
+++ b/newspipe/web/views/admin.py
@@ -1,12 +1,13 @@
from datetime import datetime
-from flask import Blueprint, render_template, redirect, flash, url_for
-from flask_babel import gettext, format_timedelta
-from flask_login import login_required, current_user
-from newspipe.lib.utils import redirect_url
+from flask import Blueprint, flash, redirect, render_template, url_for
+from flask_babel import format_timedelta, gettext
+from flask_login import current_user, login_required
+
from newspipe.controllers import UserController
-from newspipe.web.views.common import admin_permission
+from newspipe.lib.utils import redirect_url
from newspipe.web.forms import InformationMessageForm, UserForm
+from newspipe.web.views.common import admin_permission
admin_bp = Blueprint("admin", __name__, url_prefix="/admin")
diff --git a/newspipe/web/views/api/v2/__init__.py b/newspipe/web/views/api/v2/__init__.py
index d367da20..042b7255 100644
--- a/newspipe/web/views/api/v2/__init__.py
+++ b/newspipe/web/views/api/v2/__init__.py
@@ -1,3 +1,3 @@
-from newspipe.web.views.api.v2 import article, feed, category
+from newspipe.web.views.api.v2 import article, category, feed
__all__ = ["article", "feed", "category"]
diff --git a/newspipe/web/views/api/v2/article.py b/newspipe/web/views/api/v2/article.py
index b35d2635..638f1bd0 100644
--- a/newspipe/web/views/api/v2/article.py
+++ b/newspipe/web/views/api/v2/article.py
@@ -1,17 +1,18 @@
-from newspipe.bootstrap import application
-import dateutil.parser
from datetime import datetime
+
+import dateutil.parser
from flask import current_app
from flask_restful import Api
-from newspipe.web.views.common import api_permission
+from newspipe.bootstrap import application
from newspipe.controllers import ArticleController
from newspipe.web.views.api.v2.common import (
PyAggAbstractResource,
- PyAggResourceNew,
PyAggResourceExisting,
PyAggResourceMulti,
+ PyAggResourceNew
)
+from newspipe.web.views.common import api_permission
class ArticleNewAPI(PyAggResourceNew):
diff --git a/newspipe/web/views/api/v2/category.py b/newspipe/web/views/api/v2/category.py
index 697a283f..ab6e484a 100644
--- a/newspipe/web/views/api/v2/category.py
+++ b/newspipe/web/views/api/v2/category.py
@@ -4,9 +4,9 @@ from flask_restful import Api
from newspipe.bootstrap import application
from newspipe.controllers.category import CategoryController
from newspipe.web.views.api.v2.common import (
- PyAggResourceNew,
PyAggResourceExisting,
PyAggResourceMulti,
+ PyAggResourceNew
)
diff --git a/newspipe/web/views/api/v2/common.py b/newspipe/web/views/api/v2/common.py
index c38da8d8..5a7d7925 100644
--- a/newspipe/web/views/api/v2/common.py
+++ b/newspipe/web/views/api/v2/common.py
@@ -20,18 +20,19 @@ routes :
"""
import logging
from functools import wraps
-from werkzeug.exceptions import Unauthorized, BadRequest, Forbidden, NotFound
+
from flask import request
-from flask_restful import Resource, reqparse
from flask_login import current_user
+from flask_restful import Resource, reqparse
+from werkzeug.exceptions import BadRequest, Forbidden, NotFound, Unauthorized
+from newspipe.controllers import UserController
from newspipe.web.views.common import (
admin_permission,
api_permission,
- login_user_bundle,
jsonify,
+ login_user_bundle
)
-from newspipe.controllers import UserController
logger = logging.getLogger(__name__)
diff --git a/newspipe/web/views/api/v2/feed.py b/newspipe/web/views/api/v2/feed.py
index eaccd24a..f9e7f8c2 100644
--- a/newspipe/web/views/api/v2/feed.py
+++ b/newspipe/web/views/api/v2/feed.py
@@ -2,15 +2,18 @@ from flask import current_app
from flask_restful import Api
from newspipe.bootstrap import application
-from newspipe.web.views.common import api_permission
-from newspipe.controllers.feed import FeedController, DEFAULT_MAX_ERROR, DEFAULT_LIMIT
-
+from newspipe.controllers.feed import (
+ DEFAULT_LIMIT,
+ DEFAULT_MAX_ERROR,
+ FeedController
+)
from newspipe.web.views.api.v2.common import (
PyAggAbstractResource,
- PyAggResourceNew,
PyAggResourceExisting,
PyAggResourceMulti,
+ PyAggResourceNew
)
+from newspipe.web.views.common import api_permission
class FeedNewAPI(PyAggResourceNew):
diff --git a/newspipe/web/views/article.py b/newspipe/web/views/article.py
index 033ff039..472ff589 100644
--- a/newspipe/web/views/article.py
+++ b/newspipe/web/views/article.py
@@ -1,23 +1,26 @@
from datetime import datetime, timedelta
+
from flask import (
Blueprint,
- g,
- render_template,
- redirect,
flash,
- url_for,
+ g,
make_response,
+ redirect,
+ render_template,
request,
+ url_for
)
-
from flask_babel import gettext
-from flask_login import login_required, current_user
-
+from flask_login import current_user, login_required
from newspipe.bootstrap import db
-from newspipe.lib.utils import clear_string, redirect_url
+from newspipe.controllers import (
+ ArticleController,
+ CategoryController,
+ UserController
+)
from newspipe.lib.data import export_json
-from newspipe.controllers import ArticleController, UserController, CategoryController
+from newspipe.lib.utils import clear_string, redirect_url
from newspipe.web.lib.view_utils import etag_match
articles_bp = Blueprint("articles", __name__, url_prefix="/articles")
diff --git a/newspipe/web/views/bookmark.py b/newspipe/web/views/bookmark.py
index 8252dc2f..5d7e3d2b 100644
--- a/newspipe/web/views/bookmark.py
+++ b/newspipe/web/views/bookmark.py
@@ -27,28 +27,28 @@ __copyright__ = "Copyright (c) Cedric Bonhomme"
__license__ = "AGPLv3"
import logging
-from werkzeug.exceptions import BadRequest
from flask import (
Blueprint,
- render_template,
flash,
+ make_response,
redirect,
+ render_template,
request,
- url_for,
- make_response,
+ url_for
)
from flask_babel import gettext
-from flask_login import login_required, current_user
+from flask_login import current_user, login_required
from flask_paginate import Pagination, get_page_args
from sqlalchemy import desc
+from werkzeug.exceptions import BadRequest
-from newspipe.lib.utils import redirect_url
-from newspipe.lib.data import import_pinboard_json, export_bookmarks
from newspipe.bootstrap import db
-from newspipe.web.forms import BookmarkForm
from newspipe.controllers import BookmarkController, BookmarkTagController
+from newspipe.lib.data import export_bookmarks, import_pinboard_json
+from newspipe.lib.utils import redirect_url
from newspipe.models import BookmarkTag
+from newspipe.web.forms import BookmarkForm
logger = logging.getLogger(__name__)
bookmarks_bp = Blueprint("bookmarks", __name__, url_prefix="/bookmarks")
diff --git a/newspipe/web/views/category.py b/newspipe/web/views/category.py
index 9f1a7e83..3f65e854 100644
--- a/newspipe/web/views/category.py
+++ b/newspipe/web/views/category.py
@@ -1,11 +1,15 @@
-from flask import Blueprint, render_template, flash, redirect, url_for
+from flask import Blueprint, flash, redirect, render_template, url_for
from flask_babel import gettext
-from flask_login import login_required, current_user
+from flask_login import current_user, login_required
-from newspipe.web.forms import CategoryForm
+from newspipe.controllers import (
+ ArticleController,
+ CategoryController,
+ FeedController
+)
from newspipe.lib.utils import redirect_url
+from newspipe.web.forms import CategoryForm
from newspipe.web.lib.view_utils import etag_match
-from newspipe.controllers import ArticleController, FeedController, CategoryController
categories_bp = Blueprint("categories", __name__, url_prefix="/categories")
category_bp = Blueprint("category", __name__, url_prefix="/category")
diff --git a/newspipe/web/views/common.py b/newspipe/web/views/common.py
index 8d9ecfa9..574974ce 100644
--- a/newspipe/web/views/common.py
+++ b/newspipe/web/views/common.py
@@ -1,15 +1,17 @@
import json
-from functools import wraps
from datetime import datetime
-from flask import current_app, Response
+from functools import wraps
+
+from flask import Response, current_app
from flask_login import login_user
from flask_principal import (
Identity,
Permission,
RoleNeed,
- session_identity_loader,
identity_changed,
+ session_identity_loader
)
+
from newspipe.controllers import UserController
from newspipe.lib.utils import default_handler
diff --git a/newspipe/web/views/feed.py b/newspipe/web/views/feed.py
index 16f44c86..10a86139 100644
--- a/newspipe/web/views/feed.py
+++ b/newspipe/web/views/feed.py
@@ -1,33 +1,33 @@
import logging
-import requests.exceptions
from datetime import datetime, timedelta
-from sqlalchemy import desc
-from werkzeug.exceptions import BadRequest
+import requests.exceptions
from flask import (
Blueprint,
- render_template,
flash,
+ make_response,
redirect,
+ render_template,
request,
- url_for,
- make_response,
+ url_for
)
from flask_babel import gettext
-from flask_login import login_required, current_user
+from flask_login import current_user, login_required
from flask_paginate import Pagination, get_page_args
+from sqlalchemy import desc
+from werkzeug.exceptions import BadRequest
from newspipe.bootstrap import application
-from newspipe.lib import misc_utils, utils
-from newspipe.lib.feed_utils import construct_feed_from
-from newspipe.web.lib.view_utils import etag_match
-from newspipe.web.forms import AddFeedForm
from newspipe.controllers import (
- UserController,
+ ArticleController,
CategoryController,
FeedController,
- ArticleController,
+ UserController
)
+from newspipe.lib import misc_utils, utils
+from newspipe.lib.feed_utils import construct_feed_from
+from newspipe.web.forms import AddFeedForm
+from newspipe.web.lib.view_utils import etag_match
logger = logging.getLogger(__name__)
feeds_bp = Blueprint("feeds", __name__, url_prefix="/feeds")
diff --git a/newspipe/web/views/home.py b/newspipe/web/views/home.py
index 0fe09b17..1699f106 100644
--- a/newspipe/web/views/home.py
+++ b/newspipe/web/views/home.py
@@ -1,20 +1,30 @@
-import pytz
import logging
from datetime import datetime
-from flask import current_app, render_template, request, flash, url_for, redirect
-from flask_login import login_required, current_user
-from flask_babel import gettext, get_locale
+import pytz
from babel.dates import format_datetime, format_timedelta
+from flask import (
+ current_app,
+ flash,
+ redirect,
+ render_template,
+ request,
+ url_for
+)
+from flask_babel import get_locale, gettext
+from flask_login import current_user, login_required
from newspipe.bootstrap import application
-from newspipe.lib.utils import redirect_url
+from newspipe.controllers import (
+ ArticleController,
+ CategoryController,
+ FeedController
+)
from newspipe.lib import misc_utils
+from newspipe.lib.utils import redirect_url
from newspipe.web.lib.view_utils import etag_match
from newspipe.web.views.common import jsonify
-from newspipe.controllers import FeedController, ArticleController, CategoryController
-
localize = pytz.utc.localize
logger = logging.getLogger(__name__)
diff --git a/newspipe/web/views/icon.py b/newspipe/web/views/icon.py
index 4cdcd4b0..bbb98ea5 100644
--- a/newspipe/web/views/icon.py
+++ b/newspipe/web/views/icon.py
@@ -1,4 +1,5 @@
import base64
+
from flask import Blueprint, Response, request
from newspipe.controllers import IconController
diff --git a/newspipe/web/views/session_mgmt.py b/newspipe/web/views/session_mgmt.py
index 9588e98e..801834ec 100644
--- a/newspipe/web/views/session_mgmt.py
+++ b/newspipe/web/views/session_mgmt.py
@@ -1,33 +1,33 @@
import logging
-
from datetime import datetime
-from werkzeug.security import generate_password_hash
-from werkzeug.exceptions import NotFound
+
from flask import (
- render_template,
+ current_app,
flash,
- session,
- request,
- url_for,
redirect,
- current_app,
+ render_template,
+ request,
+ session,
+ url_for
)
from flask_babel import gettext, lazy_gettext
-from flask_login import LoginManager, logout_user, login_required, current_user
+from flask_login import LoginManager, current_user, login_required, logout_user
from flask_principal import (
- Principal,
AnonymousIdentity,
+ Principal,
UserNeed,
identity_changed,
identity_loaded,
- session_identity_loader,
+ session_identity_loader
)
+from werkzeug.exceptions import NotFound
+from werkzeug.security import generate_password_hash
from newspipe.bootstrap import application
-from newspipe.web.views.common import admin_role, api_role, login_user_bundle
from newspipe.controllers import UserController
-from newspipe.web.forms import SignupForm, SigninForm
from newspipe.notifications import notifications
+from newspipe.web.forms import SigninForm, SignupForm
+from newspipe.web.views.common import admin_role, api_role, login_user_bundle
Principal(current_app)
# Create a permission with a single Need, in this case a RoleNeed.
diff --git a/newspipe/web/views/user.py b/newspipe/web/views/user.py
index b4900559..5addf80d 100644
--- a/newspipe/web/views/user.py
+++ b/newspipe/web/views/user.py
@@ -1,22 +1,29 @@
-from flask import Blueprint, g, render_template, redirect, flash, url_for, request
+from flask import (
+ Blueprint,
+ flash,
+ g,
+ redirect,
+ render_template,
+ request,
+ url_for
+)
from flask_babel import gettext
-from flask_login import login_required, current_user
+from flask_login import current_user, login_required
from flask_paginate import Pagination, get_page_args
from newspipe.bootstrap import application
-from newspipe.notifications import notifications
-from newspipe.lib import misc_utils
-from newspipe.lib.data import import_opml, import_json
-from newspipe.web.lib.user_utils import confirm_token
from newspipe.controllers import (
- UserController,
- FeedController,
ArticleController,
- CategoryController,
BookmarkController,
+ CategoryController,
+ FeedController,
+ UserController
)
-
+from newspipe.lib import misc_utils
+from newspipe.lib.data import import_json, import_opml
+from newspipe.notifications import notifications
from newspipe.web.forms import ProfileForm
+from newspipe.web.lib.user_utils import confirm_token
users_bp = Blueprint("users", __name__, url_prefix="/users")
user_bp = Blueprint("user", __name__, url_prefix="/user")
diff --git a/newspipe/web/views/views.py b/newspipe/web/views/views.py
index 346954e1..a19c7dc5 100644
--- a/newspipe/web/views/views.py
+++ b/newspipe/web/views/views.py
@@ -1,14 +1,22 @@
-import sys
import logging
import operator
+import sys
from datetime import datetime, timedelta
-from flask import request, render_template, flash, url_for, redirect, current_app
+
+from flask import (
+ current_app,
+ flash,
+ redirect,
+ render_template,
+ request,
+ url_for
+)
from flask_babel import gettext
from sqlalchemy import desc
from newspipe.bootstrap import application
-from newspipe.web import __version__
from newspipe.controllers import FeedController, UserController
+from newspipe.web import __version__
from newspipe.web.lib.view_utils import etag_match
logger = logging.getLogger(__name__)
bgstack15