[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kdepim-addons] plugins/messageviewer/bodypartformatter/semantic: Add support for the new PDF extrac
From:       Volker Krause <null () kde ! org>
Date:       2018-04-30 15:27:21
Message-ID: E1fDAi1-0006HD-R4 () code ! kde ! org
[Download RAW message or body]

Git commit f3964e5a945c4bb41c6665d9aa6e609b62b1e371 by Volker Krause.
Committed on 30/04/2018 at 15:27.
Pushed by vkrause into branch 'master'.

Add support for the new PDF extractors

M  +8    -5    plugins/messageviewer/bodypartformatter/semantic/semanticprocessor.cpp

https://commits.kde.org/kdepim-addons/f3964e5a945c4bb41c6665d9aa6e609b62b1e371

diff --git a/plugins/messageviewer/bodypartformatter/semantic/semanticprocessor.cpp \
b/plugins/messageviewer/bodypartformatter/semantic/semanticprocessor.cpp index \
                e653336e..de568195 100644
--- a/plugins/messageviewer/bodypartformatter/semantic/semanticprocessor.cpp
+++ b/plugins/messageviewer/bodypartformatter/semantic/semanticprocessor.cpp
@@ -25,6 +25,7 @@
 #include <KItinerary/ExtractorPreprocessor>
 #include <KItinerary/ExtractorPostprocessor>
 #include <KItinerary/JsonLdDocument>
+#include <KItinerary/PdfDocument>
 #include <KItinerary/StructuredDataExtractor>
 
 #include <KPkPass/Pass>
@@ -102,20 +103,22 @@ MimeTreeParser::MessagePart::Ptr \
                SemanticProcessor::process(MimeTreeParser::Inte
     qCDebug(SEMANTIC_LOG) << "Found unstructured extractor rules for message" << \
extractors.size();  
     ExtractorPreprocessor preproc;
+    std::unique_ptr<PdfDocument> pdfDoc;
     if (part.content()->contentType()->isPlainText()) {
         preproc.preprocessPlainText(part.content()->decodedText());
     } else if (part.content()->contentType()->isHTMLText()) {
         preproc.preprocessHtml(part.content()->decodedText());
     } else if (part.content()->contentType()->mimeType() == "application/pdf") {
-        preproc.preprocessPdf(part.content()->decodedContent());
+        pdfDoc.reset(PdfDocument::fromData(part.content()->decodedContent()));
     }
 
+    ExtractorEngine engine;
+    engine.setSenderDate(static_cast<KMime::Message \
*>(part.content()->topLevel())->date()->dateTime()); +    \
engine.setText(preproc.text()); +    engine.setPass(pass.get());
+    engine.setPdfDocument(pdfDoc.get());
     for (auto extractor : extractors) {
-        ExtractorEngine engine;
         engine.setExtractor(extractor);
-        engine.setSenderDate(static_cast<KMime::Message \
                *>(part.content()->topLevel())->date()->dateTime());
-        engine.setText(preproc.text());
-        engine.setPass(pass.get());
         const auto data = engine.extract();
         qCDebug(SEMANTIC_LOG).noquote() << QJsonDocument(data).toJson();
         const auto decodedData = JsonLdDocument::fromJson(data);


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic