<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>