123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- from django.contrib.messages import constants
- from django.contrib.messages.storage import default_storage
-
- __all__ = (
- "add_message",
- "get_messages",
- "get_level",
- "set_level",
- "debug",
- "info",
- "success",
- "warning",
- "error",
- "MessageFailure",
- )
-
-
- class MessageFailure(Exception):
- pass
-
-
- def add_message(request, level, message, extra_tags="", fail_silently=False):
- """
- Attempt to add a message to the request using the 'messages' app.
- """
- try:
- messages = request._messages
- except AttributeError:
- if not hasattr(request, "META"):
- raise TypeError(
- "add_message() argument must be an HttpRequest object, not "
- "'%s'." % request.__class__.__name__
- )
- if not fail_silently:
- raise MessageFailure(
- "You cannot add messages without installing "
- "django.contrib.messages.middleware.MessageMiddleware"
- )
- else:
- return messages.add(level, message, extra_tags)
-
-
- def get_messages(request):
- """
- Return the message storage on the request if it exists, otherwise return
- an empty list.
- """
- return getattr(request, "_messages", [])
-
-
- def get_level(request):
- """
- Return the minimum level of messages to be recorded.
-
- The default level is the ``MESSAGE_LEVEL`` setting. If this is not found,
- use the ``INFO`` level.
- """
- storage = getattr(request, "_messages", default_storage(request))
- return storage.level
-
-
- def set_level(request, level):
- """
- Set the minimum level of messages to be recorded, and return ``True`` if
- the level was recorded successfully.
-
- If set to ``None``, use the default level (see the get_level() function).
- """
- if not hasattr(request, "_messages"):
- return False
- request._messages.level = level
- return True
-
-
- def debug(request, message, extra_tags="", fail_silently=False):
- """Add a message with the ``DEBUG`` level."""
- add_message(
- request,
- constants.DEBUG,
- message,
- extra_tags=extra_tags,
- fail_silently=fail_silently,
- )
-
-
- def info(request, message, extra_tags="", fail_silently=False):
- """Add a message with the ``INFO`` level."""
- add_message(
- request,
- constants.INFO,
- message,
- extra_tags=extra_tags,
- fail_silently=fail_silently,
- )
-
-
- def success(request, message, extra_tags="", fail_silently=False):
- """Add a message with the ``SUCCESS`` level."""
- add_message(
- request,
- constants.SUCCESS,
- message,
- extra_tags=extra_tags,
- fail_silently=fail_silently,
- )
-
-
- def warning(request, message, extra_tags="", fail_silently=False):
- """Add a message with the ``WARNING`` level."""
- add_message(
- request,
- constants.WARNING,
- message,
- extra_tags=extra_tags,
- fail_silently=fail_silently,
- )
-
-
- def error(request, message, extra_tags="", fail_silently=False):
- """Add a message with the ``ERROR`` level."""
- add_message(
- request,
- constants.ERROR,
- message,
- extra_tags=extra_tags,
- fail_silently=fail_silently,
- )
|