You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ta...@apache.org on 2018/03/28 16:46:28 UTC

[tika] 01/03: TIKA-2614 -- treat simple body inline, not as an attachment

This is an automated email from the ASF dual-hosted git repository.

tallison pushed a commit to branch branch_1x
in repository https://gitbox.apache.org/repos/asf/tika.git

commit 3ad2274753adadfe5685e1ca40e869f549ef56b5
Author: tballison <ta...@mitre.org>
AuthorDate: Wed Mar 28 11:33:16 2018 -0400

    TIKA-2614 -- treat simple body inline, not as an attachment
---
 .../org/apache/tika/parser/mail/MailContentHandler.java     |  2 +-
 .../java/org/apache/tika/parser/mail/RFC822ParserTest.java  |  7 +++++++
 .../test-documents/testRFC822_simple_inline_body.txt        | 13 +++++++++++++
 3 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/mail/MailContentHandler.java b/tika-parsers/src/main/java/org/apache/tika/parser/mail/MailContentHandler.java
index ddc32b8..42caf19 100644
--- a/tika-parsers/src/main/java/org/apache/tika/parser/mail/MailContentHandler.java
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/mail/MailContentHandler.java
@@ -213,7 +213,7 @@ class MailContentHandler implements ContentHandler {
             ByteArrayOutputStream bos = new ByteArrayOutputStream();
             IOUtils.copy(is, bos);
             alternativePartBuffer.peek().children.add(new BodyContents(submd, bos.toByteArray()));
-        } else if (!extractAllAlternatives && parts.size() == 1) {
+        } else if (!extractAllAlternatives && parts.size() < 2) {
             //if you're at the first level of embedding
             //and you're not in an alternative part block
             //and you're text/html, put that in the body of the email
diff --git a/tika-parsers/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java b/tika-parsers/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java
index 0e8c237..19498c9 100644
--- a/tika-parsers/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java
+++ b/tika-parsers/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java
@@ -690,4 +690,11 @@ public class RFC822ParserTest extends TikaTest {
         assertEquals("application/pdf", metadataList.get(1).get(Metadata.CONTENT_TYPE));
         assertEquals("/tzora-titan-4-hummer-xl-manual.pdf", metadataList.get(1).get(RecursiveParserWrapper.EMBEDDED_RESOURCE_PATH));
     }
+
+    @Test
+    public void testSimpleBodyInlined() throws Exception {
+        List<Metadata> metadataList = getRecursiveMetadata("testRFC822_simple_inline_body.txt");
+        assertEquals(1, metadataList.size());
+        assertContains("asked", metadataList.get(0).get(RecursiveParserWrapper.TIKA_CONTENT));
+    }
 }
diff --git a/tika-parsers/src/test/resources/test-documents/testRFC822_simple_inline_body.txt b/tika-parsers/src/test/resources/test-documents/testRFC822_simple_inline_body.txt
new file mode 100644
index 0000000..7afd0e1
--- /dev/null
+++ b/tika-parsers/src/test/resources/test-documents/testRFC822_simple_inline_body.txt
@@ -0,0 +1,13 @@
+Newsgroups: comp.unix.shell,comp.unix.questions,news.answers
+From: blah
+Subject: Csh Programming Considered Harmful 
+Message-ID: <19...@news.eng.convex.com>
+Date: Mon, 30 Nov 1992 12:34:49 GMT
+Organization: blah
+Lines: 496
+
+Archive-name: unix-faq/shell/csh-whynot
+Version: $Id: csh-faq,v 1.2 92/11/30 05:26:37 tchrist Exp Locker: tchrist $
+
+The following periodic article answers in excruciating detail
+the frequently asked question "Why shouldn't I program in csh?".
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
tallison@apache.org.