Source code for invenio_access.factory

# -*- coding: utf-8 -*-
# This file is part of Invenio.
# Copyright (C) 2015-2018 CERN.
# Invenio is free software; you can redistribute it and/or modify it
# under the terms of the MIT License; see LICENSE file for more details.

"""Factory method for creating new action needs."""

from __future__ import absolute_import, print_function

from functools import partial

from flask_principal import ActionNeed

from .permissions import ParameterizedActionNeed

[docs]def action_factory(name, parameter=False): """Factory method for creating new actions (w/wo parameters). :param name: Name of the action (prefix with your module name). :param parameter: Determines if action should take parameters or not. Default is ``False``. """ if parameter: return partial(ParameterizedActionNeed, name) else: return ActionNeed(name)