cowbird.handlers.handler ======================== .. py:module:: cowbird.handlers.handler Attributes ---------- .. autoapisummary:: cowbird.handlers.handler.AnyHandlerParameter cowbird.handlers.handler.HANDLER_PRIORITY_PARAM cowbird.handlers.handler.HANDLER_URL_PARAM cowbird.handlers.handler.HANDLER_WORKSPACE_DIR_PARAM cowbird.handlers.handler.HANDLER_PARAMETERS cowbird.handlers.handler.LOGGER Exceptions ---------- .. autoapisummary:: cowbird.handlers.handler.HandlerConfigurationException Classes ------- .. autoapisummary:: cowbird.handlers.handler.Handler Module Contents --------------- .. py:data:: AnyHandlerParameter .. py:data:: HANDLER_PRIORITY_PARAM :type: AnyHandlerParameter :value: 'priority' .. py:data:: HANDLER_URL_PARAM :type: AnyHandlerParameter :value: 'url' .. py:data:: HANDLER_WORKSPACE_DIR_PARAM :type: AnyHandlerParameter :value: 'workspace_dir' .. py:data:: HANDLER_PARAMETERS .. py:data:: LOGGER .. py:exception:: HandlerConfigurationException Bases: :py:obj:`Exception` Exception thrown when a handler cannot be instantiated because of a bad configuration. Initialize self. See help(type(self)) for accurate signature. .. py:class:: Handler(settings: cowbird.typedefs.SettingsType, name: str, **kwargs: Any) Bases: :py:obj:`abc.ABC` Helper class that provides a standard way to create an ABC using inheritance. :param settings: Cowbird settings for convenience :param name: Handler name :param kwargs: The base class handle, but doesn't require the following variables: :param url: Location of the web service represented by the cowbird handler :param workspace_dir: Workspace directory :param priority: Relative priority between handlers while handling events. Lower value has higher priority, default value is last. .. py:attribute:: __slots__ Handler interface used to notify implemented handlers of users/permissions changes. .. todo:: At some point we will need a consistency function that goes through all Magpie users and make sure that handlers are up-to-date. .. py:property:: required_params :type: List[AnyHandlerParameter] :abstractmethod: .. py:attribute:: settings .. py:attribute:: name .. py:attribute:: priority .. py:attribute:: url .. py:attribute:: workspace_dir .. py:attribute:: ssl_verify :value: False .. py:attribute:: timeout .. py:method:: json() -> cowbird.typedefs.JSON .. py:method:: _user_workspace_dir(user_name: str) -> str .. py:method:: user_created(user_name: str) -> None :abstractmethod: .. py:method:: user_deleted(user_name: str) -> None :abstractmethod: .. py:method:: permission_created(permission: cowbird.permissions_synchronizer.Permission) -> None :abstractmethod: .. py:method:: permission_deleted(permission: cowbird.permissions_synchronizer.Permission) -> None :abstractmethod: .. py:method:: resync() -> None :abstractmethod: