<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/127158/">https://git.reviewboard.kde.org/r/127158/</a>
     </td>
    </tr>
   </table>
   <br />





 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I think the very first thing you should do is divide the whole thing into multiple patches, and thus 3 review requests. Discard this one and file 3 new ones.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The three should be - one that adds all the write functionality, one that adds the external reader, and one that adds the external writer. In any case, as they're three different major features, you'll have to commit them in three different commits anyway.</p></pre>
 <br />









<p>- Boudhayan Gupta</p>


<br />
<p>On February 24th, 2016, 3:33 a.m. IST, Varun Joshi wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for Baloo, KDE Frameworks and Vishesh Handa.</div>
<div>By Varun Joshi.</div>


<p style="color: grey;"><i>Updated Feb. 24, 2016, 3:33 a.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kfilemetadata
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Builds upon Boudhyan Gupta's work on external extractors, creating a process that runs a script that extracts/writes data, accepting input and producing an output (JSON-formatted) via stdin/stdout.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Adds Writer, WriterData, WriterPlugin and WriterCollection classes, analogous to the Extractor classes. The only notable difference is that consumer applications will be able to use WriteData (analogous to ExtractionResult) without subclassing it.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Adds ExternalWriter and ExternalExtractor classes. These handle input/output and communication with the external plugins.</p></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Created a sample PDF reader and extractor in Python, both of which work successfully.</p></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>README.md <span style="color: grey">(19b1a26a241e6a35c636aaf8162afe762018f073)</span></li>

 <li>autotests/CMakeLists.txt <span style="color: grey">(9d308367838680f1081cfa3b583d3401412c21c1)</span></li>

 <li>autotests/taglibwritertest.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>autotests/taglibwritertest.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/CMakeLists.txt <span style="color: grey">(a5490856a51aa2f59389ee963f3430c1ce5c60d5)</span></li>

 <li>src/config-kfilemetadata.h.in <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/externalextractor.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/externalextractor.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/externalwriter.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/externalwriter.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/extractorcollection.h <span style="color: grey">(8542aed576102be2b0c86bbdf3d65d756d468c6e)</span></li>

 <li>src/extractorcollection.cpp <span style="color: grey">(a1bde65bf57e493918cd3e85ccdb23c4cd623401)</span></li>

 <li>src/extractorplugin.h <span style="color: grey">(65abad3b2397628ba42a40d9ef2970e02114e250)</span></li>

 <li>src/extractors/CMakeLists.txt <span style="color: grey">(5dd223e1cf6864a943e848664ad5fae0d0603e77)</span></li>

 <li>src/extractors/externalextractors/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/extractors/externalextractors/exampleextractor/main.py <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/extractors/externalextractors/exampleextractor/manifest.json <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/extractors/externalextractors/pdfextractor/main.py <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/extractors/externalextractors/pdfextractor/manifest.json <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/writedata.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/writedata.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/writer.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/writer.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/writer_p.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/writercollection.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/writercollection.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/writerplugin.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/writerplugin.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/writers/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/writers/externalwriters/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/writers/externalwriters/pdfwriter/main.py <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/writers/externalwriters/pdfwriter/manifest.json <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/writers/taglibwriter.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/writers/taglibwriter.cpp <span style="color: grey">(PRE-CREATION)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/127158/diff/" style="margin-left: 3em;">View Diff</a></p>






  </td>
 </tr>
</table>







  </div>
 </body>
</html>