From e9e760c63f3ed50229be38ea6afeb0a4d341c98a Mon Sep 17 00:00:00 2001 From: Peter Palfrader Date: Sat, 13 Oct 2007 20:26:59 +0000 Subject: Handle multi-line summaries git-svn-id: svn+ssh://asteria.noreply.org/svn/weaselutils/trunk@299 bc3d92e2-beff-0310-a7cd-cc87d7ac0ede --- parse-trac | 14 +++++++++----- 1 file 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 -- cgit v1.2.3