diff options
Diffstat (limited to 'newspipe/web/views/common.py')
-rw-r--r-- | newspipe/web/views/common.py | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/newspipe/web/views/common.py b/newspipe/web/views/common.py index e422fd57..c2d8e2df 100644 --- a/newspipe/web/views/common.py +++ b/newspipe/web/views/common.py @@ -3,13 +3,18 @@ from functools import wraps from datetime import datetime from flask import current_app, Response from flask_login import login_user -from flask_principal import (Identity, Permission, RoleNeed, - session_identity_loader, identity_changed) +from flask_principal import ( + Identity, + Permission, + RoleNeed, + session_identity_loader, + identity_changed, +) from web.controllers import UserController from lib.utils import default_handler -admin_role = RoleNeed('admin') -api_role = RoleNeed('api') +admin_role = RoleNeed("admin") +api_role = RoleNeed("api") admin_permission = Permission(admin_role) api_permission = Permission(api_role) @@ -17,21 +22,23 @@ api_permission = Permission(api_role) def scoped_default_handler(): if admin_permission.can(): - role = 'admin' + role = "admin" elif api_permission.can(): - role = 'api' + role = "api" else: - role = 'user' + role = "user" @wraps(default_handler) def wrapper(obj): return default_handler(obj, role=role) + return wrapper def jsonify(func): """Will cast results of func as a result, and try to extract a status_code for the Response object""" + @wraps(func) def wrapper(*args, **kwargs): status_code = 200 @@ -40,8 +47,12 @@ def jsonify(func): return result elif isinstance(result, tuple): result, status_code = result - return Response(json.dumps(result, default=scoped_default_handler()), - mimetype='application/json', status=status_code) + return Response( + json.dumps(result, default=scoped_default_handler()), + mimetype="application/json", + status=status_code, + ) + return wrapper @@ -49,5 +60,4 @@ def login_user_bundle(user): login_user(user) identity_changed.send(current_app, identity=Identity(user.id)) session_identity_loader() - UserController(user.id).update( - {'id': user.id}, {'last_seen': datetime.utcnow()}) + UserController(user.id).update({"id": user.id}, {"last_seen": datetime.utcnow()}) |