From 61ca29de0435917386b46b4d558c9fc19c6f4233 Mon Sep 17 00:00:00 2001 From: Joseph Schorr Date: Tue, 25 Feb 2014 15:07:24 -0500 Subject: [PATCH] Move the auth context methods into their own file so that we don't have auth trying to import itself --- auth/auth.py | 11 +---------- auth/auth_context.py | 7 +++++++ endpoints/index.py | 4 ++-- endpoints/registry.py | 2 +- util/http.py | 2 +- 5 files changed, 12 insertions(+), 14 deletions(-) create mode 100644 auth/auth_context.py diff --git a/auth/auth.py b/auth/auth.py index f751d6814..fb08b9184 100644 --- a/auth/auth.py +++ b/auth/auth.py @@ -1,7 +1,7 @@ import logging from functools import wraps -from flask import request, _request_ctx_stack, abort as flask_abort, session +from flask import request, _request_ctx_stack, session from flask.ext.principal import identity_changed, Identity from base64 import b64decode @@ -15,15 +15,6 @@ from util.http import abort logger = logging.getLogger(__name__) - -def get_authenticated_user(): - return getattr(_request_ctx_stack.top, 'authenticated_user', None) - - -def get_validated_token(): - return getattr(_request_ctx_stack.top, 'validated_token', None) - - def process_basic_auth(auth): normalized = [part.strip() for part in auth.split(' ') if part] if normalized[0].lower() != 'basic' or len(normalized) != 2: diff --git a/auth/auth_context.py b/auth/auth_context.py new file mode 100644 index 000000000..09ff8d759 --- /dev/null +++ b/auth/auth_context.py @@ -0,0 +1,7 @@ +from flask import _request_ctx_stack + +def get_authenticated_user(): + return getattr(_request_ctx_stack.top, 'authenticated_user', None) + +def get_validated_token(): + return getattr(_request_ctx_stack.top, 'validated_token', None) diff --git a/endpoints/index.py b/endpoints/index.py index 864805b9a..e75cb020d 100644 --- a/endpoints/index.py +++ b/endpoints/index.py @@ -9,8 +9,8 @@ from collections import OrderedDict from data import model, userevent from data.queue import webhook_queue from app import mixpanel, app -from auth.auth import (process_auth, get_authenticated_user, - get_validated_token) +from auth.auth import process_auth +from auth.auth_context import get_authenticated_user, get_validated_token from util.names import parse_repository_name from util.email import send_confirmation_email from auth.permissions import (ModifyRepositoryPermission, UserPermission, diff --git a/endpoints/registry.py b/endpoints/registry.py index 211c2e12b..51bb7219e 100644 --- a/endpoints/registry.py +++ b/endpoints/registry.py @@ -2,7 +2,7 @@ import logging import json from flask import (make_response, request, session, Response, redirect, - Blueprint, abort as flask_abort) + Blueprint) from functools import wraps from datetime import datetime from time import time diff --git a/util/http.py b/util/http.py index a678c97ec..1068696fe 100644 --- a/util/http.py +++ b/util/http.py @@ -2,6 +2,7 @@ import logging from app import mixpanel from flask import request, abort as flask_abort, jsonify +from auth.auth_context import get_authenticated_user, get_validated_token logger = logging.getLogger(__name__) @@ -15,7 +16,6 @@ DEFAULT_MESSAGE[409] = 'Conflict' DEFAULT_MESSAGE[501] = 'Not Implemented' def abort(status_code, message=None, issue=None, **kwargs): - from auth.auth import get_authenticated_user, get_validated_token message = (str(message) % kwargs if message else DEFAULT_MESSAGE.get(status_code, ''))