summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Palfrader <peter@palfrader.org>2007-10-13 20:26:59 +0000
committerweasel <weasel@bc3d92e2-beff-0310-a7cd-cc87d7ac0ede>2007-10-13 20:26:59 +0000
commite9e760c63f3ed50229be38ea6afeb0a4d341c98a (patch)
treefdf8888d549e13c4276561705e4c32a25f797f19
parentbdc553c1d1400c99e11fe0063654aa0193ec4713 (diff)
Handle multi-line summaries
git-svn-id: svn+ssh://asteria.noreply.org/svn/weaselutils/trunk@299 bc3d92e2-beff-0310-a7cd-cc87d7ac0ede
-rwxr-xr-xparse-trac14
1 files changed, 9 insertions, 5 deletions
diff --git a/parse-trac b/parse-trac
index f25282c..f02ef04 100755
--- a/parse-trac
+++ b/parse-trac
@@ -75,9 +75,13 @@ my $body = join '', @mail;
$body = decode_base64($body) if ($is_base64);
@mail = split(/\r?\n/, $body);
-my $first_line = shift @mail;
-chomp $first_line;
-shift @mail;
+my @summary;
+while (defined($line = shift @mail)) {
+ last if $line =~ /^-----------------/
+ chomp $line;
+ push @summary, $line;
+};
+$summary = join ' ', @summary;
my $reporter;
while (defined($line = shift @mail)) {
@@ -96,7 +100,7 @@ die ("$PROGRAM_NAME - $project: No reporter found.\n") unless defined $reporter;
die ("$PROGRAM_NAME - $project: No tracproject found.\n") unless defined $tracproject;
die ("$PROGRAM_NAME - $project: No url found.\n") unless defined $url;
die ("$PROGRAM_NAME - $project: No ticketid found.\n") unless defined $ticketid;
-die ("$PROGRAM_NAME - $project: No first_line found.\n") unless defined $first_line;
+die ("$PROGRAM_NAME - $project: No summary found.\n") unless defined $summary;
my $MAXBODYLINES = 5;
if (scalar @body > $MAXBODYLINES+1) { # if it's one more let it through, [...] takes a line too
@@ -110,7 +114,7 @@ my $notice = $is_a_reply ?
"[$tracproject] #$ticketid was updated" :
"[$tracproject] #$ticketid filed by $reporter";
-$notice .= ": $first_line - $url";
+$notice .= ": $summary - $url";
#open(MAIL, "|cat") or
open(MAIL, "|$SENDMAIL -t -oi -f $ENVELOPE_FROM") or