<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body smarttemplateinserted="true" text="#000000" bgcolor="#FFFFFF">
<br>
<br>
<div class="moz-cite-prefix">On 14-04-16 16:20, Vaclav Petras wrote:<br>
</div>
<blockquote
cite="mid:CABo5uVvH8mo=g8w-fsyoyPwgdWaf0R=KY31eQfmW=sut18D3nQ@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra"><br>
<div class="gmail_quote">On Thu, Apr 14, 2016 at 9:55 AM,
Paulo van Breugel <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:p.vanbreugel@gmail.com" target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:p.vanbreugel@gmail.com">p.vanbreugel@gmail.com</a></a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex"><span class="">
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div>I would have to go through the individual
examples but sometimes it might be be clear
what is a message to inform user about
something and what is a text output of the
module. A rule of thumb can be that modules
which output maps, (usually) don't do text
output, so they shouldn't use print().<br>
</div>
</div>
</div>
</div>
</blockquote>
<br>
</span> In this case (r.vif) the output is not a map, but
a list of values, i.e., text output (see below). Based on
the guidelines, I would assume I should use print()? <br>
</blockquote>
<div><br>
</div>
<div>Then print() is the right thing. I would recommend
finding a similar module and see its behavior. For
example, r.univar will give you human readable report and
also parseable output (in this case by
grass.script.parse_command()). Both are written to
standard output (the g.message wrappers use standard error
output).<br>
</div>
</div>
</div>
</div>
</blockquote>
<br>
OK, will do that<br>
<blockquote
cite="mid:CABo5uVvH8mo=g8w-fsyoyPwgdWaf0R=KY31eQfmW=sut18D3nQ@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex"> <br>
<pre>All variables</pre>
<pre>----------------------------------------</pre>
<pre>variable vif sqrtvif</pre>
<pre>2000_01_precip@climate_1970_2012 2.30 1.52</pre>
<pre>2000_03_tempmean@climate_1970_2012 24.95 5.00</pre>
<pre>2000_11_precip@climate_1970_2012 3.54 1.88</pre>
<pre>2001_02_precip@climate_1970_2012 4.55 2.13</pre>
<pre>2001_04_tempmean@climate_1970_2012 25.01 5.00</pre>
<pre>Variable '2001_04_tempmean@climate_1970_2012' removed</pre>
<pre>----------------------------------------</pre>
<pre>variable vif sqrtvif</pre>
<pre>2000_01_precip@climate_1970_2012 2.30 1.52</pre>
<pre>2000_03_tempmean@climate_1970_2012 2.19 1.48</pre>
<pre>2000_11_precip@climate_1970_2012 3.48 1.87</pre>
<pre>2001_02_precip@climate_1970_2012 4.54 2.13</pre>
<pre>Final selected variables are: 2000_01_precip, 2000_03_tempmean, 2000_11_precip, 2001_02_precip</pre>
<pre style="margin-bottom:0.5cm"><tt>with as maximum VIF: 5.69787583189</tt></pre>
<span class=""> <br>
</span></blockquote>
<div><br>
</div>
<div>This definitively looks like something from r.report or
<a moz-do-not-send="true" href="http://r.info">r.info</a>.<br>
<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex"><span class="">
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<blockquote class="gmail_quote"
style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div>Perhaps the most important thing is that
one should avoid mixing the two, which is
something that maybe could go somewhere in
the wiki?<br>
</div>
</blockquote>
<div><br>
Feel free to extent either wiki or guidelines
if you think it is not clear enough.<br>
</div>
</div>
</div>
</div>
</blockquote>
<br>
</span> I wouldn't mind doing so, but I probably should
understand better myself what exactly the issue is with
using both print() and <a moz-do-not-send="true"
href="http://grass.info" target="_blank">grass.info</a>()
in one script. Based on what I read in the guidelines, I
am not clear whether using both is against the guidelines
as such,</blockquote>
<div><br>
You can use both in one script. The difference is what you
use them for. For example, a lot of modules will tell
which map was created (this is done through g.message or
its C equivalents), while g.region -p will use standard
output. Some cases are unclear, for example v.in.lidar
uses standard output (fprintf(stdout,...)) to tell how
many points imported. G_message() might be more
appropriate here because it is an message to the user
while the output is the vector map. If G_message() would
be used, this output could be silenced by --quiet.<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">but technically it
seems it can cause problems as you explained (and I
experienced). <br>
<span class=""> </span></blockquote>
</div>
<br>
</div>
<div class="gmail_extra">They are mostly related to syncing of
stdout and strerr streams which is more challenging for the
GUI (and may need some fixing there).<br>
</div>
</div>
</blockquote>
<br>
</body>
</html>