messages.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. INFO = 'info'
  2. SUCCESS = 'success'
  3. WARNING = 'warning'
  4. ERROR = 'error'
  5. class Messages(object):
  6. def __init__(self, session):
  7. self.session = session
  8. self.messages = session.get('messages_list', [])
  9. self.session['messages_list'] = []
  10. def set_message(self, message, type='info', owner=None):
  11. message.type = type
  12. message.owner = owner
  13. self.messages.append(message)
  14. def set_flash(self, message, level='info', owner=None):
  15. self.set_message(message, level, owner)
  16. self.session['messages_list'].append(message)
  17. def get_message(self, owner=None):
  18. for index, message in enumerate(self.messages):
  19. if message.owner == owner:
  20. del self.messages[index]
  21. return message
  22. return None
  23. def get_messages(self, owner=None):
  24. orphans = []
  25. messages = []
  26. for message in self.messages:
  27. if message.owner == owner:
  28. messages.append(message)
  29. else:
  30. orphans.append(message)
  31. self.messages = orphans
  32. return messages
  33. class Message(object):
  34. def __init__(self, message=None, level='info', owner=None):
  35. self.level = level
  36. self.message = message
  37. self.owner = owner
  38. def add_message(request, level, message, owner=None):
  39. request.messages.set_message(message, level=level, owner=owner)
  40. def info(request, message, owner=None):
  41. request.messages.set_message(message, level=INFO, owner=owner)
  42. def success(request, message, owner=None):
  43. request.messages.set_message(message, level=SUCCESS, owner=owner)
  44. def warning(request, message, owner=None):
  45. request.messages.set_message(message, level=WARNING, owner=owner)
  46. def error(request, message, owner=None):
  47. request.messages.set_message(message, level=ERROR, owner=owner)