summaryrefslogtreecommitdiff
path: root/parse-trac
diff options
context:
space:
mode:
authorPeter Palfrader <peter@palfrader.org>2007-05-23 21:58:09 +0000
committerweasel <weasel@bc3d92e2-beff-0310-a7cd-cc87d7ac0ede>2007-05-23 21:58:09 +0000
commit877b067d87d7b7b47687f50f16c9dd0dff28c39e (patch)
tree0fb4f1e438d376c779802bda487ecbdf1d3451cb /parse-trac
parent28d474fad503f5cecb9dfe726f666aec3b79db29 (diff)
handle base64
git-svn-id: svn+ssh://asteria.noreply.org/svn/weaselutils/trunk@275 bc3d92e2-beff-0310-a7cd-cc87d7ac0ede
Diffstat (limited to 'parse-trac')
-rwxr-xr-xparse-trac8
1 files changed, 8 insertions, 0 deletions
diff --git a/parse-trac b/parse-trac
index 0815e6e..1a571c7 100755
--- a/parse-trac
+++ b/parse-trac
@@ -24,6 +24,7 @@ $project =~ m/^([a-zA-Z-]+(\.[a-zA-Z-]+)*)+$/;
$project = $1;
die ("Project is not a nice name.\n") unless defined $project;
+my $is_base64 = 0;
open (MAIL, $ARGV[1]) || die ("Cannot open $ARGV[1]: $!\n");
my @mail = <MAIL>;
@@ -63,10 +64,17 @@ while (defined($line = shift @headers)) {
$url =~ s/^https:/http:/;
} elsif ($line =~ m/^X-Trac-Ticket-ID:\s*(.*)/i) {
$ticketid = $1;
+ } elsif ($line =~ m/^Content-Transfer-Encoding: base64$/s) {
+ $is_base64 = 1;
} elsif ($line =~ m/^$/) {
last;
}
};
+
+my $body = join '', @mail;
+$body = decode_base64($body) if ($is_base64);
+@mail = split(/\n/, $body);
+
my $first_line = shift @mail;
chomp $first_line;
shift @mail;