X-Git-Url: https://sipb.mit.edu/gitweb.cgi/snippets/.git/blobdiff_plain/8293875f77dc4d04b04f3a76019f4daeabcc0fc3..c00679cc6c05e24935d03cf4e786cf41428ad5fd:/TracZephyrPlugin/ZephyrPlugin.py diff --git a/TracZephyrPlugin/ZephyrPlugin.py b/TracZephyrPlugin/ZephyrPlugin.py index 9792da4..88b9ec2 100644 --- a/TracZephyrPlugin/ZephyrPlugin.py +++ b/TracZephyrPlugin/ZephyrPlugin.py @@ -3,9 +3,12 @@ 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) @@ -25,15 +28,17 @@ class ZephyrPlugin(Component): 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):