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





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On February 6th, 2014, 1:56 p.m. CET, <b>Alex Merry</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Instant issue: the README.md claims that yapgvb is only needed to generate the diagrams, but not having it installed causes kgenframeworksapidocs to fail with an ImportError (it imports depdiagram, which imports yapgvb).  You need to catch and handle that ImportError in a sensible way (perhaps produce an error if the user asked for dep diagrams).

Second thing: why call dot directly instead of using yapgvb to render to PNG?  Although it looks like tred might not be an option in that case...

Third thing: have you tested with python3?</pre>
 </blockquote>




 <p>On February 6th, 2014, 2:08 p.m. CET, <b>Aurélien Gâteau</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">> Instant issue: the README.md claims that yapgvb is only needed to generate the diagrams, but not having it installed causes kgenframeworksapidocs to fail with an ImportError (it imports depdiagram, which imports yapgvb).  You need to catch and handle that ImportError in a sensible way (perhaps produce an error if the user asked for dep diagrams).

Good point. Will fix.

> Second thing: why call dot directly instead of using yapgvb to render to PNG?  Although it looks like tred might not be an option in that case...

I don't trust yapgvb much as it has proven to be not very stable, so I'd rather use the minimum from it. Furthermore, as you said, we would not be able to use tred. An alternative approach would be to store the end diagram as a .dot file and let Doxygen do the rendering, though I am not sure we would gain much from this.

> Third thing: have you tested with python3?

No. I don't think we should care too much about Python 3. I'd rather have it well debugged and working with one interpreter.

</pre>
 </blockquote>





 <p>On February 6th, 2014, 2:24 p.m. CET, <b>Alex Merry</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">> I don't trust yapgvb much as it has proven to be not very stable, so I'd rather use the minimum from it. Furthermore, as you said, we would not be able to use tred. An alternative approach would be to store the end diagram as a .dot file and let Doxygen do the rendering, though I am not sure we would gain much from this.

Fair enough, although did you look at pygraphviz as an alternative?  That appears to mostly interface with the tools.

> No. I don't think we should care too much about Python 3. I'd rather have it well debugged and working with one interpreter.

Currently, I believe it's running under Python 3 on the EBN (although Python 2 is available there).  So... that's something to consider.</pre>
 </blockquote>








</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">> Fair enough, although did you look at pygraphviz as an alternative?  That appears to mostly interface with the tools.

I did: the problem with pygraphviz is that it does not extract enough information: a node is just a string, which is not enough because we need to know the node shape to determine the target kind (see TARGET_SHAPES in frameworkdb.py).

> Currently, I believe it's running under Python 3 on the EBN (although Python 2 is available there).  So... that's something to consider.

Oh, I did not know that. That would be a problem: right now yapgvb does not build with Python 3, and since the project is quite inactive, I doubt it is going to change anytime soon.

</pre>
<br />










<p>- Aurélien</p>


<br />
<p>On February 5th, 2014, 3:43 p.m. CET, Aurélien Gâteau wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for KDE Frameworks, Alex Merry and Aurélien Gâteau.</div>
<div>By Aurélien Gâteau.</div>


<p style="color: grey;"><i>Updated Feb. 5, 2014, 3:43 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kapidox
</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;">This big patch moves code from depdiagram-prepare and depdiagram-generate to Python modules and make kgenframeworksapidox use those modules to generate the dependency frameworks.

This only happens when it is called with the --dependency-diagrams option.

Since the patch is going to be painful to review here, I also uploaded the patchset here: http://agateau.com/tmp/kapidox-depdiagram-integration</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;">Generated the whole thing, works as expected.</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>src/depdiagram-generate <span style="color: grey">(adabe27)</span></li>

 <li>src/depdiagram-prepare <span style="color: grey">(3d133d9)</span></li>

 <li>src/kapidox/__init__.py <span style="color: grey">(0024723)</span></li>

 <li>src/kapidox/data/dependencies.md <span style="color: grey">(5e30d09)</span></li>

 <li>src/kapidox/data/dependencies.md.mustache <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/kapidox/depdiagram/__init__.py <span style="color: grey">(e69de29)</span></li>

 <li>src/kapidox/depdiagram/frameworkdb.py <span style="color: grey">(9b63c8b)</span></li>

 <li>src/kapidox/depdiagram/generate.py <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/kapidox/depdiagram/prepare.py <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/kgenframeworksapidox <span style="color: grey">(ac34f2c)</span></li>

</ul>

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







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








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