view gpp/messages/utils.py @ 322:c3d3d7114749

Fix #148; Django now requires AJAX posts to present the CSRF token. Added code suggested by Django docs to shoutbox.js. Since shoutbox.js is on every page, it should cover all cases.
author Brian Neal <bgneal@gmail.com>
date Sat, 12 Feb 2011 21:37:17 +0000
parents dbd703f7d63a
children 538a1bd2f1f4
line wrap: on
line source
"""
This file contains various helper utility functions for the messages
application.
"""

from django.utils.text import wrap


def reply_subject(subject):
   """
   Builds a subject line for a reply.
   If the subject already starts with Re: then return the subject.
   Otherwise, prepend Re: to the subject and return it.
   """
   if subject.startswith('Re: '):
      return subject
   return 'Re: ' + subject


def quote_message(who, date, message):
   """
   Builds a message reply by quoting the existing message in a
   typical email-like fashion. The quoting is compatible with Markdown.
   """
   header = '> On %s, %s wrote:\n>\n' % (date.strftime('%a, %b %d %Y, %I:%M %p'), who)
   lines = wrap(message, 55).split('\n')
   for i, line in enumerate(lines):
      lines[i] = '> ' + line
   return header + '\n'.join(lines)