magpie.cli.batch_update_permissions =================================== .. py:module:: magpie.cli.batch_update_permissions .. autoapi-nested-parse:: Magpie helper to create or delete a set of permissions. When parsing permissions to create, any underlying user, group, or intermediate resource that are missing, but that can be resolved with reasonable defaults or with an explicit definition in the configuration file, will be dynamically created prior to setting the corresponding permission on it. All referenced services should exist beforehand. Consider using the 'register_providers' utility to register services beforehand as needed. See https://pavics-magpie.readthedocs.io/en/latest/configuration.html#file-permissions-cfg for more details. Attributes ---------- .. autoapisummary:: magpie.cli.batch_update_permissions.LOGGER magpie.cli.batch_update_permissions.ERROR_PARAMS magpie.cli.batch_update_permissions.ERROR_EXEC Functions --------- .. autoapisummary:: magpie.cli.batch_update_permissions.make_logging_options magpie.cli.batch_update_permissions.setup_logger_from_options magpie.cli.batch_update_permissions.magpie_register_permissions_from_config magpie.cli.batch_update_permissions.get_logger magpie.cli.batch_update_permissions.make_parser magpie.cli.batch_update_permissions.main Module Contents --------------- .. py:function:: make_logging_options(parser: argparse.ArgumentParser) -> None Defines argument parser options for logging operations. .. py:function:: setup_logger_from_options(logger: logging.Logger, args: argparse.Namespace) -> None Uses argument parser options to setup logging level from specified flags. Setup both the specific CLI logger that is provided and the generic `magpie` logger. .. py:function:: magpie_register_permissions_from_config(permissions_config: Union[magpie.typedefs.Str, magpie.typedefs.PermissionsConfig], settings: Optional[magpie.typedefs.AnySettingsContainer] = None, db_session: Optional[sqlalchemy.orm.session.Session] = None, raise_errors: bool = False) -> None Applies `permissions` specified in configuration(s) defined as file, directory with files or literal configuration. :param permissions_config: file/dir path to `permissions` config or JSON/YAML equivalent pre-loaded. :param settings: Magpie settings to resolve an instance session when using requests instead of DB session. Will look for ``magpie.url``, ``magpie.admin_user`` and ``magpie.admin_password`` by default, or any corresponding environment variable resolution if omitted in the settings. :param db_session: db session to use instead of requests to directly create/remove permissions with config. :param raise_errors: raises errors related to permissions, instead of just logging the info. .. seealso:: `magpie/config/permissions.cfg` for specific parameters and operational details. .. py:function:: get_logger(name: magpie.typedefs.Str, level: Optional[int] = None, force_stdout: bool = None, message_format: Optional[magpie.typedefs.Str] = None, datetime_format: Optional[magpie.typedefs.Str] = None) -> logging.Logger Immediately sets the logger level to avoid duplicate log outputs from the `root logger` and `this logger` when `level` is ``logging.NOTSET``. .. py:data:: LOGGER .. py:data:: ERROR_PARAMS :value: 2 .. py:data:: ERROR_EXEC :value: 1 .. py:function:: make_parser() -> argparse.ArgumentParser .. py:function:: main(args: Optional[Sequence[str]] = None, parser: Optional[argparse.ArgumentParser] = None, namespace: Optional[argparse.Namespace] = None) -> Any