def get_person_listing( request: Request, logger: Logger, session: LocalProxy, service: DirectorySearchService, ): context = RenderingContext.construct( uwnetid=session.get("uwnetid"), ) template = "views/person.html" try: request_input = SearchDirectoryFormInput.parse_obj(request.form) context.request_input = request_input context.search_result = service.get_listing( b64decode(request_input.person_href.encode("UTF-8")).decode("UTF-8") ) except Exception as e: template = "views/index.html" logger.exception(str(e)) SearchBlueprint.handle_search_exception(e, context) finally: return ( render_template(template, **context.dict(exclude_none=True)), context.status_code, )
def search_listing( request: Request, service: DirectorySearchService, logger: Logger, session: LocalProxy, settings: ApplicationConfig, ): context = RenderingContext.construct( uwnetid=session.get("uwnetid"), show_experimental=settings.show_experimental, ) try: form_input = SearchDirectoryFormInput.parse_obj(request.form) context.request_input = form_input request_input = SearchDirectoryInput.from_form_input(form_input) context.search_result = service.search_directory(request_input) except Exception as e: logger.exception(str(e)) SearchBlueprint.handle_search_exception(e, context) finally: return ( render_template( "views/search_results.html", **context.dict(exclude_none=True) ), context.status_code, )
def index(session: LocalProxy, settings: ApplicationConfig): context = RenderingContext( uwnetid=session.get("uwnetid"), show_experimental=settings.show_experimental ) return ( render_template("views/index.html", **context.dict(exclude_none=True)), 200, )
def make_api_call(session_handler: LocalProxy, token_api: str, api_path: str): # TODO: Find cleaner way to handle expired tokens try: resp: HandlerResponse = session_handler.get(api_path) print(resp) # assert resp.ok # create_user(resp.text) return resp.json() except (InvalidGrantError, TokenExpiredError, OAuth2Error): # token is expired return redirect(url_for(token_api))
from flask import _request_ctx_stack from werkzeug.local import LocalProxy from flask_jwt_group.config import config raw_jwt_claims = LocalProxy(lambda: getattr(_request_ctx_stack.top, 'jwt', {})) jwt_identity = LocalProxy( lambda: raw_jwt_claims.get(config.identity_key, None)) jwt_group = LocalProxy(lambda: raw_jwt_claims.get(config.group_key, None))
#-*- coding:utf-8 _*- """ @author:star @file: test7.py @time: 2018/08/12 """ from werkzeug.local import LocalStack, LocalProxy user_stack = LocalStack() user_stack.push({'name': 'alice'}) user_stack.push({'name': 'bob'}) def get_user(): return user_stack.pop() user = LocalProxy(get_user) print(user.get('name')) print(user.get('name'))