[Qa-jenkins-scm] [jenkins.debian.net] 01/02: YOLO: try to parse quoted-printable continuation lines
Holger Levsen
holger at layer-acht.org
Tue Nov 22 23:03:01 UTC 2016
This is an automated email from the git hooks/post-receive script.
holger pushed a commit to branch master
in repository jenkins.debian.net.
commit 5fce99cb4e263f93655f17f4062a3379b7be1daf
Author: Holger Levsen <holger at layer-acht.org>
Date: Wed Nov 23 00:00:30 2016 +0100
YOLO: try to parse quoted-printable continuation lines
Signed-off-by: Holger Levsen <holger at layer-acht.org>
---
bin/email2irc.sh | 34 ++++++++++++++++++++++++----------
1 file changed, 24 insertions(+), 10 deletions(-)
diff --git a/bin/email2irc.sh b/bin/email2irc.sh
index 5909b50..450ca0d 100755
--- a/bin/email2irc.sh
+++ b/bin/email2irc.sh
@@ -23,6 +23,7 @@ DEBUG=false
HEADER=true
VALID_MAIL=false
MY_LINE=""
+MY_2ND_LINE=""
while read -r line ; do
if [ "$HEADER" = "true" ] ; then
# check if email header ends
@@ -58,18 +59,31 @@ while read -r line ; do
if [ "$HEADER" = "false" ] && [ -z "$MY_LINE" ] ; then
MY_LINE=$line
debug123 "#1" MY_LINE $MY_LINE
- # if this is a multipart email it comes from the email extension plugin
- if [ "${line:0:7}" = "------=" ] || [ "${line:0:9}" = "Content-T" ] ; then
- debug123 "#2" line $line
- MY_LINE=""
+ if [ ! -z "$MY_2ND_LINE" ] ; then
+ # if this is a multipart email it comes from the email extension plugin
+ if [ "${line:0:7}" = "------=" ] || [ "${line:0:9}" = "Content-T" ] ; then
+ debug123 "#2" line $line
+ MY_LINE=""
+ else
+ debug123 "#3" line $line
+ MY_LINE=$(echo $line | tr -d \< | tr -d \> | cut -d " " -f1-2)
+ debug123 "#4" MY_LINE $MY_LINE
+ fi
+ # deal with quoted-printable continuation lines: 1st line/time
+ # if $MY_LINE ends with '=', then append the next line to $MY_LINE,
+ # changing the '=' to a single space.
+ if [[ $MY_LINE =~ ^(.*)=$ ]] ; then
+ MY_2ND_LINE=$MY_LINE
+ MY_LINE=""
+ fi
else
- debug123 "#3" line $line
- MY_LINE=$(echo $line | tr -d \< | tr -d \> | cut -d " " -f1-2)
- debug123 "#4" MY_LINE $MY_LINE
+ # deal with quoted-printable continuation lines: 2nd line/time
+ # if $MY_LINE ends with '=', then append the next line to $MY_LINE,
+ # TODO: changing the '=' to a single space.
+ MY_LINE="$MY_LINE $MY_2ND_LINE"
+ debug123 "#5" MY_LINE $MY_LINE
+ debug123 "#6" MY_2ND_LINE $MY_2ND_LINE
fi
- # TODO: deal with quoted-printable continuation lines:
- # if $MY_LINE ends with '=', then append the next line to $MY_LINE,
- # changing the '=' to a single space.
fi
done
# check that it's a valid job
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/qa/jenkins.debian.net.git
More information about the Qa-jenkins-scm
mailing list