from trac.core import *
from trac.ticket import ITicketChangeListener
import subprocess
+import re
import textwrap
import shlex
+quoted_re = re.compile('^(?:> ?\n)*> .+\n(?:>(?: .*)?\n)*', re.MULTILINE)
+
class ZephyrPlugin(Component):
implements(ITicketChangeListener)
p.wait()
def format_text(self, text):
+ text = re.sub(quoted_re, u'> […]\n', text)
lines = textwrap.fill(text).split('\n')
if len(lines) > 5:
lines = lines[:5] + [u'[…]']
return '\n'.join(lines)
def ticket_created(self, ticket):
- message = "%s filed a new ticket:\n%s\n\n%s" % (ticket['reporter'],
- ticket['summary'],
- self.format_text(ticket['description']))
+ message = "%s filed a new %s ticket:\n%s\n\n%s" % (ticket['reporter'],
+ ticket['priority'],
+ ticket['summary'],
+ self.format_text(ticket['description']))
self.zwrite(ticket.id, message)
def ticket_changed(self, ticket, comment, author, old_values):