diff --git a/gui/wxpython/core/settings.py b/gui/wxpython/core/settings.py index a4f2b60e3fd..f98e9bddd38 100644 --- a/gui/wxpython/core/settings.py +++ b/gui/wxpython/core/settings.py @@ -1221,14 +1221,15 @@ def GetDisplayVectSettings(): else: settings.append("fcolor=none") - settings.append( - "width=%s" % UserSettings.Get(group="vectorLayer", key="line", subkey="width") - ) - settings.append( - "icon=%s" % UserSettings.Get(group="vectorLayer", key="point", subkey="symbol") - ) - settings.append( - "size=%s" % UserSettings.Get(group="vectorLayer", key="point", subkey="size") + settings.extend( + ( + "width=%s" + % UserSettings.Get(group="vectorLayer", key="line", subkey="width"), + "icon=%s" + % UserSettings.Get(group="vectorLayer", key="point", subkey="symbol"), + "size=%s" + % UserSettings.Get(group="vectorLayer", key="point", subkey="size"), + ) ) types = [] for ftype in ["point", "line", "boundary", "centroid", "area", "face"]: diff --git a/gui/wxpython/datacatalog/dialogs.py b/gui/wxpython/datacatalog/dialogs.py index 5e463e83543..aef9aead7bd 100644 --- a/gui/wxpython/datacatalog/dialogs.py +++ b/gui/wxpython/datacatalog/dialogs.py @@ -210,13 +210,17 @@ def _estimateResampling(self): def OnReproject(self, event): cmd = [] if self.etype == "raster": - cmd.append("r.proj") - cmd.append("dbase=" + self.iGisdbase) - cmd.append("project=" + self.iLocation) - cmd.append("mapset=" + self.iMapset) - cmd.append("input=" + self.iLayer) - cmd.append("output=" + self.oLayer) - cmd.append("method=" + self.resampling.GetStringSelection()) + cmd.extend( + ( + "r.proj", + "dbase=" + self.iGisdbase, + "project=" + self.iLocation, + "mapset=" + self.iMapset, + "input=" + self.iLayer, + "output=" + self.oLayer, + "method=" + self.resampling.GetStringSelection(), + ) + ) self.oEnv["GRASS_REGION"] = region_env( n=self.params["n"], @@ -228,13 +232,17 @@ def OnReproject(self, event): env=self.oEnv, ) else: - cmd.append("v.proj") - cmd.append("dbase=" + self.iGisdbase) - cmd.append("project=" + self.iLocation) - cmd.append("mapset=" + self.iMapset) - cmd.append("input=" + self.iLayer) - cmd.append("output=" + self.oLayer) - cmd.append("smax=" + self.vsplit.GetValue()) + cmd.extend( + ( + "v.proj", + "dbase=" + self.iGisdbase, + "project=" + self.iLocation, + "mapset=" + self.iMapset, + "input=" + self.iLayer, + "output=" + self.oLayer, + "smax=" + self.vsplit.GetValue(), + ) + ) self._giface.RunCmd( cmd, diff --git a/gui/wxpython/gcp/manager.py b/gui/wxpython/gcp/manager.py index cee0ff416f3..a938ae49f6c 100644 --- a/gui/wxpython/gcp/manager.py +++ b/gui/wxpython/gcp/manager.py @@ -2909,10 +2909,14 @@ def GetValues(self, columns=None): except ValueError: return valuelist - valuelist.append(self.xcoord.GetValue()) - valuelist.append(self.ycoord.GetValue()) - valuelist.append(self.ecoord.GetValue()) - valuelist.append(self.ncoord.GetValue()) + valuelist.extend( + ( + self.xcoord.GetValue(), + self.ycoord.GetValue(), + self.ecoord.GetValue(), + self.ncoord.GetValue(), + ) + ) return valuelist diff --git a/gui/wxpython/gui_core/query.py b/gui/wxpython/gui_core/query.py index 3a250af4d42..0dfd21d8765 100644 --- a/gui/wxpython/gui_core/query.py +++ b/gui/wxpython/gui_core/query.py @@ -127,9 +127,13 @@ def ShowContextMenu(self, node): col1 = "\n".join([val[1] for val in values if val[1]]) col2 = "\n".join([val[0] for val in values if val[0]]) table = "\n".join([val[0] + ": " + val[1] for val in values]) - texts.append((_("Copy from '%s' column") % self._colNames[1], col1)) - texts.append((_("Copy from '%s' column") % self._colNames[0], col2)) - texts.append((_("Copy selected lines"), table)) + texts.extend( + ( + (_("Copy from '%s' column") % self._colNames[1], col1), + (_("Copy from '%s' column") % self._colNames[0], col2), + (_("Copy selected lines"), table), + ) + ) else: label1 = nodes[0].label texts.append((_("Copy '%s'" % self._cutLabel(label1)), label1)) diff --git a/gui/wxpython/image2target/ii2t_manager.py b/gui/wxpython/image2target/ii2t_manager.py index 2367c053748..6b543ec2356 100644 --- a/gui/wxpython/image2target/ii2t_manager.py +++ b/gui/wxpython/image2target/ii2t_manager.py @@ -2855,12 +2855,16 @@ def GetValues(self, columns=None): except ValueError: return valuelist - valuelist.append(self.xcoord.GetValue()) - valuelist.append(self.ycoord.GetValue()) - valuelist.append(self.zcoord.GetValue()) - valuelist.append(self.ecoord.GetValue()) - valuelist.append(self.ncoord.GetValue()) - valuelist.append(self.hcoord.GetValue()) + valuelist.extend( + ( + self.xcoord.GetValue(), + self.ycoord.GetValue(), + self.zcoord.GetValue(), + self.ecoord.GetValue(), + self.ncoord.GetValue(), + self.hcoord.GetValue(), + ) + ) return valuelist diff --git a/gui/wxpython/iscatt/plots.py b/gui/wxpython/iscatt/plots.py index 9930364c1b3..ba951e0eec3 100644 --- a/gui/wxpython/iscatt/plots.py +++ b/gui/wxpython/iscatt/plots.py @@ -241,8 +241,9 @@ def Plot(self, cats_order, scatts, ellipses, styles): aspect="equal", ) - callafter_list.append([self.axes.draw_artist, [img]]) - callafter_list.append([gs.try_remove, [merged_img.filename]]) + callafter_list.extend( + ([self.axes.draw_artist, [img]], [gs.try_remove, [merged_img.filename]]) + ) for cat_id in cats_order: if cat_id == 0: diff --git a/gui/wxpython/mapwin/buffered.py b/gui/wxpython/mapwin/buffered.py index ad7bcd986a1..d8d7a3fb667 100644 --- a/gui/wxpython/mapwin/buffered.py +++ b/gui/wxpython/mapwin/buffered.py @@ -1072,11 +1072,15 @@ def DrawCompRegionExtent(self): reg = dispReg if utils.isInRegion(dispReg, compReg) else compReg regionCoords = [] - regionCoords.append((reg["w"], reg["n"])) - regionCoords.append((reg["e"], reg["n"])) - regionCoords.append((reg["e"], reg["s"])) - regionCoords.append((reg["w"], reg["s"])) - regionCoords.append((reg["w"], reg["n"])) + regionCoords.extend( + ( + (reg["w"], reg["n"]), + (reg["e"], reg["n"]), + (reg["e"], reg["s"]), + (reg["w"], reg["s"]), + (reg["w"], reg["n"]), + ) + ) # draw region extent self.polypen = wx.Pen( diff --git a/gui/wxpython/modules/extensions.py b/gui/wxpython/modules/extensions.py index 2b83bd8e040..ed6159a5f41 100644 --- a/gui/wxpython/modules/extensions.py +++ b/gui/wxpython/modules/extensions.py @@ -84,8 +84,7 @@ def __init__( task = gtask.parse_interface("g.extension") ignoreFlags = ["l", "c", "g", "a", "f", "t", "help", "quiet"] if sys.platform == "win32": - ignoreFlags.append("d") - ignoreFlags.append("i") + ignoreFlags.extend(("d", "i")) for f in task.get_options()["flags"]: name = f.get("name", "") diff --git a/gui/wxpython/photo2image/ip2i_manager.py b/gui/wxpython/photo2image/ip2i_manager.py index 10439b7b390..35744401366 100644 --- a/gui/wxpython/photo2image/ip2i_manager.py +++ b/gui/wxpython/photo2image/ip2i_manager.py @@ -1977,10 +1977,14 @@ def GetValues(self, columns=None): except ValueError: return valuelist - valuelist.append(self.xcoord.GetValue()) - valuelist.append(self.ycoord.GetValue()) - valuelist.append(self.ecoord.GetValue()) - valuelist.append(self.ncoord.GetValue()) + valuelist.extend( + ( + self.xcoord.GetValue(), + self.ycoord.GetValue(), + self.ecoord.GetValue(), + self.ncoord.GetValue(), + ) + ) return valuelist diff --git a/gui/wxpython/psmap/frame.py b/gui/wxpython/psmap/frame.py index 650d970b10d..4166ea63676 100644 --- a/gui/wxpython/psmap/frame.py +++ b/gui/wxpython/psmap/frame.py @@ -368,8 +368,7 @@ def PSFile(self, filename=None, pdf=False): cmd.append("-e") if self.instruction[self.pageId]["Orientation"] == "Landscape": cmd.append("-r") - cmd.append("input=%s" % instrFile) - cmd.append("output=%s" % filename) + cmd.extend(("input=%s" % instrFile, "output=%s" % filename)) if pdf: self.SetStatusText(_("Generating PDF..."), 0) elif not temp: diff --git a/gui/wxpython/timeline/frame.py b/gui/wxpython/timeline/frame.py index b8b4fa3c2fd..a90fb44ffdb 100644 --- a/gui/wxpython/timeline/frame.py +++ b/gui/wxpython/timeline/frame.py @@ -630,10 +630,14 @@ def InfoFormat(timeData, datasetName, mapIndex): elif etype == "str3ds": text.append(_("Space time 3D raster dataset: %s") % name) - text.append(_("Mapset: %s") % mapset) - text.append(_("Map name: %s") % timeData[datasetName]["names"][mapIndex]) - text.append(_("Start time: %s") % timeData[datasetName]["start_datetime"][mapIndex]) - text.append(_("End time: %s") % timeData[datasetName]["end_datetime"][mapIndex]) + text.extend( + ( + _("Mapset: %s") % mapset, + _("Map name: %s") % timeData[datasetName]["names"][mapIndex], + _("Start time: %s") % timeData[datasetName]["start_datetime"][mapIndex], + _("End time: %s") % timeData[datasetName]["end_datetime"][mapIndex], + ) + ) if not timeData[datasetName]["validTopology"]: text.append(_("WARNING: invalid topology")) diff --git a/gui/wxpython/tplot/frame.py b/gui/wxpython/tplot/frame.py index 5a035657455..48f8008412f 100755 --- a/gui/wxpython/tplot/frame.py +++ b/gui/wxpython/tplot/frame.py @@ -1368,8 +1368,9 @@ def InfoFormat(timeData, values): elif etype == "str3ds": text.append(_("Space time 3D raster dataset: %s") % key) - text.append(_("Value for {date} is {val}".format(date=val[0], val=val[1]))) - text.append("\n") + text.extend( + (_("Value for {date} is {val}".format(date=val[0], val=val[1])), "\n") + ) text.append(_("Press Del to dismiss.")) return "\n".join(text) diff --git a/gui/wxpython/vnet/dialogs.py b/gui/wxpython/vnet/dialogs.py index c82bc25a157..d7b3bb05849 100644 --- a/gui/wxpython/vnet/dialogs.py +++ b/gui/wxpython/vnet/dialogs.py @@ -582,8 +582,12 @@ def OnPageChanged(self, event): """Tab switched""" if event.GetEventObject() == self.notebook: dbMgrIndxs = [] - dbMgrIndxs.append(self.notebook.GetPageIndexByName("inputDbMgr")) - dbMgrIndxs.append(self.notebook.GetPageIndexByName("resultDbMgr")) + dbMgrIndxs.extend( + ( + self.notebook.GetPageIndexByName("inputDbMgr"), + self.notebook.GetPageIndexByName("resultDbMgr"), + ) + ) if self.notebook.GetSelection() in dbMgrIndxs: self.stBar.AddStatusItem( text=_("Loading tables..."), diff --git a/gui/wxpython/vnet/vnet_core.py b/gui/wxpython/vnet/vnet_core.py index 97f40458008..deaf11ff670 100644 --- a/gui/wxpython/vnet/vnet_core.py +++ b/gui/wxpython/vnet/vnet_core.py @@ -485,11 +485,13 @@ def _vnetPathRunAn(self, analysis, output, params, flags, catPts): else: cmdParams.append("input=" + params["input"]) - cmdParams.append("file=" + self.coordsTmpFile) - - cmdParams.append("dmax=" + str(params["max_dist"])) - - cmdParams.append("--overwrite") + cmdParams.extend( + ( + "file=" + self.coordsTmpFile, + "dmax=" + str(params["max_dist"]), + "--overwrite", + ) + ) self._prepareCmd(cmd=cmdParams) if flags["t"]: @@ -697,8 +699,9 @@ def _runAn(self, analysis, output, params, flags, catPts): if not self.tmpInPtsConnected: return False - cmdParams.append("input=" + self.tmpInPtsConnected.GetVectMapName()) - cmdParams.append("--overwrite") + cmdParams.extend( + ("input=" + self.tmpInPtsConnected.GetVectMapName(), "--overwrite") + ) self._setCmdForSpecificAn(cmdParams) diff --git a/gui/wxpython/vnet/vnet_data.py b/gui/wxpython/vnet/vnet_data.py index f7803439e60..0d84fe6f46a 100644 --- a/gui/wxpython/vnet/vnet_data.py +++ b/gui/wxpython/vnet/vnet_data.py @@ -562,8 +562,7 @@ def GetColumns(self, only_relevant=True): cols_data = deepcopy(self.cols) hidden_cols = [] - hidden_cols.append(self.cols["name"].index("e")) - hidden_cols.append(self.cols["name"].index("n")) + hidden_cols.extend((self.cols["name"].index("e"), self.cols["name"].index("n"))) analysis, valid = self.an_params.GetParam("analysis") if only_relevant and len(self.an_data[analysis]["cmdParams"]["cats"]) <= 1: diff --git a/man/parser_standard_options.py b/man/parser_standard_options.py index 554c0846203..dd9c7dd6a35 100644 --- a/man/parser_standard_options.py +++ b/man/parser_standard_options.py @@ -138,22 +138,22 @@ def html(self, endline="\n", indent=" ", toptions="border=1"): """Return a HTML table with the options""" html = ["".format(" " + toptions if toptions else "")] # write headers - html.append(indent + "") - html.append(indent + "") - html.append(indent * 2 + "{0}".format("option")) + html.extend( + ( + indent + "", + indent + "", + indent * 2 + "{0}".format("option"), + ) + ) for col in self.columns: html.append(indent * 2 + "{0}".format(col)) - html.append(indent + "") - html.append(indent + "") - html.append(indent + "") + html.extend((indent + "", indent + "", indent + "")) for optname, options in self.options: - html.append(indent + "") - html.append(indent * 2 + "{0}".format(optname)) + html.extend((indent + "", indent * 2 + "{0}".format(optname))) for col in self.columns: html.append(indent * 2 + "{0}".format(options.get(col, ""))) html.append(indent + "") - html.append(indent + "") - html.append("") + html.extend((indent + "", "")) return endline.join(html) def _repr_html_(self): diff --git a/pyproject.toml b/pyproject.toml index f7cc89a7257..7bce17922b2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -159,7 +159,6 @@ ignore = [ "FURB103", # write-whole-file. "FURB105", # print-empty-string "FURB110", # if-exp-instead-of-or-operator - "FURB113", # repeated-append "FURB116", # f-string-number-format "FURB116", # f-string-number-format "FURB118", # reimplemented-operator diff --git a/python/grass/gunittest/runner.py b/python/grass/gunittest/runner.py index 891e1b65a5a..f1758e2e08b 100644 --- a/python/grass/gunittest/runner.py +++ b/python/grass/gunittest/runner.py @@ -269,28 +269,28 @@ def stopTestRun(self): # write test details and just write status=failed if not run: run = errored + failed + succeeded - infos.append("total=%d" % (run)) - - infos.append("failures=%d" % failed) - infos.append("errors=%d" % errored) - infos.append("successes=%d" % succeeded) - infos.append("skipped=%d" % skipped) - - # TODO: document this: if not supported by view, - # expected_failures should be counted as failures and vice versa - # or both add to skipped as unclear? - infos.append("expected_failures=%d" % expectedFails) - infos.append("unexpected_successes=%d" % unexpectedSuccesses) - - # TODO: include each module just once? list good and bad modules? - infos.append("tested_modules=%s" % ",".join(self._grass_modules)) - infos.append("supplementary_files=%s" % ",".join(self._supplementary_files)) - - # module, modules?, c, c++?, python - # TODO: include also type modules? - # TODO: include also C++ code? - # TODO: distinguish C and Python modules? - infos.append("test_type=%s" % (self.test_type)) + infos.extend( + ( + "total=%d" % (run), + "failures=%d" % failed, + "errors=%d" % errored, + "successes=%d" % succeeded, + "skipped=%d" % skipped, + # TODO: document this: if not supported by view, + # expected_failures should be counted as failures and vice versa + # or both add to skipped as unclear? + "expected_failures=%d" % expectedFails, + "unexpected_successes=%d" % unexpectedSuccesses, + # TODO: include each module just once? list good and bad modules? + "tested_modules=%s" % ",".join(self._grass_modules), + "supplementary_files=%s" % ",".join(self._supplementary_files), + # module, modules?, c, c++?, python + # TODO: include also type modules? + # TODO: include also C++ code? + # TODO: distinguish C and Python modules? + "test_type=%s" % (self.test_type), + ) + ) self._stream.write("\n".join(infos)) self._stream.write("\n") diff --git a/python/grass/pygrass/vector/testsuite/test_geometry.py b/python/grass/pygrass/vector/testsuite/test_geometry.py index d4ad7431278..c3ad5b6cd63 100644 --- a/python/grass/pygrass/vector/testsuite/test_geometry.py +++ b/python/grass/pygrass/vector/testsuite/test_geometry.py @@ -336,17 +336,13 @@ def test_boundaries_1(self): self.assertEqual(len(boundaries), 4) string_list = [] - string_list.append( - "LINESTRING (0.0000000000000000 0.0000000000000000, 0.0000000000000000 4.0000000000000000)" - ) - string_list.append( - "LINESTRING (0.0000000000000000 4.0000000000000000, 4.0000000000000000 4.0000000000000000)" - ) - string_list.append( - "LINESTRING (4.0000000000000000 4.0000000000000000, 4.0000000000000000 0.0000000000000000)" - ) - string_list.append( - "LINESTRING (4.0000000000000000 0.0000000000000000, 0.0000000000000000 0.0000000000000000)" + string_list.extend( + ( + "LINESTRING (0.0000000000000000 0.0000000000000000, 0.0000000000000000 4.0000000000000000)", + "LINESTRING (0.0000000000000000 4.0000000000000000, 4.0000000000000000 4.0000000000000000)", + "LINESTRING (4.0000000000000000 4.0000000000000000, 4.0000000000000000 0.0000000000000000)", + "LINESTRING (4.0000000000000000 0.0000000000000000, 0.0000000000000000 0.0000000000000000)", + ) ) for boundary, i in zip(boundaries, range(4)): diff --git a/python/grass/temporal/temporal_algebra.py b/python/grass/temporal/temporal_algebra.py index 6bf96eea68e..3c209f97207 100644 --- a/python/grass/temporal/temporal_algebra.py +++ b/python/grass/temporal/temporal_algebra.py @@ -1728,8 +1728,7 @@ def compare_bool_value( is True ): if count == 0: - condition_value_list.append(compop[0]) - condition_value_list.append("(") + condition_value_list.extend((compop[0], "(")) for boolean in relationmap.condition_value: if isinstance(boolean, bool): if count > 0: diff --git a/python/grass/temporal/temporal_granularity.py b/python/grass/temporal/temporal_granularity.py index c23dd701c5c..94aa3b124aa 100644 --- a/python/grass/temporal/temporal_granularity.py +++ b/python/grass/temporal/temporal_granularity.py @@ -1000,14 +1000,19 @@ def compute_common_absolute_time_granularity_simple(gran_list): seconds.append(days[0] * 60 * 60 * 24) if has_months: months.sort() - seconds.append(months[0] * 60 * 60 * 24 * 28) - seconds.append(months[0] * 60 * 60 * 24 * 29) - seconds.append(months[0] * 60 * 60 * 24 * 30) - seconds.append(months[0] * 60 * 60 * 24 * 31) + seconds.extend( + ( + months[0] * 60 * 60 * 24 * 28, + months[0] * 60 * 60 * 24 * 29, + months[0] * 60 * 60 * 24 * 30, + months[0] * 60 * 60 * 24 * 31, + ) + ) if has_years: years.sort() - seconds.append(years[0] * 60 * 60 * 24 * 365) - seconds.append(years[0] * 60 * 60 * 24 * 366) + seconds.extend( + (years[0] * 60 * 60 * 24 * 365, years[0] * 60 * 60 * 24 * 366) + ) num = gcd_list(seconds) gran = "second" @@ -1024,14 +1029,17 @@ def compute_common_absolute_time_granularity_simple(gran_list): minutes.append(days[0] * 60 * 24) if has_months: months.sort() - minutes.append(months[0] * 60 * 24 * 28) - minutes.append(months[0] * 60 * 24 * 29) - minutes.append(months[0] * 60 * 24 * 30) - minutes.append(months[0] * 60 * 24 * 31) + minutes.extend( + ( + months[0] * 60 * 24 * 28, + months[0] * 60 * 24 * 29, + months[0] * 60 * 24 * 30, + months[0] * 60 * 24 * 31, + ) + ) if has_years: years.sort() - minutes.append(years[0] * 60 * 24 * 365) - minutes.append(years[0] * 60 * 24 * 366) + minutes.extend((years[0] * 60 * 24 * 365, years[0] * 60 * 24 * 366)) num = gcd_list(minutes) gran = "minute" if num > 1: @@ -1044,14 +1052,17 @@ def compute_common_absolute_time_granularity_simple(gran_list): hours.append(days[0] * 24) if has_months: months.sort() - hours.append(months[0] * 24 * 28) - hours.append(months[0] * 24 * 29) - hours.append(months[0] * 24 * 30) - hours.append(months[0] * 24 * 31) + hours.extend( + ( + months[0] * 24 * 28, + months[0] * 24 * 29, + months[0] * 24 * 30, + months[0] * 24 * 31, + ) + ) if has_years: years.sort() - hours.append(years[0] * 24 * 365) - hours.append(years[0] * 24 * 366) + hours.extend((years[0] * 24 * 365, years[0] * 24 * 366)) num = gcd_list(hours) gran = "hour" if num > 1: @@ -1061,14 +1072,12 @@ def compute_common_absolute_time_granularity_simple(gran_list): if has_days: if has_months: months.sort() - days.append(months[0] * 28) - days.append(months[0] * 29) - days.append(months[0] * 30) - days.append(months[0] * 31) + days.extend( + (months[0] * 28, months[0] * 29, months[0] * 30, months[0] * 31) + ) if has_years: years.sort() - days.append(years[0] * 365) - days.append(years[0] * 366) + days.extend((years[0] * 365, years[0] * 366)) num = gcd_list(days) gran = "day" if num > 1: diff --git a/python/grass/temporal/temporal_raster_base_algebra.py b/python/grass/temporal/temporal_raster_base_algebra.py index 4207e251b38..f9333d79044 100644 --- a/python/grass/temporal/temporal_raster_base_algebra.py +++ b/python/grass/temporal/temporal_raster_base_algebra.py @@ -464,8 +464,7 @@ def compare_cmd_value( if topo.upper() in temporal_relations.keys(): relationmaplist = temporal_relations[topo.upper()] if count == 0 and "cmd_list" in dir(map_i): - cmd_value_list.append(compop) - cmd_value_list.append("(") + cmd_value_list.extend((compop, "(")) for relationmap in relationmaplist: if ( self._check_spatial_topology_relation( diff --git a/scripts/g.extension/g.extension.py b/scripts/g.extension/g.extension.py index 0e7d9296b57..9ca0202a9fe 100644 --- a/scripts/g.extension/g.extension.py +++ b/scripts/g.extension/g.extension.py @@ -722,11 +722,13 @@ def get_installed_modules(force=False): for tnode in tree.findall("task"): if flags["g"]: desc, keyw = get_optional_params(tnode) - ret.append("name={0}".format(tnode.get("name").strip())) - ret.append("description={0}".format(desc)) - ret.append("keywords={0}".format(keyw)) - ret.append( - "executables={0}".format(",".join(get_module_executables(tnode))) + ret.extend( + ( + "name={0}".format(tnode.get("name").strip()), + "description={0}".format(desc), + "keywords={0}".format(keyw), + "executables={0}".format(",".join(get_module_executables(tnode))), + ) ) else: ret.append(tnode.get("name").strip()) diff --git a/scripts/r.in.wms/wms_drv.py b/scripts/r.in.wms/wms_drv.py index e88b2fe1886..2f92ec45380 100644 --- a/scripts/r.in.wms/wms_drv.py +++ b/scripts/r.in.wms/wms_drv.py @@ -708,17 +708,17 @@ def _findTileMats(self, tile_mats, region, bbox): """!Find best tile matrix set for requested resolution.""" scale_dens = [] - scale_dens.append( - (bbox["maxy"] - bbox["miny"]) - / region["rows"] - * self._getMetersPerUnit() - / self.pixel_size - ) - scale_dens.append( - (bbox["maxx"] - bbox["minx"]) - / region["cols"] - * self._getMetersPerUnit() - / self.pixel_size + scale_dens.extend( + ( + (bbox["maxy"] - bbox["miny"]) + / region["rows"] + * self._getMetersPerUnit() + / self.pixel_size, + (bbox["maxx"] - bbox["minx"]) + / region["cols"] + * self._getMetersPerUnit() + / self.pixel_size, + ) ) scale_den = min(scale_dens) diff --git a/scripts/r.tileset/r.tileset.py b/scripts/r.tileset/r.tileset.py index ac5cd5c07a0..f2049385a94 100644 --- a/scripts/r.tileset/r.tileset.py +++ b/scripts/r.tileset/r.tileset.py @@ -120,10 +120,14 @@ def bboxToPoints(bbox): """Make points that are the corners of a bounding box""" points = [] - points.append((bbox["w"], bbox["s"])) - points.append((bbox["w"], bbox["n"])) - points.append((bbox["e"], bbox["n"])) - points.append((bbox["e"], bbox["s"])) + points.extend( + ( + (bbox["w"], bbox["s"]), + (bbox["w"], bbox["n"]), + (bbox["e"], bbox["n"]), + (bbox["e"], bbox["s"]), + ) + ) return points @@ -344,8 +348,9 @@ def main(): # points later. bigger = [] - bigger.append(max(source_bbox_dest_lengths["x"])) - bigger.append(max(source_bbox_dest_lengths["y"])) + bigger.extend( + (max(source_bbox_dest_lengths["x"]), max(source_bbox_dest_lengths["y"])) + ) maxdim = (max_cols, max_rows) # Compute the number and size of tiles to use in each direction diff --git a/utils/mkhtml.py b/utils/mkhtml.py index 737f4698ddd..bc2c8d9b2de 100644 --- a/utils/mkhtml.py +++ b/utils/mkhtml.py @@ -423,7 +423,6 @@ def get_last_git_commit(src_dir, addon_path, is_addon): if os.getenv("HTML_PAGE_FOOTER_PAGES_PATH") else "" ) - pgm = sys.argv[1] src_file = "%s.html" % pgm