view gpp/messages/utils.py @ 388:c3231af55778

For #191; r410 is wrong: it is returning the wrong posts. Rework. MySQL is not using an index on our query, and it is taking 10+ seconds. Replace this slow query with a loop that loops over the public forums, then sorts and returns the posts.
author Brian Neal <bgneal@gmail.com>
date Sat, 19 Mar 2011 05:03:51 +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)