<div dir="ltr"><div>no problem, I'll backport it.<br><br></div>Thanks.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 20, 2017 at 2:39 AM, Martin Landa <span dir="ltr"><<a href="mailto:landa.martin@gmail.com" target="_blank">landa.martin@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
are you planning to backport bugfixes to relb72? Thanks, Ma<br>
<div class="HOEnZb"><div class="h5"><br>
2017-02-20 1:15 GMT+01:00  <<a href="mailto:svn_grass@osgeo.org">svn_grass@osgeo.org</a>>:<br>
> Author: hcho<br>
> Date: 2017-02-19 16:15:14 -0800 (Sun, 19 Feb 2017)<br>
> New Revision: 70632<br>
><br>
> Modified:<br>
>    grass/trunk/scripts/v.report/<a href="http://v.report.py" rel="noreferrer" target="_blank">v<wbr>.report.py</a><br>
> Log:<br>
> v.report: Fix unit=percent<br>
><br>
> Modified: grass/trunk/scripts/v.report/<a href="http://v.report.py" rel="noreferrer" target="_blank">v<wbr>.report.py</a><br>
> ==============================<wbr>==============================<wbr>=======<br>
> --- grass/trunk/scripts/v.report/<a href="http://v.report.py" rel="noreferrer" target="_blank">v<wbr>.report.py</a>    2017-02-19 23:40:29 UTC (rev 70631)<br>
> +++ grass/trunk/scripts/v.report/<a href="http://v.report.py" rel="noreferrer" target="_blank">v<wbr>.report.py</a>    2017-02-20 00:15:14 UTC (rev 70632)<br>
> @@ -81,7 +81,7 @@<br>
>      else:<br>
>          extracolnames = [option]<br>
><br>
> -    if units in ['p', 'percent']:<br>
> +    if units == 'percent':<br>
>          unitsp = 'meters'<br>
>      elif units:<br>
>          unitsp = units<br>
> @@ -90,6 +90,7 @@<br>
><br>
>      # NOTE: we suppress -1 cat and 0 cat<br>
>      if isConnection:<br>
> +        f = grass.vector_db(map=mapname)[<wbr>int(layer)]<br>
>          p = grass.pipe_command('v.db.<wbr>select', quiet=True, map=mapname, layer=layer)<br>
>          records1 = []<br>
>          catcol = -1<br>
> @@ -97,12 +98,12 @@<br>
>              cols = line.rstrip('\r\n').split('|')<br>
>              if catcol == -1:<br>
>                  for i in range(0, len(cols)):<br>
> -                    if cols[i] == 'cat':<br>
> +                    if cols[i] == f['key']:<br>
>                          catcol = i<br>
>                          break<br>
>                  if catcol == -1:<br>
> -                    # shouldn't happen, but let's do this<br>
> -                    catcol = 0<br>
> +                    grass.fatal(_("There is a table connected to input vector map '%s', but "<br>
> +                                  "there is no key column '%s'.") % (mapname, f['key']))<br>
>                  continue<br>
>              if cols[catcol] == '-1' or cols[catcol] == '0':<br>
>                  continue<br>
> @@ -115,7 +116,6 @@<br>
><br>
>          if len(records1) == 0:<br>
>              try:<br>
> -                f = grass.vector_db(map=mapname)[<wbr>int(layer)]<br>
>                  grass.fatal(_("There is a table connected to input vector map '%s', but "<br>
>                                "there are no categories present in the key column '%s'. Consider using "<br>
>                                "v.to.db to correct this.") % (mapname, f['key']))<br>
> @@ -142,6 +142,7 @@<br>
>          for r2 in records2:<br>
>              records3.append(filter(lambda r1: r1[catcol] == r2[0], records1)[0] + r2[1:])<br>
>      else:<br>
> +        catcol = 0<br>
>          records1 = []<br>
>          p = grass.pipe_command('v.<wbr>category', inp=mapname, layer=layer, option='print')<br>
>          for line in p.stdout:<br>
> @@ -172,15 +173,18 @@<br>
>      numcols = len(colnames) + len(extracolnames)<br>
><br>
>      # calculate percents if requested<br>
> -    if units != '' and units in ['p', 'percent']:<br>
> -        # calculate total area value<br>
> -        areatot = 0<br>
> +    if units == 'percent' and option != 'coor':<br>
> +        # calculate total value<br>
> +        total = 0<br>
>          for r in records3:<br>
> -            areatot += float(r[-1])<br>
> +            total += float(r[-1])<br>
><br>
> -        # calculate area percentages<br>
> -        records4 = [float(r[-1]) * 100 / areatot for r in records3]<br>
> -        records3 = [r1 + [r4] for r1, r4 in zip(records1, records4)]<br>
> +        # calculate percentages<br>
> +        records4 = [float(r[-1]) * 100 / total for r in records3]<br>
> +        if type(records1[0]) == int:<br>
> +            records3 = [[r1] + [r4] for r1, r4 in zip(records1, records4)]<br>
> +        else:<br>
> +            records3 = [r1 + [r4] for r1, r4 in zip(records1, records4)]<br>
><br>
>      # sort results<br>
>      if options['sort']:<br>
><br>
> ______________________________<wbr>_________________<br>
> grass-commit mailing list<br>
> <a href="mailto:grass-commit@lists.osgeo.org">grass-commit@lists.osgeo.org</a><br>
> <a href="https://lists.osgeo.org/mailman/listinfo/grass-commit" rel="noreferrer" target="_blank">https://lists.osgeo.org/<wbr>mailman/listinfo/grass-commit</a><br>
<br>
<br>
<br>
</div></div><span class="HOEnZb"><font color="#888888">--<br>
Martin Landa<br>
<a href="http://geo.fsv.cvut.cz/gwiki/Landa" rel="noreferrer" target="_blank">http://geo.fsv.cvut.cz/gwiki/<wbr>Landa</a><br>
<a href="http://gismentors.cz/mentors/landa" rel="noreferrer" target="_blank">http://gismentors.cz/mentors/<wbr>landa</a><br>
</font></span></blockquote></div><br></div>