"""
import os
diff --git a/gui/wxpython/core/gcmd.py b/gui/wxpython/core/gcmd.py
index dfd719b2ff0..0c64f0d0973 100644
--- a/gui/wxpython/core/gcmd.py
+++ b/gui/wxpython/core/gcmd.py
@@ -497,7 +497,7 @@ def __ProcessStdErr(self):
def __GetError(self):
"""Get error message or ''"""
if not self.cmdThread.module:
- return _("Unable to exectute command: '%s'") % " ".join(self.cmd)
+ return _("Unable to execute command: '%s'") % " ".join(self.cmd)
for type, msg in self.__ProcessStdErr():
if type == "ERROR":
diff --git a/gui/wxpython/core/giface.py b/gui/wxpython/core/giface.py
index 3a1d8c61612..1b17a3e5932 100644
--- a/gui/wxpython/core/giface.py
+++ b/gui/wxpython/core/giface.py
@@ -91,7 +91,7 @@ def GetLayersByName(self, name):
.. todo::
if common usage is just to check the presence of layer,
- intoroduce a new method ContainsLayerByName(name)
+ introduce a new method ContainsLayerByName(name)
"""
raise NotImplementedError
diff --git a/gui/wxpython/core/globalvar.py b/gui/wxpython/core/globalvar.py
index 7624183796c..e0397a2b121 100644
--- a/gui/wxpython/core/globalvar.py
+++ b/gui/wxpython/core/globalvar.py
@@ -233,7 +233,7 @@ def UpdateGRASSAddOnCommands(eList=None):
Debug.msg(1, "Number of GRASS AddOn commands: %d", nCmd)
-"""@brief Collected GRASS-relared binaries/scripts"""
+"""@brief Collected GRASS-related binaries/scripts"""
grassCmd, grassScripts = get_commands()
Debug.msg(1, "Number of core GRASS commands: %d", len(grassCmd))
UpdateGRASSAddOnCommands()
diff --git a/gui/wxpython/core/menutree.py b/gui/wxpython/core/menutree.py
index b8f60e9610a..ef3ebd7b414 100644
--- a/gui/wxpython/core/menutree.py
+++ b/gui/wxpython/core/menutree.py
@@ -136,7 +136,7 @@ def _createItem(self, item, node):
elif item.tag == "menu":
self._createMenu(item, node)
else:
- raise ValueError(_("Unknow tag %s") % item.tag)
+ raise ValueError(_("Unknown tag %s") % item.tag)
def GetModel(self, separators=False):
"""Returns copy of model with or without separators
diff --git a/gui/wxpython/core/render.py b/gui/wxpython/core/render.py
index b5fdf34d7dd..93102b0136f 100644
--- a/gui/wxpython/core/render.py
+++ b/gui/wxpython/core/render.py
@@ -658,7 +658,7 @@ def Render(self, force=False, windres=False):
def OnRenderDone(self, env):
"""Rendering process done
- Make image composiotion, emits updateMap event.
+ Make image composition, emits updateMap event.
"""
maps = []
masks = []
@@ -1393,7 +1393,7 @@ def AddLayer(
def DeleteAllLayers(self, overlay=False):
"""Delete all layers
- :param overlay: True to delete also overlayes
+ :param overlay: True to also delete overlays
"""
self.layers = []
if overlay:
diff --git a/gui/wxpython/core/toolboxes.py b/gui/wxpython/core/toolboxes.py
index 46b886e4996..d3b50cb1ea5 100644
--- a/gui/wxpython/core/toolboxes.py
+++ b/gui/wxpython/core/toolboxes.py
@@ -308,7 +308,7 @@ def toolboxes2menudata(mainMenu, toolboxes, userToolboxes, wxguiItems, moduleIte
userHasToolboxes = False
- # in case user has empty toolboxes file (to avoid genereation)
+ # in case user has empty toolboxes file (to avoid generation)
if userToolboxes and userToolboxes.findall(".//toolbox"):
_expandUserToolboxesItem(root, userToolboxes)
_expandToolboxes(root, userToolboxes)
@@ -746,7 +746,7 @@ def _convertTree(root):
def _getXMLString(root):
"""Converts XML tree to string
- Since it is usually requier, this function adds a comment (about
+ Since it is usually required, this function adds a comment (about
autogenerated file) to XML file.
:return: XML as string
diff --git a/gui/wxpython/datacatalog/g.gui.datacatalog.html b/gui/wxpython/datacatalog/g.gui.datacatalog.html
index 9a918dd3039..23b450be772 100644
--- a/gui/wxpython/datacatalog/g.gui.datacatalog.html
+++ b/gui/wxpython/datacatalog/g.gui.datacatalog.html
@@ -33,7 +33,7 @@ NOTES
WARNING
When renaming, copying or deleting maps outside of Data Catalog, you need to reload
-the current mapset or entire database, because it is currently not synchronised.
+the current mapset or entire database, because it is currently not synchronized.
SEE ALSO
diff --git a/gui/wxpython/dbmgr/base.py b/gui/wxpython/dbmgr/base.py
index aeb1a2b3090..20ddbc47f25 100644
--- a/gui/wxpython/dbmgr/base.py
+++ b/gui/wxpython/dbmgr/base.py
@@ -747,7 +747,7 @@ def __init__(
:param item: item from Layer Tree
:param log: log window
:param statusbar: widget with statusbar
- :param kwagrs: other wx.Frame's arguments
+ :param kwargs: other wx.Frame's arguments
"""
# stores all data, which are shared by pages
@@ -918,7 +918,7 @@ def __init__(self, parent, parentDbMgrBase):
self.listOfCommands = []
self.listOfSQLStatements = []
- # initializet pages
+ # initialize pages
self.pages = self.parentDbMgrBase.pages
# shared data among pages
@@ -1138,7 +1138,7 @@ def __init__(self, parent, parentDbMgrBase, onlyLayer=-1):
def AddLayer(self, layer, pos=-1):
"""Adds tab which represents table and enables browse it
- :param layer: vector map layer conntected to table
+ :param layer: vector map layer connected to table
:param pos: position of tab, if -1 it is added to end
:return: True if layer was added
@@ -4030,7 +4030,7 @@ def Update(self, driver, database, table, column):
database=database,
)
if not dataStr:
- GError(parent=self.parent, message=_("Unable to calculte statistics."))
+ GError(parent=self.parent, message=_("Unable to calculate statistics."))
self.Close()
return
@@ -4039,7 +4039,7 @@ def Update(self, driver, database, table, column):
GError(
parent=self.parent,
message=_(
- "Unable to calculte statistics. "
+ "Unable to calculate statistics. "
"Invalid number of lines %d (should be %d)."
)
% (len(dataLines), len(stats)),
@@ -4066,7 +4066,7 @@ def Update(self, driver, database, table, column):
)
if not dataVar:
GWarning(
- parent=self.parent, message=_("Unable to calculte standard deviation.")
+ parent=self.parent, message=_("Unable to calculate standard deviation.")
)
varSum = 0
for var in decode(dataVar).splitlines():
diff --git a/gui/wxpython/dbmgr/manager.py b/gui/wxpython/dbmgr/manager.py
index c3821abb4ef..86c522282fd 100644
--- a/gui/wxpython/dbmgr/manager.py
+++ b/gui/wxpython/dbmgr/manager.py
@@ -65,7 +65,7 @@ def __init__(
:param item: item from Layer Tree
:param log: log window
:param selection: name of page to be selected
- :param kwagrs: other wx.Frame's arguments
+ :param kwargs: other wx.Frame's arguments
"""
self.parent = parent
try:
diff --git a/gui/wxpython/dbmgr/sqlbuilder.py b/gui/wxpython/dbmgr/sqlbuilder.py
index 51010e49677..fd9378846d7 100644
--- a/gui/wxpython/dbmgr/sqlbuilder.py
+++ b/gui/wxpython/dbmgr/sqlbuilder.py
@@ -49,7 +49,7 @@
class SQLBuilder(wx.Frame):
- """SQLBuider class
+ """SQLBuilder class
Base class for classes, which builds SQL statements.
"""
@@ -314,8 +314,8 @@ def _doLayout(self, modeChoices, showDbInfo=False):
flag=wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND,
border=5,
)
- # self.pagesizer.Add(self.btn_uniqe,0,wx.ALIGN_LEFT|wx.TOP,border=5)
- # self.pagesizer.Add(self.btn_uniqesample,0,wx.ALIGN_LEFT|wx.TOP,border=5)
+ # self.pagesizer.Add(self.btn_unique,0,wx.ALIGN_LEFT|wx.TOP,border=5)
+ # self.pagesizer.Add(self.btn_uniquesample,0,wx.ALIGN_LEFT|wx.TOP,border=5)
self.pagesizer.Add(
self.btn_logicpanel, proportion=0, flag=wx.ALIGN_CENTER_HORIZONTAL
)
diff --git a/gui/wxpython/gcp/g.gui.gcp.html b/gui/wxpython/gcp/g.gui.gcp.html
index 4585de25674..d7ddfd403e4 100644
--- a/gui/wxpython/gcp/g.gui.gcp.html
+++ b/gui/wxpython/gcp/g.gui.gcp.html
@@ -50,7 +50,7 @@ Components of the GCP Manager
List of ground control points
The list of Ground Control Points can be sorted by clicking on a column
-header. Clicking on a cloumn header will sort the GCPs ascending, a
+header. Clicking on a column header will sort the GCPs ascending, a
second click on the same column will sort the GCPs descending. Overall
RMS error and individual RMS errors of all points are often improved if
the GCP with the highest RMS error is adjusted. Individual coordinates
diff --git a/gui/wxpython/gcp/g.gui.gcp.py b/gui/wxpython/gcp/g.gui.gcp.py
index 12f0a152090..2201b7c2280 100755
--- a/gui/wxpython/gcp/g.gui.gcp.py
+++ b/gui/wxpython/gcp/g.gui.gcp.py
@@ -29,7 +29,7 @@
# %end
"""
-Module to run GCP management tool as stadalone application.
+Module to run GCP management tool as standalone application.
@author Vaclav Petras (standalone module)
"""
diff --git a/gui/wxpython/gcp/manager.py b/gui/wxpython/gcp/manager.py
index 74ede7189e9..fc8fa869781 100644
--- a/gui/wxpython/gcp/manager.py
+++ b/gui/wxpython/gcp/manager.py
@@ -23,7 +23,7 @@
@author Original author Michael Barton
@author Original version improved by Martin Landa
-@author Rewritten by Markus Metz redesign georectfier -> GCP Manage
+@author Rewritten by Markus Metz redesign georectifier -> GCP Manage
@author Support for GraphicsSet added by Stepan Turek (2012)
"""
@@ -1053,10 +1053,10 @@ def __init__(
# register data structures for drawing GCP's
#
self.pointsToDrawTgt = self.TgtMapWindow.RegisterGraphicsToDraw(
- graphicsType="point", setStatusFunc=self.SetGCPSatus
+ graphicsType="point", setStatusFunc=self.SetGCPStatus
)
self.pointsToDrawSrc = self.SrcMapWindow.RegisterGraphicsToDraw(
- graphicsType="point", setStatusFunc=self.SetGCPSatus
+ graphicsType="point", setStatusFunc=self.SetGCPStatus
)
# connect to the map windows signals
@@ -1410,7 +1410,7 @@ def SetSettings(self):
# overwrite result map
self.overwrite = UserSettings.Get(group="gcpman", key="map", subkey="overwrite")
- def SetGCPSatus(self, item, itemIndex):
+ def SetGCPStatus(self, item, itemIndex):
"""Before GCP is drawn, decides it's colour and whether it
will be drawn.
"""
@@ -1663,7 +1663,7 @@ def ReloadGCPs(self, event):
targetMapWin.UpdateMap(render=False, renderVector=False)
def OnFocus(self, event):
- # TODO: it is here just to remove old or obsolete beavior of base class
+ # TODO: it is here just to remove old or obsolete behavior of base class
# gcp/MapPanel?
# self.grwiz.SwitchEnv('source')
pass
diff --git a/gui/wxpython/gmodeler/dialogs.py b/gui/wxpython/gmodeler/dialogs.py
index c8dd7509e74..ba966ea6a53 100644
--- a/gui/wxpython/gmodeler/dialogs.py
+++ b/gui/wxpython/gmodeler/dialogs.py
@@ -11,7 +11,7 @@
- dialogs::ModelLoopDialog
- dialogs::ModelConditionDialog
- dialogs::ModelListCtrl
- - dialogs::ValiableListCtrl
+ - dialogs::VariableListCtrl
- dialogs::ItemListCtrl
- dialogs::ItemCheckListCtrl
diff --git a/gui/wxpython/gmodeler/model.py b/gui/wxpython/gmodeler/model.py
index 15c4eaa8cd4..f321d2a206f 100644
--- a/gui/wxpython/gmodeler/model.py
+++ b/gui/wxpython/gmodeler/model.py
@@ -161,7 +161,7 @@ def ReorderItems(self, idxList):
self.canvas.parent.DefineCondition(mo)
def Normalize(self):
- # check for inconsistecies
+ # check for inconsistencies
for idx in range(1, len(self.items)):
if not self.items[idx].GetBlock() and isinstance(
self.items[idx - 1], ModelLoop
@@ -525,7 +525,7 @@ def Validate(self):
def _substituteFile(self, item, params=None, checkOnly=False):
"""Substitute variables in command file inputs
- :param bool checkOnly: tuble - True to check variable, don't touch files
+ :param bool checkOnly: True to check variable, don't touch files
:return: list of undefined variables
"""
@@ -770,7 +770,7 @@ def Run(self, log, onDone, parent=None):
p["value"] = ""
def DeleteIntermediateData(self, log):
- """Detele intermediate data"""
+ """Delete intermediate data"""
rast, vect, rast3d, msg = self.GetIntermediateData()
if rast:
@@ -3736,5 +3736,5 @@ def GetErrors(self):
return errList
def DeleteIntermediateData(self) -> bool:
- """Check if to detele intermediate data"""
+ """Check if to delete intermediate data"""
return bool(self.interData.IsShown() and self.interData.IsChecked())
diff --git a/gui/wxpython/gmodeler/toolbars.py b/gui/wxpython/gmodeler/toolbars.py
index ca6a75b4804..4e7acf500b0 100644
--- a/gui/wxpython/gmodeler/toolbars.py
+++ b/gui/wxpython/gmodeler/toolbars.py
@@ -24,7 +24,7 @@
class ModelerToolbar(BaseToolbar):
- """Graphical modeler toolbaro (see gmodeler.py)"""
+ """Graphical modeler toolbar (see gmodeler.py)"""
def __init__(self, parent):
BaseToolbar.__init__(self, parent)
diff --git a/gui/wxpython/gui_core/dialogs.py b/gui/wxpython/gui_core/dialogs.py
index 27ce4523a76..19e430d605e 100644
--- a/gui/wxpython/gui_core/dialogs.py
+++ b/gui/wxpython/gui_core/dialogs.py
@@ -1467,7 +1467,7 @@ def _addApplyButton(self):
"""
def _fullyQualifiedNames(self):
- """Adds CheckBox which determines is fully qualified names are retuned."""
+ """Adds CheckBox which determines if fully qualified names are returned."""
self.fullyQualified = wx.CheckBox(
parent=self, id=wx.ID_ANY, label=_("Use fully-qualified map names")
)
diff --git a/gui/wxpython/gui_core/mapdisp.py b/gui/wxpython/gui_core/mapdisp.py
index ea770defe8e..d72fabe4438 100644
--- a/gui/wxpython/gui_core/mapdisp.py
+++ b/gui/wxpython/gui_core/mapdisp.py
@@ -580,7 +580,7 @@ class DoubleMapPanel(MapPanelBase):
It is expected that derived class will call _bindWindowsActivation()
when both map windows will be initialized.
- Drived class should have method GetMapToolbar() returns toolbar
+ Derived classes should have method GetMapToolbar() returns toolbar
which has methods SetActiveMap() and Enable().
@note To access maps use getters only
@@ -605,7 +605,7 @@ def __init__(
r"""
\a firstMap is set as active (by assign it to \c self.Map).
- Derived class should assging to \c self.MapWindow to make one
+ Derived class should assigning to \c self.MapWindow to make one
map window current by default.
:param parent: gui parent
diff --git a/gui/wxpython/gui_core/widgets.py b/gui/wxpython/gui_core/widgets.py
index b787bf23037..40c9e6c5e19 100644
--- a/gui/wxpython/gui_core/widgets.py
+++ b/gui/wxpython/gui_core/widgets.py
@@ -1052,7 +1052,7 @@ def __init__(self, num_of_params):
super().__init__()
def _enableDisableBtn(self, enable):
- """Enable/Disable buttomn
+ """Enable/Disable button
:param bool enable: Enable/Disable btn
"""
diff --git a/gui/wxpython/image2target/g.gui.image2target.html b/gui/wxpython/image2target/g.gui.image2target.html
index af1aec5a55d..f24c6fa2a0d 100644
--- a/gui/wxpython/image2target/g.gui.image2target.html
+++ b/gui/wxpython/image2target/g.gui.image2target.html
@@ -49,7 +49,7 @@ Components of the GCP Manager
List of ground control points
The list of Ground Control Points can be sorted by clicking on a column
-header. Clicking on a cloumn header will sort the GCPs ascending, a
+header. Clicking on a column header will sort the GCPs ascending, a
second click on the same column will sort the GCPs descending. Overall
RMS error and individual RMS errors of all points are often improved if
the GCP with the highest RMS error is adjusted. Individual coordinates
diff --git a/gui/wxpython/image2target/g.gui.image2target.py b/gui/wxpython/image2target/g.gui.image2target.py
index e2704dc371b..f7370a71adf 100755
--- a/gui/wxpython/image2target/g.gui.image2target.py
+++ b/gui/wxpython/image2target/g.gui.image2target.py
@@ -32,7 +32,7 @@
"""
-Module to run GCP management tool as stadalone application.
+Module to run GCP management tool as standalone application.
"""
import os
diff --git a/gui/wxpython/image2target/ii2t_manager.py b/gui/wxpython/image2target/ii2t_manager.py
index 939c2fb0fe8..bfc5bbc3489 100644
--- a/gui/wxpython/image2target/ii2t_manager.py
+++ b/gui/wxpython/image2target/ii2t_manager.py
@@ -23,7 +23,7 @@
@author Original author Michael Barton
@author Original version improved by Martin Landa
-@author Rewritten by Markus Metz redesign georectfier -> GCP Manage
+@author Rewritten by Markus Metz redesign georectifier -> GCP Manage
@author Support for GraphicsSet added by Stepan Turek (2012)
@author port i.image.2target (v6) to version 7 in 2017 by Yann
"""
@@ -1030,10 +1030,10 @@ def __init__(
# register data structures for drawing GCP's
#
self.pointsToDrawTgt = self.TgtMapWindow.RegisterGraphicsToDraw(
- graphicsType="point", setStatusFunc=self.SetGCPSatus
+ graphicsType="point", setStatusFunc=self.SetGCPStatus
)
self.pointsToDrawSrc = self.SrcMapWindow.RegisterGraphicsToDraw(
- graphicsType="point", setStatusFunc=self.SetGCPSatus
+ graphicsType="point", setStatusFunc=self.SetGCPStatus
)
# connect to the map windows signals
@@ -1393,7 +1393,7 @@ def SetSettings(self):
self.pointsToDrawSrc.SetPropertyVal("text", textProp)
self.pointsToDrawTgt.SetPropertyVal("text", copy(textProp))
- def SetGCPSatus(self, item, itemIndex):
+ def SetGCPStatus(self, item, itemIndex):
"""Before GCP is drawn, decides it's colour and whether it
will be drawn.
"""
diff --git a/gui/wxpython/iscatt/controllers.py b/gui/wxpython/iscatt/controllers.py
index 06ca5d0b243..6a5bcb6bb9e 100644
--- a/gui/wxpython/iscatt/controllers.py
+++ b/gui/wxpython/iscatt/controllers.py
@@ -505,7 +505,7 @@ class PlotsRenderingManager:
"""Manages rendering of scatter plot.
.. todo::
- still space for optimalization
+ still space for optimization
"""
def __init__(self, scatt_mgr, cats_mgr, core):
diff --git a/gui/wxpython/iscatt/iscatt_core.py b/gui/wxpython/iscatt/iscatt_core.py
index 52cecbfb381..c23d9ff97f7 100644
--- a/gui/wxpython/iscatt/iscatt_core.py
+++ b/gui/wxpython/iscatt/iscatt_core.py
@@ -214,7 +214,7 @@ def SetVectMap(self, vectMap):
def SyncWithMap(self):
# TODO possible optimization - bbox only of vertex and its two
- # neighbours
+ # neighbors
region = self.an_data.GetRegion()
@@ -237,7 +237,7 @@ def SyncWithMap(self):
def EditedFeature(self, new_bboxs, new_areas_cats, old_bboxs, old_areas_cats):
# TODO possible optimization - bbox only of vertex and its two
- # neighbours
+ # neighbors
bboxs = old_bboxs + new_bboxs
areas_cats = old_areas_cats + new_areas_cats
diff --git a/gui/wxpython/iscatt/toolbars.py b/gui/wxpython/iscatt/toolbars.py
index 7f813723282..9633c147500 100644
--- a/gui/wxpython/iscatt/toolbars.py
+++ b/gui/wxpython/iscatt/toolbars.py
@@ -95,19 +95,19 @@ def _toolbarData(self):
(
("pan", icons["pan"].label),
icons["pan"],
- lambda event: self.SetPloltsMode(event, "pan"),
+ lambda event: self.SetPlotsMode(event, "pan"),
wx.ITEM_CHECK,
),
(
("zoom", icons["zoomIn"].label),
icons["zoomIn"],
- lambda event: self.SetPloltsMode(event, "zoom"),
+ lambda event: self.SetPlotsMode(event, "zoom"),
wx.ITEM_CHECK,
),
(
("zoom_extend", icons["zoomExtent"].label),
icons["zoomExtent"],
- lambda event: self.SetPloltsMode(event, "zoom_extend"),
+ lambda event: self.SetPlotsMode(event, "zoom_extend"),
wx.ITEM_CHECK,
),
(None,),
@@ -145,7 +145,7 @@ def _toolbarData(self):
def GetToolId(self, toolName): # TODO can be useful in base
return vars(self)[toolName]
- def SetPloltsMode(self, event, tool_name):
+ def SetPlotsMode(self, event, tool_name):
self.scatt_mgr.modeSet.disconnect(self.ModeSet)
if event.IsChecked():
for i_tool_data in self.controller.data:
diff --git a/gui/wxpython/lmgr/frame.py b/gui/wxpython/lmgr/frame.py
index 9879ce1d937..1b69a517717 100644
--- a/gui/wxpython/lmgr/frame.py
+++ b/gui/wxpython/lmgr/frame.py
@@ -982,7 +982,7 @@ def RunDisplayCmd(self, command):
"""Handles display commands.
:param command: command in a list
- :return int: False if failed, True if succcess
+ :return int: False if failed, True if success
"""
if not self.currentPage:
self.NewDisplay(show=True)
diff --git a/gui/wxpython/location_wizard/wizard.py b/gui/wxpython/location_wizard/wizard.py
index 9f3bf14c886..41d309178f8 100644
--- a/gui/wxpython/location_wizard/wizard.py
+++ b/gui/wxpython/location_wizard/wizard.py
@@ -1357,7 +1357,7 @@ def OnPageChanging(self, event):
# FIXME: index number doesn't translate when you've given a valid name
# from the other list
def OnText(self, event):
- """Ellipspoid code changed"""
+ """Ellipsoid code changed"""
self.ellipse = event.GetString()
nextButton = wx.FindWindowById(wx.ID_FORWARD)
if len(self.ellipse) == 0 or (
diff --git a/gui/wxpython/main_window/frame.py b/gui/wxpython/main_window/frame.py
index 3574e7c8951..a4a4dfea8e2 100644
--- a/gui/wxpython/main_window/frame.py
+++ b/gui/wxpython/main_window/frame.py
@@ -1120,7 +1120,7 @@ def RunDisplayCmd(self, command):
"""Handles display commands.
:param command: command in a list
- :return int: False if failed, True if succcess
+ :return int: False if failed, True if success
"""
if not self.currentPage:
self.NewDisplay(show=True)
diff --git a/gui/wxpython/mapdisp/frame.py b/gui/wxpython/mapdisp/frame.py
index 3133341a334..a7622616b34 100644
--- a/gui/wxpython/mapdisp/frame.py
+++ b/gui/wxpython/mapdisp/frame.py
@@ -1500,7 +1500,7 @@ def OnSetWindToRegion(self, event):
self.MapWindow.SetRegion(zoomOnly=False)
def OnSetExtentToWind(self, event):
- """Set compulational region extent interactively"""
+ """Set computational region extent interactively"""
self.MapWindow.SetModeDrawRegion()
def OnSaveDisplayRegion(self, event):
diff --git a/gui/wxpython/mapwin/buffered.py b/gui/wxpython/mapwin/buffered.py
index 16b6b329ef6..e30bf99414c 100644
--- a/gui/wxpython/mapwin/buffered.py
+++ b/gui/wxpython/mapwin/buffered.py
@@ -2102,7 +2102,7 @@ def DisplayToWind(self):
self.UpdateMap(render=False)
def SetRegion(self, zoomOnly=True):
- """Set display extents/compulational region from named region
+ """Set display extents/computational region from named region
file.
:param zoomOnly: zoom to named region only (computational region is not saved)
@@ -2110,7 +2110,7 @@ def SetRegion(self, zoomOnly=True):
if zoomOnly:
label = _("Zoom to saved region extents")
else:
- label = _("Set compulational region from named region")
+ label = _("Set computational region from named region")
dlg = SavedRegion(parent=self, title=label, loadsave="load")
if dlg.ShowModal() == wx.ID_CANCEL or not dlg.GetName():
@@ -2144,7 +2144,7 @@ def SetRegion(self, zoomOnly=True):
self.UpdateMap()
def SaveRegion(self, display=True):
- """Save display extents/compulational region to named region
+ """Save display extents/computational region to named region
file.
:param display: True for display extends otherwise computational region
diff --git a/gui/wxpython/nviz/mapwindow.py b/gui/wxpython/nviz/mapwindow.py
index b6609427895..c459e5f4f89 100644
--- a/gui/wxpython/nviz/mapwindow.py
+++ b/gui/wxpython/nviz/mapwindow.py
@@ -335,7 +335,7 @@ def ComputeFlyValues(self, mx, my):
self.fly["value"][2] = -my * 100.0 * self.fly["interval"] / 1000.0
def ChangeFlySpeed(self, increase):
- """Increase/decrease flight spped"""
+ """Increase/decrease flight speed"""
if increase:
self.fly["flySpeed"] += self.fly["flySpeedStep"]
else:
diff --git a/gui/wxpython/nviz/preferences.py b/gui/wxpython/nviz/preferences.py
index 9bd4614a670..ebd7e5d66b5 100644
--- a/gui/wxpython/nviz/preferences.py
+++ b/gui/wxpython/nviz/preferences.py
@@ -258,7 +258,7 @@ def _createFlyPage(self, notebook):
notebook.AddPage(page=panel, text=" %s " % _("Fly-through"))
pageSizer = wx.BoxSizer(wx.VERTICAL)
- # fly throuhg mode
+ # fly through mode
box = StaticBox(
parent=panel, id=wx.ID_ANY, label=" %s " % (_("Fly-through mode"))
)
diff --git a/gui/wxpython/nviz/tools.py b/gui/wxpython/nviz/tools.py
index 77f379ef019..a56a062f6f6 100644
--- a/gui/wxpython/nviz/tools.py
+++ b/gui/wxpython/nviz/tools.py
@@ -3791,7 +3791,7 @@ def OnSurfaceModeAll(self, event):
for name in self.mapWindow.GetLayerNames(type="raster"):
data = self._getLayerPropertiesByName(name, mapType="raster")
if not data:
- continue # shouldy no happen
+ continue # should not happen
data["surface"]["draw"]["all"] = True
data["surface"]["draw"]["mode"] = {
diff --git a/gui/wxpython/nviz/wxnviz.py b/gui/wxpython/nviz/wxnviz.py
index d11e03d290b..06812e81be6 100644
--- a/gui/wxpython/nviz/wxnviz.py
+++ b/gui/wxpython/nviz/wxnviz.py
@@ -2288,7 +2288,7 @@ def FlyThrough(self, flyInfo, mode, exagInfo):
"""Fly through the scene
:param flyInfo: fly parameters
- :param mode: 0 or 1 for different fly behaviour
+ :param mode: 0 or 1 for different fly behavior
:param exagInfo: parameters changing fly speed
"""
fly = (c_float * 3)()
diff --git a/gui/wxpython/photo2image/g.gui.photo2image.py b/gui/wxpython/photo2image/g.gui.photo2image.py
index fe153b236cc..443a43f2d81 100755
--- a/gui/wxpython/photo2image/g.gui.photo2image.py
+++ b/gui/wxpython/photo2image/g.gui.photo2image.py
@@ -67,7 +67,7 @@
# %end
"""
-Module to run GCP management tool as stadalone application.
+Module to run GCP management tool as standalone application.
"""
import os
import grass.script as gs
diff --git a/gui/wxpython/photo2image/ip2i_manager.py b/gui/wxpython/photo2image/ip2i_manager.py
index 0e6168a8edd..37985dad5e4 100644
--- a/gui/wxpython/photo2image/ip2i_manager.py
+++ b/gui/wxpython/photo2image/ip2i_manager.py
@@ -20,7 +20,7 @@
@author Original author Michael Barton
@author Original version improved by Martin Landa
-@author Rewritten by Markus Metz redesign georectfier -> GCP Manage
+@author Rewritten by Markus Metz redesign georectifier -> GCP Manage
@author Support for GraphicsSet added by Stepan Turek (2012)
@author Yann modified: graphical replacement of i.photo.2image
(was in v6 using Vask lib)
@@ -336,10 +336,10 @@ def __init__(
# register data structures for drawing GCP's
#
self.pointsToDrawTgt = self.TgtMapWindow.RegisterGraphicsToDraw(
- graphicsType="point", setStatusFunc=self.SetGCPSatus
+ graphicsType="point", setStatusFunc=self.SetGCPStatus
)
self.pointsToDrawSrc = self.SrcMapWindow.RegisterGraphicsToDraw(
- graphicsType="point", setStatusFunc=self.SetGCPSatus
+ graphicsType="point", setStatusFunc=self.SetGCPStatus
)
# connect to the map windows signals
@@ -778,7 +778,7 @@ def SetSettings(self):
self.pointsToDrawSrc.SetPropertyVal("text", textProp)
self.pointsToDrawTgt.SetPropertyVal("text", copy(textProp))
- def SetGCPSatus(self, item, itemIndex):
+ def SetGCPStatus(self, item, itemIndex):
"""Before GCP is drawn, decides it's colour and whether it
will be drawn.
"""
@@ -1033,7 +1033,7 @@ def ReloadGCPs(self, event):
targetMapWin.UpdateMap(render=False)
def OnFocus(self, event):
- # TODO: it is here just to remove old or obsolete beavior of base class
+ # TODO: it is here just to remove old or obsolete behavior of base class
# gcp/MapPanel?
# self.grwiz.SwitchEnv('source')
pass
diff --git a/gui/wxpython/psmap/frame.py b/gui/wxpython/psmap/frame.py
index 22194ece0c0..bb71fd856a5 100644
--- a/gui/wxpython/psmap/frame.py
+++ b/gui/wxpython/psmap/frame.py
@@ -1972,7 +1972,7 @@ def OnDragging(self, event):
pdcType = "rect"
lineCoords = None
if r[2] < 2 or r[3] < 2:
- # to avoid strange behaviour
+ # to avoid strange behavior
return
self.Draw(
diff --git a/gui/wxpython/rlisetup/functions.py b/gui/wxpython/rlisetup/functions.py
index fc9d3c3d202..3670a504621 100644
--- a/gui/wxpython/rlisetup/functions.py
+++ b/gui/wxpython/rlisetup/functions.py
@@ -18,9 +18,9 @@ class SamplingType:
MMVWINC = samplingtype=moving, regionbox=mouse, shape=circle
MMVWINR = samplingtype moving, regionbox=mouse, shape=rectangle
- KUNITSC = samplingtype=units, regionbox=keyboard, shape=cirlce
+ KUNITSC = samplingtype=units, regionbox=keyboard, shape=circle
KUNITSR = samplingtype=units, regionbox=keyboard, shape=rectangle
- MUNITSC = samplingtype=units, regionbox=mouse, shape=cirlce
+ MUNITSC = samplingtype=units, regionbox=mouse, shape=circle
MUNITSR = samplingtype=units, regionbox=mouse, shape=rectangle
"""
@@ -141,7 +141,7 @@ def sampleAreaVector(
vect=vect.split("@")[0], rast=rast.split("@")[0]
)
rast_name = "{pref}{cat}".format(pref=outpref, cat=cat)
- # check if raster already axist
+ # check if raster already exists
if (
len(grass.list_strings("raster", pattern=rast_name, mapset=".")) == 1
diff --git a/gui/wxpython/rlisetup/sampling_frame.py b/gui/wxpython/rlisetup/sampling_frame.py
index 7e410d6f182..df2ee8f62af 100644
--- a/gui/wxpython/rlisetup/sampling_frame.py
+++ b/gui/wxpython/rlisetup/sampling_frame.py
@@ -327,9 +327,9 @@ def _radiusDrawn(self, x, y):
circle.point[0], circle.point[1], circle.radius
)
self._registeredGraphics.Draw()
- self.createCricle(circle)
+ self.createCircle(circle)
- def createCricle(self, c):
+ def createCircle(self, c):
dlg = wx.TextEntryDialog(
None,
"Name of sample circle region",
diff --git a/gui/wxpython/rlisetup/wizard.py b/gui/wxpython/rlisetup/wizard.py
index ba2a5b61f78..35aa3384e38 100644
--- a/gui/wxpython/rlisetup/wizard.py
+++ b/gui/wxpython/rlisetup/wizard.py
@@ -360,7 +360,7 @@ def _write_area(self, fil):
fil.write("SAMPLEAREA -1|-1|%r|%r" % (rl, cl))
fil.write("|%s" % self.msAreaList[0].raster)
fil.write("\nMOVINGWINDOW\n")
- # KUNITSC = samplingtype=units, regionbox=keyboard, shape=cirlce
+ # KUNITSC = samplingtype=units, regionbox=keyboard, shape=circle
# KUNITSR = samplingtype=units, regionbox=keyboard, shape=rectangle
elif samtype in {SamplingType.KUNITSC, SamplingType.KUNITSR}:
if samtype == SamplingType.KUNITSC:
@@ -374,13 +374,13 @@ def _write_area(self, fil):
fil.write("SAMPLEAREA -1|-1|%r|%r\n" % (rl, cl))
if self.units.distrtype == "non_overlapping":
fil.write("RANDOMNONOVERLAPPING %s\n" % self.units.distr1)
- elif self.units.distrtype == "systematic_contiguos":
+ elif self.units.distrtype == "systematic_contiguous":
fil.write("SYSTEMATICCONTIGUOUS\n")
elif self.units.distrtype == "stratified_random":
fil.write(
"STRATIFIEDRANDOM %s|%s\n" % (self.units.distr1, self.units.distr2)
)
- elif self.units.distrtype == "systematic_noncontiguos":
+ elif self.units.distrtype == "systematic_noncontiguous":
fil.write("SYSTEMATICNONCONTIGUOUS %s\n" % self.units.distr1)
elif self.units.distrtype == "centered_oversites":
fil.write("")
@@ -388,7 +388,7 @@ def _write_area(self, fil):
# elif self.samplingareapage.samplingtype == SamplingType.UNITS and
# self.samplingareapage.regionbox=='mouse':
- # MUNITSC = samplingtype=units, regionbox=mouse, shape=cirlce
+ # MUNITSC = samplingtype=units, regionbox=mouse, shape=circle
# MUNITSR = samplingtype=units, regionbox=mouse, shape=rectangle
elif self.samplingareapage.samplingtype in {
SamplingType.MUNITSR,
@@ -1434,7 +1434,7 @@ def OnDistr(self, event):
self.panelSizer.Hide(self.distr2Txt)
self.panelSizer.Layout()
elif chosen == 1:
- self.distrtype = "systematic_contiguos"
+ self.distrtype = "systematic_contiguous"
self.distr1Label.SetLabel("")
self.distr2Label.SetLabel("")
self.panelSizer.Hide(self.distr1Txt)
@@ -1448,7 +1448,7 @@ def OnDistr(self, event):
self.panelSizer.Show(self.distr2Txt)
self.panelSizer.Layout()
elif chosen == 3:
- self.distrtype = "systematic_noncontiguos"
+ self.distrtype = "systematic_noncontiguous"
self.distr1Label.SetLabel(_("Insert distance between units"))
self.panelSizer.Show(self.distr1Txt)
self.distr2Label.SetLabel("")
@@ -2182,7 +2182,7 @@ def OnEnterPage(self, event):
if self.parent.units.distrtype == "non_overlapping":
self.unitsmorelabel.SetLabel(_("Number sampling units:"))
self.unitsmoretxt.SetLabel(self.parent.units.distr1)
- elif self.parent.units.distrtype == "systematic_noncontiguos":
+ elif self.parent.units.distrtype == "systematic_noncontiguous":
self.unitsmorelabel.SetLabel(_("Distance between units:"))
self.unitsmoretxt.SetLabel(self.parent.units.distr1)
elif self.parent.units.distrtype == "stratified_random":
diff --git a/gui/wxpython/timeline/g.gui.timeline.py b/gui/wxpython/timeline/g.gui.timeline.py
index 161c6832a92..3265636a3b0 100755
--- a/gui/wxpython/timeline/g.gui.timeline.py
+++ b/gui/wxpython/timeline/g.gui.timeline.py
@@ -50,7 +50,7 @@ def main():
from timeline.frame import TimelineFrame
except ImportError as e:
# TODO: why do we need this special check here, the reason of error
- # is wrong intallation or something, no need to report this to the
+ # is wrong installation or something, no need to report this to the
# user in a nice way
gs.fatal(str(e))
diff --git a/gui/wxpython/vdigit/dialogs.py b/gui/wxpython/vdigit/dialogs.py
index 2e7333cf122..494f8f66acc 100644
--- a/gui/wxpython/vdigit/dialogs.py
+++ b/gui/wxpython/vdigit/dialogs.py
@@ -387,7 +387,7 @@ def OnReload(self, event):
# restore original list
self.cats = copy.deepcopy(self.cats_orig)
- # polulate list
+ # populate list
self.itemDataMap = self.list.Populate(self.cats[self.fid], update=True)
event.Skip()
@@ -529,7 +529,7 @@ def UpdateDialog(self, query=None, cats=None):
# make copy of cats (used for 'reload')
self.cats_orig = copy.deepcopy(self.cats)
- # polulate list
+ # populate list
self.fid = list(self.cats.keys())[0]
self.itemDataMap = self.list.Populate(self.cats[self.fid], update=True)
diff --git a/gui/wxpython/vdigit/g.gui.vdigit.py b/gui/wxpython/vdigit/g.gui.vdigit.py
index be476a03ee1..c4b4f93ae7e 100644
--- a/gui/wxpython/vdigit/g.gui.vdigit.py
+++ b/gui/wxpython/vdigit/g.gui.vdigit.py
@@ -84,7 +84,7 @@ def __init__(self, parent, vectorMap):
)
self._initShortcuts()
- # this giface issue not solved yet, we must set mapframe aferwards
+ # this giface issue not solved yet, we must set mapframe afterwards
self._giface._mapframe = self
# load vector map
mapLayer = self.GetMap().AddLayer(
diff --git a/gui/wxpython/vdigit/mapwindow.py b/gui/wxpython/vdigit/mapwindow.py
index db9ebf57caf..824ff68fc3e 100644
--- a/gui/wxpython/vdigit/mapwindow.py
+++ b/gui/wxpython/vdigit/mapwindow.py
@@ -294,7 +294,7 @@ def OnLeftDownAddLine(self, event):
return
if self.toolbar.GetAction("type") in {"point", "centroid"}:
- # add new point / centroiud
+ # add new point / centroid
east, north = self.Pixel2Cell(self.mouse["begin"])
nfeat, fids = self.digit.AddFeature(
self.toolbar.GetAction("type"), [(east, north)]
diff --git a/gui/wxpython/vdigit/toolbars.py b/gui/wxpython/vdigit/toolbars.py
index 09833758882..73bca461227 100644
--- a/gui/wxpython/vdigit/toolbars.py
+++ b/gui/wxpython/vdigit/toolbars.py
@@ -446,7 +446,7 @@ def _noVMapOpenForEditingErrDlg(self):
return True
def OnTool(self, event):
- """Tool selected -> untoggles previusly selected tool in
+ """Tool selected -> untoggles previously selected tool in
toolbar"""
Debug.msg(
3,
@@ -478,7 +478,7 @@ def OnTool(self, event):
event.Skip()
def OnAddPoint(self, event):
- """Add point to the vector map Laier"""
+ """Add point to the vector map layer"""
Debug.msg(2, "VDigitToolbar.OnAddPoint()")
self.action = {"desc": "addLine", "type": "point", "id": self.addPoint}
self.MapWindow.mouse["box"] = "point"
diff --git a/gui/wxpython/vdigit/wxdigit.py b/gui/wxpython/vdigit/wxdigit.py
index 10cac8710b5..c1f777ec647 100644
--- a/gui/wxpython/vdigit/wxdigit.py
+++ b/gui/wxpython/vdigit/wxdigit.py
@@ -667,7 +667,7 @@ def _getLineAreaBboxCats(self, ln_id):
ltype = Vect_read_line(self.poMapInfo, None, None, ln_id)
if ltype == GV_CENTROID:
- # TODO centroid opttimization, can be edited also its area -> it
+ # TODO centroid optimization, can be edited also its area -> it
# will appear two times in new_ lists
return self._getCentroidAreaBboxCats(ln_id)
return [self._getBbox(ln_id)], [self._getLineAreasCategories(ln_id)]
diff --git a/gui/wxpython/vnet/vnet_core.py b/gui/wxpython/vnet/vnet_core.py
index f55550e65e2..b0ec072b2af 100644
--- a/gui/wxpython/vnet/vnet_core.py
+++ b/gui/wxpython/vnet/vnet_core.py
@@ -1000,7 +1000,7 @@ def NewTmpVectMapToHist(self, prefMapName):
def AddTmpMapAnalysisMsg(mapName, tmp_maps): # TODO
- """Wraped AddTmpVectMap"""
+ """Wraps AddTmpVectMap"""
msg = _(
"Temporary map %s already exists.\n"
+ "Do you want to continue in analysis and overwrite it?"
diff --git a/gui/wxpython/vnet/vnet_data.py b/gui/wxpython/vnet/vnet_data.py
index 2074e037350..47ffdb9a371 100644
--- a/gui/wxpython/vnet/vnet_data.py
+++ b/gui/wxpython/vnet/vnet_data.py
@@ -1364,7 +1364,7 @@ def SetValue(self, value, line, col):
self.turn_data[line][col] = value
def SetUTurns(self, value):
- """Checked if checeBox is checed"""
+ """Checked if checkBox is checked"""
self.useUTurns = value
def AppendRow(self, values):
diff --git a/gui/wxpython/vnet/widgets.py b/gui/wxpython/vnet/widgets.py
index 71fcd0e0739..d997b9c2434 100644
--- a/gui/wxpython/vnet/widgets.py
+++ b/gui/wxpython/vnet/widgets.py
@@ -14,7 +14,7 @@
@author Original author Michael Barton
@author Original version improved by Martin Landa
-@author Rewritten by Markus Metz redesign georectfier -> GCP Manage
+@author Rewritten by Markus Metz redesign georectifier -> GCP Manage
@author Stepan Turek (Created PointsList from GCPList)
(GSoC 2012, mentor: Martin Landa)
"""
diff --git a/gui/wxpython/web_services/dialogs.py b/gui/wxpython/web_services/dialogs.py
index e47400cae70..bed4f57c70b 100644
--- a/gui/wxpython/web_services/dialogs.py
+++ b/gui/wxpython/web_services/dialogs.py
@@ -178,7 +178,7 @@ def _doLayout(self):
border=5,
)
- # connectin settings
+ # connection settings
settingsSizer = wx.StaticBoxSizer(self.settingsBox, wx.VERTICAL)
serverSizer = wx.FlexGridSizer(cols=3, vgap=5, hgap=5)
@@ -748,7 +748,7 @@ def LoadCapFiles(self, ws_cap_files, cmd):
)
def _getServerConnFromCmd(self, cmd):
- """Get url/server/passwod from cmd tuple"""
+ """Get url/server/password from cmd tuple"""
conn = {"url": "", "username": "", "password": ""}
for k in conn.keys():
diff --git a/gui/wxpython/web_services/widgets.py b/gui/wxpython/web_services/widgets.py
index e54bee5603f..2b70ac4c643 100644
--- a/gui/wxpython/web_services/widgets.py
+++ b/gui/wxpython/web_services/widgets.py
@@ -1,7 +1,7 @@
"""
@package web_services.widgets
-@brief Widgets for web services (WMS, WMTS, NasaOnEarh)
+@brief Widgets for web services (WMS, WMTS, NasaOnEarth)
List of classes:
- widgets::WSPanel
@@ -251,14 +251,14 @@ def _advancedSettsPage(self):
)
labels = {}
- self.l_odrder_list = None
+ self.l_order_list = None
if "WMS" in self.ws:
labels["l_order"] = StaticBox(
parent=adv_setts_panel,
id=wx.ID_ANY,
label=_("Order of layers in raster"),
)
- self.l_odrder_list = wx.ListBox(
+ self.l_order_list = wx.ListBox(
adv_setts_panel,
id=wx.ID_ANY,
choices=[],
@@ -351,7 +351,7 @@ def _advancedSettsPage(self):
gridSizer = wx.GridBagSizer(hgap=3, vgap=3)
gridSizer.Add(
- self.l_odrder_list,
+ self.l_order_list,
pos=(0, 0),
span=(4, 1),
flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND,
@@ -427,8 +427,8 @@ def _advancedSettsPage(self):
def OnUp(self, event):
"""Move selected layer up"""
- if self.l_odrder_list.GetSelections():
- pos = self.l_odrder_list.GetSelection()
+ if self.l_order_list.GetSelections():
+ pos = self.l_order_list.GetSelection()
if pos:
self.sel_layers.insert(pos - 1, self.sel_layers.pop(pos))
if pos > 0:
@@ -438,8 +438,8 @@ def OnUp(self, event):
def OnDown(self, event):
"""Move selected to down"""
- if self.l_odrder_list.GetSelections():
- pos = self.l_odrder_list.GetSelection()
+ if self.l_order_list.GetSelections():
+ pos = self.l_order_list.GetSelection()
if pos != len(self.sel_layers) - 1:
self.sel_layers.insert(pos + 1, self.sel_layers.pop(pos))
if pos < len(self.sel_layers) - 1:
@@ -461,14 +461,14 @@ def getlayercaption(layer):
return cap
layer_capts = [getlayercaption(sel_layer) for sel_layer in self.sel_layers]
- self.l_odrder_list.Set(layer_capts)
- if self.l_odrder_list.IsEmpty():
+ self.l_order_list.Set(layer_capts)
+ if self.l_order_list.IsEmpty():
self.enableButtons(False)
else:
self.enableButtons(True)
if selected is not None:
- self.l_odrder_list.SetSelection(selected)
- self.l_odrder_list.EnsureVisible(selected)
+ self.l_order_list.SetSelection(selected)
+ self.l_order_list.EnsureVisible(selected)
def OnTransparent(self, event):
checked = event.IsChecked()
@@ -841,7 +841,7 @@ def _getFormats(self, layer=None):
"""Get formats
WMS has formats defined generally for whole cap.
- In WMTS and NASA OnEarh formats are defined for layer.
+ In WMTS and NASA OnEarth formats are defined for layer.
"""
formats_label = []
if layer is None:
@@ -920,7 +920,7 @@ def __init__(self, parent, web_service, style, pos=wx.DefaultPosition):
def LoadData(self, cap=None):
"""Load data into list"""
- # detete first all items
+ # delete first all items
self.DeleteAllItems()
if not cap:
diff --git a/gui/wxpython/wxplot/base.py b/gui/wxpython/wxplot/base.py
index 7dfb444bd1e..91ae3a8eea4 100755
--- a/gui/wxpython/wxplot/base.py
+++ b/gui/wxpython/wxplot/base.py
@@ -1,7 +1,7 @@
"""
@package wxplot.base
-@brief Base classes for iinteractive plotting using PyPlot
+@brief Base classes for interactive plotting using PyPlot
Classes:
- base::PlotIcons
diff --git a/gui/wxpython/wxplot/profile.py b/gui/wxpython/wxplot/profile.py
index 240290e5b7b..cba95ac83c2 100644
--- a/gui/wxpython/wxplot/profile.py
+++ b/gui/wxpython/wxplot/profile.py
@@ -193,7 +193,7 @@ def SetupProfile(self):
# title of window
self.ptitle = _("Profile of")
- # Initialize lattitude-longitude geodesic distance calculation
+ # Initialize latitude-longitude geodesic distance calculation
if self._is_lat_lon_proj and haveCtypes:
gislib.G_begin_distance_calculations()
diff --git a/include/grass/iostream/ami_sort_impl.h b/include/grass/iostream/ami_sort_impl.h
index bdd466d2b62..ebe22358da8 100644
--- a/include/grass/iostream/ami_sort_impl.h
+++ b/include/grass/iostream/ami_sort_impl.h
@@ -112,7 +112,7 @@ size_t makeRun_Block(AMI_STREAM *instream, T *data, unsigned int run_size,
once, it reads it in blocks, sorts each block and then merges the
blocks together. Note: it is not in place! it allocates another
array of same size as data, writes the sorted run into it and
- deteles data, and replaces data with outdata */
+ deletes data, and replaces data with outdata */
template
void makeRun(AMI_STREAM *instream, T *&data, int run_size, Compare *cmp)
{
diff --git a/lib/cluster/c_exec.c b/lib/cluster/c_exec.c
index abc53d32fe5..043c67475c3 100644
--- a/lib/cluster/c_exec.c
+++ b/lib/cluster/c_exec.c
@@ -1,7 +1,7 @@
/*!
\file cluster/c_exec.c
- \brief Cluster library - Exectute clusterring
+ \brief Cluster library - Execute clusterring
(C) 2001-2009 by the GRASS Development Team
diff --git a/lib/gis/area_poly1.c b/lib/gis/area_poly1.c
index 9d06690f970..a165876a229 100644
--- a/lib/gis/area_poly1.c
+++ b/lib/gis/area_poly1.c
@@ -186,7 +186,7 @@ double G_ellipsoid_polygon_area(const double *lon, const double *lat, int n)
area = -area;
/* kludge - if polygon circles the south pole the area will be
- * computed as if it cirlced the north pole. The correction is
+ * computed as if it circled the north pole. The correction is
* the difference between total surface area of the earth and
* the "north pole" area.
*/
diff --git a/lib/vector/Vlib/close.c b/lib/vector/Vlib/close.c
index 573d75068b0..7e80e876393 100644
--- a/lib/vector/Vlib/close.c
+++ b/lib/vector/Vlib/close.c
@@ -98,7 +98,7 @@ int Vect_close(struct Map_info *Map)
Vect_copy_map_dblinks(Map, &Out, TRUE);
/* afterwords, dblinks must be removed from temporary map
otherwise when deleting temporary map also original
- attribute tables would be deteled */
+ attribute tables would be deleted */
Vect_map_del_dblink(Map, -1); /* delete db links for all layers */
if (0 != Vect_copy_map_lines_field(
diff --git a/locale/po/grasswxpy_ar.po b/locale/po/grasswxpy_ar.po
index e0cd184896d..86767a10737 100644
--- a/locale/po/grasswxpy_ar.po
+++ b/locale/po/grasswxpy_ar.po
@@ -12909,7 +12909,7 @@ msgid "Zoom to saved region extents"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -14244,7 +14244,7 @@ msgstr ""
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr ""
#: ../gui/wxpython/core/utils.py:50
@@ -14314,7 +14314,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr ""
#: ../gui/wxpython/core/debug.py:46
@@ -17919,17 +17919,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4106
diff --git a/locale/po/grasswxpy_bn.po b/locale/po/grasswxpy_bn.po
index 27ab019eb1f..505533be8e5 100644
--- a/locale/po/grasswxpy_bn.po
+++ b/locale/po/grasswxpy_bn.po
@@ -12919,7 +12919,7 @@ msgid "Zoom to saved region extents"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -14254,7 +14254,7 @@ msgstr "ত্রুটি"
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr ""
#: ../gui/wxpython/core/utils.py:50
@@ -14324,7 +14324,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr ""
#: ../gui/wxpython/core/debug.py:46
@@ -17930,17 +17930,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4106
diff --git a/locale/po/grasswxpy_cs.po b/locale/po/grasswxpy_cs.po
index f4d64a7cf4a..b13c8429409 100644
--- a/locale/po/grasswxpy_cs.po
+++ b/locale/po/grasswxpy_cs.po
@@ -13205,7 +13205,7 @@ msgid "Zoom to saved region extents"
msgstr "Přiblížit na uložený region"
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr "Nastavit výpočetní region podle pojmenovaného regionu"
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -14598,7 +14598,7 @@ msgstr "Chyba:"
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr "Nelze vykonat příkaz: '%s'"
#: ../gui/wxpython/core/utils.py:50
@@ -14668,7 +14668,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr ""
#: ../gui/wxpython/core/debug.py:46
@@ -18369,17 +18369,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr "Nelze vypočítat směrodatnou odchylku."
#: ../gui/wxpython/dbmgr/base.py:4106
diff --git a/locale/po/grasswxpy_de.po b/locale/po/grasswxpy_de.po
index 2a52e3dd394..7028a8a7c17 100644
--- a/locale/po/grasswxpy_de.po
+++ b/locale/po/grasswxpy_de.po
@@ -13102,7 +13102,7 @@ msgid "Zoom to saved region extents"
msgstr "Auf die Ausdehnung der gespeicherten Region vergrößern"
#: ../gui/wxpython/mapwin/buffered.py:2102
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2113
@@ -14486,7 +14486,7 @@ msgstr "Fehler: "
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr "Kann den Befehl '%s' nicht ausführen."
#: ../gui/wxpython/core/utils.py:50
@@ -14565,7 +14565,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr ""
#: ../gui/wxpython/core/debug.py:46
@@ -18297,17 +18297,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4047
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4056
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4083
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4091
diff --git a/locale/po/grasswxpy_el.po b/locale/po/grasswxpy_el.po
index 21230ae0488..4fdef41a031 100644
--- a/locale/po/grasswxpy_el.po
+++ b/locale/po/grasswxpy_el.po
@@ -13012,7 +13012,7 @@ msgid "Zoom to saved region extents"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -14352,7 +14352,7 @@ msgstr "Σφάλμα:"
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr "Αδυναμία εκτέλεσης εντολής: '%s'"
#: ../gui/wxpython/core/utils.py:50
@@ -14422,7 +14422,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr ""
#: ../gui/wxpython/core/debug.py:46
@@ -18053,17 +18053,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4106
diff --git a/locale/po/grasswxpy_es.po b/locale/po/grasswxpy_es.po
index 7e0d2865020..744525f188f 100644
--- a/locale/po/grasswxpy_es.po
+++ b/locale/po/grasswxpy_es.po
@@ -13890,7 +13890,7 @@ msgid "Zoom to saved region extents"
msgstr "Acercamiento a la extensión de la región guardada (zoom to saved...)"
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr "Definir región computacional desde la región nombrada"
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -15348,7 +15348,7 @@ msgstr "Error:"
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr "No se puede ejecutar el comando: '%s'"
#: ../gui/wxpython/core/utils.py:50
@@ -15428,7 +15428,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr "Etiqueta desconocida %s"
#: ../gui/wxpython/core/debug.py:46
@@ -19292,19 +19292,19 @@ msgid "Statistics is not support for DBF tables."
msgstr "Las estadísticas no están soportadas para tablas DBF."
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr "No es posible calcular estadísticas."
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
"No se pueden calcular las estadísticas. Número de líneas %d inválido (debe "
"ser %d)."
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr "No es posible calcular desviación estándar."
#: ../gui/wxpython/dbmgr/base.py:4106
@@ -22328,11 +22328,6 @@ msgstr "etiquetas:"
#~ msgid "Deactive overwrite"
#~ msgstr "Desactivar sobreescribir"
-#~ msgid "Systematic contiguos"
-#~ msgstr "Sistemático continuo"
-
-#~ msgid "Systematic non contiguos"
-#~ msgstr "Sistemático no continuo"
#, python-format
#~ msgid "Unable to load icon theme. Reason: %s. Quiting wxGUI..."
diff --git a/locale/po/grasswxpy_fi.po b/locale/po/grasswxpy_fi.po
index 2e7a8a52e1c..ab941cad2e9 100644
--- a/locale/po/grasswxpy_fi.po
+++ b/locale/po/grasswxpy_fi.po
@@ -12942,7 +12942,7 @@ msgid "Zoom to saved region extents"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -14285,7 +14285,7 @@ msgstr ""
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr ""
#: ../gui/wxpython/core/utils.py:50
@@ -14355,7 +14355,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr ""
#: ../gui/wxpython/core/debug.py:46
@@ -17969,17 +17969,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4106
diff --git a/locale/po/grasswxpy_fr.po b/locale/po/grasswxpy_fr.po
index acafa54fde4..7dd9ef346b6 100644
--- a/locale/po/grasswxpy_fr.po
+++ b/locale/po/grasswxpy_fr.po
@@ -13849,7 +13849,7 @@ msgid "Zoom to saved region extents"
msgstr "Zoomer sur les limites de la région enregistrée"
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr "Définir la région de calcul à partir d'une région enregistrée"
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -15300,7 +15300,7 @@ msgstr "Erreur :"
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr "Impossible d'exécuter la commande : '%s'"
#: ../gui/wxpython/core/utils.py:50
@@ -15379,7 +15379,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr "Étiquette inconnue %s"
#: ../gui/wxpython/core/debug.py:46
@@ -19232,19 +19232,19 @@ msgid "Statistics is not support for DBF tables."
msgstr "Les statistiques ne sont pas suportées pour les tables DBF."
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr "Impossible de calculer les statistiques"
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
"Impossible de calculer les statistiques. Nombre de lignes %d invalides "
"(devrait être %d)."
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr "Impossible de calculer l'écart-type."
#: ../gui/wxpython/dbmgr/base.py:4106
@@ -22505,11 +22505,6 @@ msgstr "étiquettes :"
#~ msgid "Deactive overwrite"
#~ msgstr "Désactiver l'écrasement"
-#~ msgid "Systematic contiguos"
-#~ msgstr "systématiquement contigüs"
-
-#~ msgid "Systematic non contiguos"
-#~ msgstr "Systématiquement non contigüs"
#, python-format
#~ msgid "Unable to load icon theme. Reason: %s. Quiting wxGUI..."
diff --git a/locale/po/grasswxpy_hu.po b/locale/po/grasswxpy_hu.po
index a512c692f8b..bceb604f0fa 100644
--- a/locale/po/grasswxpy_hu.po
+++ b/locale/po/grasswxpy_hu.po
@@ -13132,7 +13132,7 @@ msgid "Zoom to saved region extents"
msgstr "Nagyítás a mentett régió terjedelmére"
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr "Számítási régió beállítása névvel bíró régióval"
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -14522,7 +14522,7 @@ msgstr "Hiba:"
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr "Nem tudom végrehajtani a parancsot: '%s'"
#: ../gui/wxpython/core/utils.py:50
@@ -14592,7 +14592,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr ""
#: ../gui/wxpython/core/debug.py:46
@@ -18238,17 +18238,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr "Nem tudok statisztikát számítani."
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr "Nem tudok szórást számítani."
#: ../gui/wxpython/dbmgr/base.py:4106
diff --git a/locale/po/grasswxpy_id_ID.po b/locale/po/grasswxpy_id_ID.po
index b3876296a0e..e083f19231a 100644
--- a/locale/po/grasswxpy_id_ID.po
+++ b/locale/po/grasswxpy_id_ID.po
@@ -12912,7 +12912,7 @@ msgid "Zoom to saved region extents"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -14247,7 +14247,7 @@ msgstr ""
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr ""
#: ../gui/wxpython/core/utils.py:50
@@ -14317,7 +14317,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr ""
#: ../gui/wxpython/core/debug.py:46
@@ -17922,17 +17922,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4106
diff --git a/locale/po/grasswxpy_it.po b/locale/po/grasswxpy_it.po
index dafa7437a82..bc84c52cb62 100644
--- a/locale/po/grasswxpy_it.po
+++ b/locale/po/grasswxpy_it.po
@@ -13535,7 +13535,7 @@ msgid "Zoom to saved region extents"
msgstr "Zoom all'estensione della regione salvata"
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr "Imposta la regione computazionale dalla regione salvata"
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -14967,7 +14967,7 @@ msgstr "Errore:"
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr "Impossibile eseguire il comando '%s'"
#: ../gui/wxpython/core/utils.py:50
@@ -15044,7 +15044,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr "Etichetta sconosciuta %s"
#: ../gui/wxpython/core/debug.py:46
@@ -18846,19 +18846,19 @@ msgid "Statistics is not support for DBF tables."
msgstr "Statistiche non è supportato per le tabelle DBF."
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr "Impossibile calcolare le statistiche."
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
"Impossibile calcolare le statistiche. Numero non valido di linee %d "
"(dovrebbe essere %d)."
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr "Impossibile calcolare la deviazione standard."
#: ../gui/wxpython/dbmgr/base.py:4106
diff --git a/locale/po/grasswxpy_ja.po b/locale/po/grasswxpy_ja.po
index 2feb9436763..607c934e370 100644
--- a/locale/po/grasswxpy_ja.po
+++ b/locale/po/grasswxpy_ja.po
@@ -13140,7 +13140,7 @@ msgid "Zoom to saved region extents"
msgstr "保存領域をズーム"
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -14518,7 +14518,7 @@ msgstr "エラー:"
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr "コマンドが実行できません: '%s'"
#: ../gui/wxpython/core/utils.py:50
@@ -14596,7 +14596,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr "不明なタグ %s"
#: ../gui/wxpython/core/debug.py:46
@@ -18294,17 +18294,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4106
diff --git a/locale/po/grasswxpy_ko.po b/locale/po/grasswxpy_ko.po
index bbb4a9a638b..f3d48962996 100644
--- a/locale/po/grasswxpy_ko.po
+++ b/locale/po/grasswxpy_ko.po
@@ -13016,7 +13016,7 @@ msgid "Zoom to saved region extents"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -14381,7 +14381,7 @@ msgstr ""
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr ""
#: ../gui/wxpython/core/utils.py:50
@@ -14451,7 +14451,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr ""
#: ../gui/wxpython/core/debug.py:46
@@ -18094,17 +18094,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4106
diff --git a/locale/po/grasswxpy_lv.po b/locale/po/grasswxpy_lv.po
index 83f6f002239..3bddaba8f23 100644
--- a/locale/po/grasswxpy_lv.po
+++ b/locale/po/grasswxpy_lv.po
@@ -13106,7 +13106,7 @@ msgid "Zoom to saved region extents"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -14461,7 +14461,7 @@ msgstr "Kļūda: "
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr "Nebija iespējams izpildīt komandu: '%s'"
#: ../gui/wxpython/core/utils.py:50
@@ -14531,7 +14531,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr "Nezināma birka %s"
#: ../gui/wxpython/core/debug.py:46
@@ -18167,17 +18167,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4106
diff --git a/locale/po/grasswxpy_ml.po b/locale/po/grasswxpy_ml.po
index 73eaedf0eb5..6c6f3ed1df9 100644
--- a/locale/po/grasswxpy_ml.po
+++ b/locale/po/grasswxpy_ml.po
@@ -12968,7 +12968,7 @@ msgid "Zoom to saved region extents"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -14331,7 +14331,7 @@ msgstr "തെറ്റ്:"
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr "ആജ്ഞ നടപ്പാക്കുന്നതിൽ പാളിച: '%s'"
#: ../gui/wxpython/core/utils.py:50
@@ -14401,7 +14401,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr ""
#: ../gui/wxpython/core/debug.py:46
@@ -18020,17 +18020,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4106
diff --git a/locale/po/grasswxpy_pl.po b/locale/po/grasswxpy_pl.po
index c4826ee408a..0507a7af8be 100644
--- a/locale/po/grasswxpy_pl.po
+++ b/locale/po/grasswxpy_pl.po
@@ -13183,7 +13183,7 @@ msgid "Zoom to saved region extents"
msgstr "Przybliż do zapisanego regionu"
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr "Ustaw region obliczeniowy z nazwanego regionu"
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -14577,7 +14577,7 @@ msgstr "Błąd:"
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr "Nie można wykonać polecenia: %s"
#: ../gui/wxpython/core/utils.py:50
@@ -14652,7 +14652,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr ""
#: ../gui/wxpython/core/debug.py:46
@@ -18348,17 +18348,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4106
diff --git a/locale/po/grasswxpy_pt.po b/locale/po/grasswxpy_pt.po
index bae0e777dbe..aed60f40488 100644
--- a/locale/po/grasswxpy_pt.po
+++ b/locale/po/grasswxpy_pt.po
@@ -12993,7 +12993,7 @@ msgid "Zoom to saved region extents"
msgstr "Zoom para a extensão da região guardada"
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -14338,7 +14338,7 @@ msgstr "Erro:"
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr ""
#: ../gui/wxpython/core/utils.py:50
@@ -14408,7 +14408,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr ""
#: ../gui/wxpython/core/debug.py:46
@@ -18050,17 +18050,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4106
diff --git a/locale/po/grasswxpy_pt_BR.po b/locale/po/grasswxpy_pt_BR.po
index 8888a1631a8..613f1cb2f56 100644
--- a/locale/po/grasswxpy_pt_BR.po
+++ b/locale/po/grasswxpy_pt_BR.po
@@ -13682,7 +13682,7 @@ msgid "Zoom to saved region extents"
msgstr "Zoom para extensões de região salvas"
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr "Definir região compulacional da região nomeada"
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -15110,7 +15110,7 @@ msgstr "Erro:"
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr "Não foi possível executar o comando: '%s'"
#: ../gui/wxpython/core/utils.py:50
@@ -15188,7 +15188,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr "Rótulo %s desconhecido"
#: ../gui/wxpython/core/debug.py:46
@@ -18990,17 +18990,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4106
@@ -21946,11 +21946,6 @@ msgstr "rótulos:"
#~ msgid "Deactive overwrite"
#~ msgstr "Desativar susbstituição"
-#~ msgid "Systematic contiguos"
-#~ msgstr "Contiguo sistemático"
-
-#~ msgid "Systematic non contiguos"
-#~ msgstr "Não contiguo sistemático"
#, python-format
#~ msgid "Unable to load icon theme. Reason: %s. Quiting wxGUI..."
diff --git a/locale/po/grasswxpy_ro.po b/locale/po/grasswxpy_ro.po
index 4eb12668f10..d429cefff6e 100644
--- a/locale/po/grasswxpy_ro.po
+++ b/locale/po/grasswxpy_ro.po
@@ -13292,7 +13292,7 @@ msgid "Zoom to saved region extents"
msgstr "Zoom pentru a salva extinderea regiunii"
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -14673,7 +14673,7 @@ msgstr "Eroare:"
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr "Nu s-a putut executa comanda: '%s'"
#: ../gui/wxpython/core/utils.py:50
@@ -14749,7 +14749,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr ""
#: ../gui/wxpython/core/debug.py:46
@@ -18497,17 +18497,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4106
diff --git a/locale/po/grasswxpy_ru.po b/locale/po/grasswxpy_ru.po
index 4d6f7d54fc6..fab62db521c 100644
--- a/locale/po/grasswxpy_ru.po
+++ b/locale/po/grasswxpy_ru.po
@@ -13975,7 +13975,7 @@ msgid "Zoom to saved region extents"
msgstr "Задать масштаб до размера сохранённого фрагмента"
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr "Задать расчётный фрагмент от именованного фрагмента"
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -15414,7 +15414,7 @@ msgstr "Ошибка: "
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr "Не удалось выполнить команду: «%s»"
#: ../gui/wxpython/core/utils.py:50
@@ -15492,7 +15492,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr "Неизвестный тег %s"
#: ../gui/wxpython/core/debug.py:46
@@ -19344,19 +19344,19 @@ msgid "Statistics is not support for DBF tables."
msgstr "Статистика для таблиц DBF не поддерживается."
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr "Не удалось вычислить статистику."
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
"Не удалось вычислить статистику. Недопустимое количество линий %d (должно "
"быть %d)."
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr "Не удалось рассчитать стандартное отклонение."
#: ../gui/wxpython/dbmgr/base.py:4106
@@ -22052,10 +22052,10 @@ msgstr "подписи:"
#~ msgid "Georectifier manual"
#~ msgstr "Руководство для инструмента геопривязки"
-#~ msgid "Systematic contiguos"
+#~ msgid "Systematic contiguous"
#~ msgstr "Систематическая непрерывная выборка"
-#~ msgid "Systematic non contiguos"
+#~ msgid "Systematic non contiguous"
#~ msgstr "Систематическая несвязная выборка"
#, python-brace-format
diff --git a/locale/po/grasswxpy_si.po b/locale/po/grasswxpy_si.po
index af376434553..d16fda596e4 100644
--- a/locale/po/grasswxpy_si.po
+++ b/locale/po/grasswxpy_si.po
@@ -12911,7 +12911,7 @@ msgid "Zoom to saved region extents"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -14246,7 +14246,7 @@ msgstr ""
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr ""
#: ../gui/wxpython/core/utils.py:50
@@ -14316,7 +14316,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr ""
#: ../gui/wxpython/core/debug.py:46
@@ -17921,17 +17921,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4106
diff --git a/locale/po/grasswxpy_sl.po b/locale/po/grasswxpy_sl.po
index ecd79bf6108..c6040fe924f 100644
--- a/locale/po/grasswxpy_sl.po
+++ b/locale/po/grasswxpy_sl.po
@@ -12909,7 +12909,7 @@ msgid "Zoom to saved region extents"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -14244,7 +14244,7 @@ msgstr ""
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr ""
#: ../gui/wxpython/core/utils.py:50
@@ -14314,7 +14314,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr ""
#: ../gui/wxpython/core/debug.py:46
@@ -17919,17 +17919,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4106
diff --git a/locale/po/grasswxpy_ta.po b/locale/po/grasswxpy_ta.po
index d9a3d921f5a..b70e1dae68c 100644
--- a/locale/po/grasswxpy_ta.po
+++ b/locale/po/grasswxpy_ta.po
@@ -12925,7 +12925,7 @@ msgid "Zoom to saved region extents"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -14260,7 +14260,7 @@ msgstr "பிழை:"
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr "கட்டளையை செயல்படுத்த முடியவில்லை: '%s'"
#: ../gui/wxpython/core/utils.py:50
@@ -14330,7 +14330,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr ""
#: ../gui/wxpython/core/debug.py:46
@@ -17936,17 +17936,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4106
diff --git a/locale/po/grasswxpy_th.po b/locale/po/grasswxpy_th.po
index 359511f80b9..30d9bfa552b 100644
--- a/locale/po/grasswxpy_th.po
+++ b/locale/po/grasswxpy_th.po
@@ -12962,7 +12962,7 @@ msgid "Zoom to saved region extents"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -14298,7 +14298,7 @@ msgstr ""
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr ""
#: ../gui/wxpython/core/utils.py:50
@@ -14368,7 +14368,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr ""
#: ../gui/wxpython/core/debug.py:46
@@ -17984,17 +17984,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4106
diff --git a/locale/po/grasswxpy_tr.po b/locale/po/grasswxpy_tr.po
index cef0605d3d9..4deb7a1b3ac 100644
--- a/locale/po/grasswxpy_tr.po
+++ b/locale/po/grasswxpy_tr.po
@@ -13045,7 +13045,7 @@ msgid "Zoom to saved region extents"
msgstr "Kaydedilmiş bölge boyutlarına göre yakınlaştır"
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -14399,7 +14399,7 @@ msgstr "Hata:"
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr "'%s' komutu çalıştırılamıyor"
#: ../gui/wxpython/core/utils.py:50
@@ -14469,7 +14469,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr ""
#: ../gui/wxpython/core/debug.py:46
@@ -18104,17 +18104,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4106
diff --git a/locale/po/grasswxpy_uk.po b/locale/po/grasswxpy_uk.po
index a225fe82eb0..64dfd4353fd 100644
--- a/locale/po/grasswxpy_uk.po
+++ b/locale/po/grasswxpy_uk.po
@@ -12912,7 +12912,7 @@ msgid "Zoom to saved region extents"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -14247,7 +14247,7 @@ msgstr ""
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr ""
#: ../gui/wxpython/core/utils.py:50
@@ -14317,7 +14317,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr ""
#: ../gui/wxpython/core/debug.py:46
@@ -17922,17 +17922,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4106
diff --git a/locale/po/grasswxpy_vi.po b/locale/po/grasswxpy_vi.po
index c5621a9bf4e..65969729bf8 100644
--- a/locale/po/grasswxpy_vi.po
+++ b/locale/po/grasswxpy_vi.po
@@ -12923,7 +12923,7 @@ msgid "Zoom to saved region extents"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -14258,7 +14258,7 @@ msgstr ""
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr ""
#: ../gui/wxpython/core/utils.py:50
@@ -14328,7 +14328,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr ""
#: ../gui/wxpython/core/debug.py:46
@@ -17934,17 +17934,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4106
diff --git a/locale/po/grasswxpy_zh.po b/locale/po/grasswxpy_zh.po
index 25fba6850cc..1e7ea46fc14 100644
--- a/locale/po/grasswxpy_zh.po
+++ b/locale/po/grasswxpy_zh.po
@@ -13066,7 +13066,7 @@ msgid "Zoom to saved region extents"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -14420,7 +14420,7 @@ msgstr "错误:"
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr "无法执行命令:'%s'"
#: ../gui/wxpython/core/utils.py:50
@@ -14492,7 +14492,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr ""
#: ../gui/wxpython/core/debug.py:46
@@ -18147,17 +18147,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4106
@@ -20720,11 +20720,6 @@ msgstr "标签:"
#~ msgid "Automatically hightlight selected features in map display"
#~ msgstr "地图显示窗口中自动高亮所选择要素"
-#~ msgid "Systematic contiguos"
-#~ msgstr "系统连续"
-
-#~ msgid "Systematic non contiguos"
-#~ msgstr "系统不连续"
#~ msgid ""
#~ "Unable to get current geographic extent. Force quiting wxGUI. Please "
diff --git a/locale/po/grasswxpy_zh_CN.po b/locale/po/grasswxpy_zh_CN.po
index 64212537ad1..ea37efcd3e5 100644
--- a/locale/po/grasswxpy_zh_CN.po
+++ b/locale/po/grasswxpy_zh_CN.po
@@ -12912,7 +12912,7 @@ msgid "Zoom to saved region extents"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -14247,7 +14247,7 @@ msgstr ""
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr ""
#: ../gui/wxpython/core/utils.py:50
@@ -14317,7 +14317,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr ""
#: ../gui/wxpython/core/debug.py:46
@@ -17922,17 +17922,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4106
diff --git a/locale/templates/grasswxpy.pot b/locale/templates/grasswxpy.pot
index ed4066f6747..cc797b54db5 100644
--- a/locale/templates/grasswxpy.pot
+++ b/locale/templates/grasswxpy.pot
@@ -12910,7 +12910,7 @@ msgid "Zoom to saved region extents"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2103
-msgid "Set compulational region from named region"
+msgid "Set computational region from named region"
msgstr ""
#: ../gui/wxpython/mapwin/buffered.py:2114
@@ -14245,7 +14245,7 @@ msgstr ""
#: ../gui/wxpython/core/gcmd.py:504
#, python-format
-msgid "Unable to exectute command: '%s'"
+msgid "Unable to execute command: '%s'"
msgstr ""
#: ../gui/wxpython/core/utils.py:50
@@ -14315,7 +14315,7 @@ msgstr ""
#: ../gui/wxpython/core/menutree.py:155
#, python-format
-msgid "Unknow tag %s"
+msgid "Unknown tag %s"
msgstr ""
#: ../gui/wxpython/core/debug.py:46
@@ -17920,17 +17920,17 @@ msgid "Statistics is not support for DBF tables."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4062
-msgid "Unable to calculte statistics."
+msgid "Unable to calculate statistics."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4071
#, python-format
msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+"Unable to calculate statistics. Invalid number of lines %d (should be %d)."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4098
-msgid "Unable to calculte standard deviation."
+msgid "Unable to calculate standard deviation."
msgstr ""
#: ../gui/wxpython/dbmgr/base.py:4106
diff --git a/python/grass/pygrass/modules/grid/grid.py b/python/grass/pygrass/modules/grid/grid.py
index ffae173ca79..cc3f406d72d 100644
--- a/python/grass/pygrass/modules/grid/grid.py
+++ b/python/grass/pygrass/modules/grid/grid.py
@@ -582,7 +582,7 @@ def estimate_tile_size(self):
self.height = ceil(region.rows / self.processes)
def get_works(self):
- """Return a list of tuble with the parameters for cmd_exe function"""
+ """Return a list of tuples with the parameters for cmd_exe function"""
works = []
reg = Region()
if self.move:
From 8ce0b06b2fcd221b8e11ad138915d08b5c032941 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Hern=C3=A1n=20De=20Angelis?=
<51515911+dhdeangelis@users.noreply.github.com>
Date: Tue, 19 Nov 2024 12:31:01 +0100
Subject: [PATCH 07/45] docs: v.out.postgis.html fix manual typos (#4717)
---
vector/v.out.postgis/v.out.postgis.html | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/vector/v.out.postgis/v.out.postgis.html b/vector/v.out.postgis/v.out.postgis.html
index aa9bd459778..a95a7d3f21e 100644
--- a/vector/v.out.postgis/v.out.postgis.html
+++ b/vector/v.out.postgis/v.out.postgis.html
@@ -39,7 +39,7 @@ DESCRIPTION
TOPO_TOLERANCE=<value> - tolerance for PostGIS
Topology schema,
see CreateTopology
- function for defails, default: 0
+ function for details, default: 0
TOPO_GEO_ONLY=YES|NO - store in PostGIS Topology schema
only data relevant to Topo-Geo data model,
default: NO
@@ -90,7 +90,7 @@ NOTES
Multigeometries are not currently supported. Features with the same
-category are exported as multiple singe features.
+category are exported as multiple single features.
v.out.postgis also allows exporting vector features as
@@ -154,7 +154,7 @@
Export Simple Features
OGR library, namely using PostgreSQL driver. Contrary to
the v.out.ogr
module, v.out.postgis is using directly PostGIS data provider
-which is part of GRASS vector engine. Beside
+which is part of GRASS vector engine. Besides
that, v.out.postgis is optimized for PostGIS export including
topological access to the data.
From 9984205dc8eaab7f014a5117374565a479297d9d Mon Sep 17 00:00:00 2001
From: Nicklas Larsson
Date: Tue, 19 Nov 2024 13:18:01 +0100
Subject: [PATCH 08/45] packaging: build Windows with libopenblas (#4716)
---
mswindows/osgeo4w/package.sh | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/mswindows/osgeo4w/package.sh b/mswindows/osgeo4w/package.sh
index c189cf92c93..643d6735362 100755
--- a/mswindows/osgeo4w/package.sh
+++ b/mswindows/osgeo4w/package.sh
@@ -107,7 +107,6 @@ fi
exec 3>&1 > >(tee mswindows/osgeo4w/package.log) 2>&1
DLLS="
- /mingw64/bin/libblas.dll
/mingw64/bin/libbrotlicommon.dll
/mingw64/bin/libbrotlidec.dll
/mingw64/bin/libbz2-1.dll
@@ -123,7 +122,6 @@ DLLS="
/mingw64/bin/libharfbuzz-0.dll
/mingw64/bin/libiconv-2.dll
/mingw64/bin/libintl-8.dll
- /mingw64/bin/liblapack.dll
/mingw64/bin/libpcre-1.dll
/mingw64/bin/libpixman-1-0.dll
/mingw64/bin/libpng16-16.dll
@@ -133,6 +131,7 @@ DLLS="
/mingw64/bin/libtre-5.dll
/mingw64/bin/libwinpthread-1.dll
/mingw64/bin/zlib1.dll
+ /mingw64/bin/libopenblas.dll
"
if ! [ -f mswindows/osgeo4w/configure-stamp ]; then
@@ -173,7 +172,6 @@ if ! [ -f mswindows/osgeo4w/configure-stamp ]; then
--with-geos=$PWD/mswindows/osgeo4w/geos-config \
--with-includes=$OSGEO4W_ROOT_MSYS/include \
--with-lapack \
- --with-lapack-includes=/mingw64/include \
--with-liblas=$PWD/mswindows/osgeo4w/liblas-config \
--with-libs="$OSGEO4W_ROOT_MSYS/lib" \
--with-netcdf=${OSGEO4W_ROOT_MSYS}/bin/nc-config \
From 24315031ebeb91a7a11a208adb33ac2f864c1065 Mon Sep 17 00:00:00 2001
From: Emmanuel Ferdman
Date: Tue, 19 Nov 2024 14:39:46 +0200
Subject: [PATCH 09/45] docs: update requirements guide (#4718)
---
macosx/ReadMe.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/macosx/ReadMe.md b/macosx/ReadMe.md
index 085c09c691b..fa9c13b1aff 100644
--- a/macosx/ReadMe.md
+++ b/macosx/ReadMe.md
@@ -228,7 +228,7 @@ build)*:
`--x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib`
-To install the new Python GUI (see [REQUIREMENTS.html](../REQUIREMENTS.html)
+To install the new Python GUI (see [REQUIREMENTS.md](../REQUIREMENTS.md)
and [gui/wxpython/README](../gui/wxpython/README), wxpython installer
available at [wxpython.org](https://wxpython.org/)), add this to configure (fill
in the correct version at x.x.x.x for the wxpython you have installed):
From 2af6ffc05767f4e52e7af80db45b5428a7bce4d0 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Tue, 19 Nov 2024 12:45:01 -0500
Subject: [PATCH 10/45] CI(deps): Lock file maintenance (#4712)
---
flake.lock | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/flake.lock b/flake.lock
index da0ff570aca..0e90b2409c9 100644
--- a/flake.lock
+++ b/flake.lock
@@ -19,11 +19,11 @@
},
"nixpkgs": {
"locked": {
- "lastModified": 1730958623,
- "narHash": "sha256-JwQZIGSYnRNOgDDoIgqKITrPVil+RMWHsZH1eE1VGN0=",
+ "lastModified": 1731890469,
+ "narHash": "sha256-D1FNZ70NmQEwNxpSSdTXCSklBH1z2isPR84J6DQrJGs=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "85f7e662eda4fa3a995556527c87b2524b691933",
+ "rev": "5083ec887760adfe12af64830a66807423a859a7",
"type": "github"
},
"original": {
From 1b1febf0ddc65d3a76e5085dc97ec6ed3f165498 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Tue, 19 Nov 2024 19:34:12 +0000
Subject: [PATCH 11/45] CI(deps): Update docker/metadata-action action to
v5.6.1 (#4719)
---
.github/workflows/docker.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml
index 6b2ad83629e..e4369818fc6 100644
--- a/.github/workflows/docker.yml
+++ b/.github/workflows/docker.yml
@@ -54,7 +54,7 @@ jobs:
fetch-depth: 0
- name: Docker meta
id: meta
- uses: docker/metadata-action@8e5442c4ef9f78752691e2d8f8d19755c6f78e81 # v5.5.1
+ uses: docker/metadata-action@369eb591f429131d6889c46b94e711f089e6ca96 # v5.6.1
with:
images: osgeo/grass-gis
tags: |
From 25cf476108cdad604e1b4c8f826f8fa8fe7ca82c Mon Sep 17 00:00:00 2001
From: Markus Neteler
Date: Wed, 20 Nov 2024 00:13:45 +0100
Subject: [PATCH 12/45] docs: fix broken HTML (#4720)
This small PR fixes
- HTML id attributes
- a `href` typo
---
raster/r.in.poly/r.in.poly.html | 5 ++---
raster/r.surf.idw/r.surf.idw.html | 6 +++---
temporal/t.vect.univar/t.vect.univar.html | 2 +-
3 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/raster/r.in.poly/r.in.poly.html b/raster/r.in.poly/r.in.poly.html
index 71673f807a5..0dd942c1af9 100644
--- a/raster/r.in.poly/r.in.poly.html
+++ b/raster/r.in.poly/r.in.poly.html
@@ -8,7 +8,7 @@ DESCRIPTION
The input file is an ASCII text file containing the
polygon, linear, and point feature definitions.
The format of this file is described in the
-INPUT FORMAT section below.
+INPUT FORMAT section below.
The number of raster rows to hold in memory is per default 4096.
@@ -31,8 +31,7 @@
NOTES
Polygons are filled, i.e. they define an area.
-
-
Input Format
+
The input format for the input file consists of
sections describing either polygonal areas, linear features, or
diff --git a/raster/r.surf.idw/r.surf.idw.html b/raster/r.surf.idw/r.surf.idw.html
index dac9c6ead76..dd985fbc178 100644
--- a/raster/r.surf.idw/r.surf.idw.html
+++ b/raster/r.surf.idw/r.surf.idw.html
@@ -17,7 +17,7 @@ DESCRIPTION
The -e flag is the error analysis option that interpolates values
only for those cells of the input raster map which have non-zero values and
-outputs the difference (see NOTES below).
+outputs the difference (see NOTES below).
The npoints parameter defines the number of nearest data points used
to determine the interpolated value of an output raster cell.
@@ -66,8 +66,8 @@
NOTES
for the former may include unacceptable nonconformities in
the surface pattern.
-
-
+
Surface-generation error analysis
+
The -e flag option provides a standard
surface-generation error analysis facility. It produces an output raster map
of the difference of interpolated values minus input values for those cells
diff --git a/temporal/t.vect.univar/t.vect.univar.html b/temporal/t.vect.univar/t.vect.univar.html
index 2e747567b0a..36015d9396c 100644
--- a/temporal/t.vect.univar/t.vect.univar.html
+++ b/temporal/t.vect.univar/t.vect.univar.html
@@ -5,7 +5,7 @@ DESCRIPTION
EXAMPLE
-The example is based on the t.vect.observe.strds
+The example is based on the t.vect.observe.strds
example; so create the precip_stations space time vector dataset
and after run the following command:
From bb04c32f00f3a6993dc5ae52183161180a0f71af Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Hern=C3=A1n=20De=20Angelis?=
<51515911+dhdeangelis@users.noreply.github.com>
Date: Wed, 20 Nov 2024 13:07:08 +0100
Subject: [PATCH 13/45] docs: v.mkgrid.html fix manual typos (#4724)
---
vector/v.mkgrid/v.mkgrid.html | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/vector/v.mkgrid/v.mkgrid.html b/vector/v.mkgrid/v.mkgrid.html
index 8d5a6900fff..a1e7d87a6df 100644
--- a/vector/v.mkgrid/v.mkgrid.html
+++ b/vector/v.mkgrid/v.mkgrid.html
@@ -66,8 +66,8 @@ Creating a positioned grid in a latitude-longitude
at 167deg 52min east, 47deg 6min south. For use with e.g. QGIS you can then
pull this grid into a project with projected coordinate reference system (CRS)
using v.proj before
-exporting as a Shapefile with v.out.ogr (within GRASS GIS you could
-just use d.grid -w from the projec with projected CRS for the same effect):
+exporting as a vector file with v.out.ogr (within GRASS GIS you could
+just use d.grid -w from the project with projected CRS for the same effect):
v.mkgrid map=p2min_grid grid=10,12 position=coor coordinates=167:52E,47:06S box=0:02,0:02
@@ -153,7 +153,7 @@ Using hexagons for point density
v.vect.stats points=points_of_interest areas=hexagons count_column=count
-User should note that some of the points may be outside the grid
+Users should note that some of the points may be outside the grid
since the hexagons cannot cover all the area around the edges
(the computational region extent needs to be enlarged if all points
should be considered).
@@ -164,11 +164,6 @@ Using hexagons for point density
v.colors map=hexagons use=attr column=count color=viridis
-
-
Point density in a hexagonal grid
From 546a544caa4e9e18b9d07e653579562331df067f Mon Sep 17 00:00:00 2001
From: Arohan Ajit
Date: Wed, 20 Nov 2024 07:14:03 -0500
Subject: [PATCH 14/45] wxGUI: Fixed PEP8 errors in web_services/ (#4706)
* updated
* fixed import issue
---
.flake8 | 3 ---
gui/wxpython/web_services/widgets.py | 8 +++-----
2 files changed, 3 insertions(+), 8 deletions(-)
diff --git a/.flake8 b/.flake8
index 0ea1b48ae68..b836e69cd79 100644
--- a/.flake8
+++ b/.flake8
@@ -45,9 +45,6 @@ per-file-ignores =
gui/wxpython/mapwin/graphics.py: E722
gui/wxpython/startup/locdownload.py: E722, E402
gui/wxpython/timeline/g.gui.timeline.py: E501
- gui/wxpython/tools/build_modules_xml.py: E722
- gui/wxpython/web_services/cap_interface.py: E501
- gui/wxpython/web_services/widgets.py: F841, E402
# Generated file
gui/wxpython/menustrings.py: E501
# F821 undefined name 'cmp'
diff --git a/gui/wxpython/web_services/widgets.py b/gui/wxpython/web_services/widgets.py
index 2b70ac4c643..db057313831 100644
--- a/gui/wxpython/web_services/widgets.py
+++ b/gui/wxpython/web_services/widgets.py
@@ -60,15 +60,14 @@
)
import grass.script as gs
+from grass.pydispatch.signal import Signal
rinwms_path = os.path.join(os.getenv("GISBASE"), "etc", "r.in.wms")
if rinwms_path not in sys.path:
sys.path.append(rinwms_path)
-from wms_base import WMSDriversInfo
-from srs import Srs
-
-from grass.pydispatch.signal import Signal
+from wms_base import WMSDriversInfo # noqa:E402
+from srs import Srs # noqa:E402
class WSPanel(wx.Panel):
@@ -750,7 +749,6 @@ def OnListSelChanged(self, event):
self.projs_list = []
projs_list = []
- intersect_proj = []
first = True
for curr in curr_sel_ls:
layer_projs = curr["cap_intf_l"].GetLayerData("srs")
From 2b169286f685f33fe27c23dc85a23934cf5d89fe Mon Sep 17 00:00:00 2001
From: Arohan Ajit
Date: Wed, 20 Nov 2024 07:19:44 -0500
Subject: [PATCH 15/45] wxGUI: Fixed PEP8 errors in wxplot/ (#4699)
* removed pep8 errors
---
.flake8 | 3 ---
gui/wxpython/wxplot/base.py | 7 +++----
gui/wxpython/wxplot/histogram.py | 5 +----
gui/wxpython/wxplot/profile.py | 5 ++---
4 files changed, 6 insertions(+), 14 deletions(-)
diff --git a/.flake8 b/.flake8
index b836e69cd79..207535e2ea2 100644
--- a/.flake8
+++ b/.flake8
@@ -31,9 +31,6 @@ per-file-ignores =
gui/wxpython/iclass/frame.py: F405, F403
gui/wxpython/iclass/g.gui.iclass.py: E501
gui/wxpython/iclass/statistics.py: F841, F405, F403
- gui/wxpython/wxplot/histogram.py: E722
- gui/wxpython/wxplot/profile.py: F841, E722
- gui/wxpython/wxplot/base.py: F841, E722
gui/wxpython/location_wizard/dialogs.py: F841
gui/wxpython/location_wizard/wizard.py: E722
gui/wxpython/mapdisp/main.py: E722
diff --git a/gui/wxpython/wxplot/base.py b/gui/wxpython/wxplot/base.py
index 91ae3a8eea4..057894c0250 100755
--- a/gui/wxpython/wxplot/base.py
+++ b/gui/wxpython/wxplot/base.py
@@ -30,6 +30,7 @@
from gui_core.wrap import Menu
import grass.script as gs
+from grass.exceptions import CalledModuleError
PlotIcons = {
"draw": MetaIcon(img="show", label=_("Draw/re-draw plot")),
@@ -204,7 +205,7 @@ def InitRasterOpts(self, rasterList, plottype):
try:
ret = gs.raster_info(r)
- except:
+ except CalledModuleError:
continue
# if r.info cannot parse map, skip it
@@ -270,7 +271,7 @@ def InitRasterPairs(self, rasterList, plottype):
ret0 = gs.raster_info(rpair[0])
ret1 = gs.raster_info(rpair[1])
- except:
+ except (IndexError, CalledModuleError):
continue
# if r.info cannot parse map, skip it
@@ -510,7 +511,6 @@ def OnMotion(self, event):
def PlotOptionsMenu(self, event):
"""Popup menu for plot and text options"""
- point = wx.GetMousePosition()
popt = Menu()
# Add items to the menu
settext = wx.MenuItem(popt, wx.ID_ANY, _("Text settings"))
@@ -608,7 +608,6 @@ def PlotOptions(self, event):
def PrintMenu(self, event):
"""Print options and output menu"""
- point = wx.GetMousePosition()
printmenu = Menu()
for title, handler in (
(_("Page setup"), self.OnPageSetup),
diff --git a/gui/wxpython/wxplot/histogram.py b/gui/wxpython/wxplot/histogram.py
index ef252f0b052..b65ebd03192 100644
--- a/gui/wxpython/wxplot/histogram.py
+++ b/gui/wxpython/wxplot/histogram.py
@@ -97,10 +97,7 @@ def OnCreateHist(self, event):
create a list of cell value and count/percent/area pairs. This is passed to
plot to create a line graph of the histogram.
"""
- try:
- self.SetCursor(StockCursor(wx.CURSOR_ARROW))
- except:
- pass
+ self.SetCursor(StockCursor(wx.CURSOR_ARROW))
self.SetGraphStyle()
wx.BeginBusyCursor()
diff --git a/gui/wxpython/wxplot/profile.py b/gui/wxpython/wxplot/profile.py
index cba95ac83c2..e0994f1a8a5 100644
--- a/gui/wxpython/wxplot/profile.py
+++ b/gui/wxpython/wxplot/profile.py
@@ -250,7 +250,7 @@ def SetupProfile(self):
# delete extra first segment point
try:
self.seglist.pop(0)
- except:
+ except IndexError:
pass
#
@@ -291,7 +291,6 @@ def CreateDatalist(self, raster, coords):
# freezing with large, high resolution maps
region = gs.region()
curr_res = min(float(region["nsres"]), float(region["ewres"]))
- transect_rec = 0
if self.transect_length / curr_res > 500:
transect_res = self.transect_length / 500
else:
@@ -486,7 +485,7 @@ def OnStats(self, event):
statstr += "median: %f\n" % np.median(a)
statstr += "distance along transect: %f\n\n" % self.transect_length
message.append(statstr)
- except:
+ except (ValueError, TypeError, KeyError, IndexError):
pass
stats = PlotStatsFrame(self, id=wx.ID_ANY, message=message, title=title)
From 720274886aeb0e603784f4e5b6d181d0004079cf Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 20 Nov 2024 07:24:19 -0500
Subject: [PATCH 16/45] CI(deps): Update codecov/codecov-action action to
v5.0.4 (#4721)
---
.github/workflows/pytest.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml
index 449c4aff0f9..48b77ebcf40 100644
--- a/.github/workflows/pytest.yml
+++ b/.github/workflows/pytest.yml
@@ -115,7 +115,7 @@ jobs:
coverage html
- name: Upload coverage reports to Codecov
- uses: codecov/codecov-action@5c47607acb93fed5485fdbf7232e8a31425f672a # v5.0.2
+ uses: codecov/codecov-action@985343d70564a82044c1b7fcb84c2fa05405c1a2 # v5.0.4
with:
verbose: true
flags: pytest-python-${{ matrix.python-version }}
From 36359e23449482c03ebfdc2c1055dddcd2fff7ab Mon Sep 17 00:00:00 2001
From: Arohan Ajit
Date: Wed, 20 Nov 2024 08:35:59 -0500
Subject: [PATCH 17/45] tests: replaced module imports to the top (#4656)
---
.flake8 | 3 +--
python/grass/pygrass/tests/benchmark.py | 5 +++++
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/.flake8 b/.flake8
index 207535e2ea2..1e8a6f880d7 100644
--- a/.flake8
+++ b/.flake8
@@ -63,11 +63,10 @@ per-file-ignores =
python/grass/temporal/temporal_granularity.py: E722
# Current benchmarks/tests are changing sys.path before import.
# Possibly, a different approach should be taken there anyway.
- python/grass/pygrass/tests/benchmark.py: E402, F821
+ python/grass/pygrass/tests/benchmark.py: F821
# Configuration file for Sphinx:
# Ignoring import/code mix and line length.
# Files not managed by Black
- python/grass/imaging/images2gif.py: E226
# Unused imports in init files
# F403 star import used; unable to detect undefined names
python/grass/temporal/__init__.py: F401, F403
diff --git a/python/grass/pygrass/tests/benchmark.py b/python/grass/pygrass/tests/benchmark.py
index fa7f0c01a65..b6c5e98c26d 100644
--- a/python/grass/pygrass/tests/benchmark.py
+++ b/python/grass/pygrass/tests/benchmark.py
@@ -15,14 +15,19 @@
from jinja2 import Template
from pathlib import Path
+
sys.path.append(str(Path.cwd()))
sys.path.append("%s/.." % (str(Path.cwd())))
+
+# flake8: noqa: E402
import grass.lib.gis as libgis
import grass.lib.raster as libraster
import grass.script as gs
import ctypes
+# flake8: qa
+
def test__RasterSegment_value_access__if():
test_a = pygrass.RasterSegment(name="test_a")
From 55c0326ad01623571778a10fdd555f8f3b8c7a6d Mon Sep 17 00:00:00 2001
From: Markus Neteler
Date: Thu, 21 Nov 2024 09:06:00 +0100
Subject: [PATCH 18/45] i18n: fix duplicate messsages in po files (#4722)
This PR de-duplicates the PO message files (currently the compilation is broken, apparently introduced in #4710), using
```
cd locale/po/
for i in $(ls grass*.po); do
msguniq --use-first ${i} > $i.tmp
rm -f ${i}
mv $i.tmp ${i}
done
```
---
locale/po/grassmods_fr.po | 32 ++++++++++++++++----------------
locale/po/grasswxpy_ar.po | 4 ----
locale/po/grasswxpy_bn.po | 4 ----
locale/po/grasswxpy_cs.po | 4 ----
locale/po/grasswxpy_de.po | 8 ++------
locale/po/grasswxpy_el.po | 4 ----
locale/po/grasswxpy_es.po | 5 -----
locale/po/grasswxpy_fi.po | 4 ----
locale/po/grasswxpy_fr.po | 15 +++++----------
locale/po/grasswxpy_hu.po | 4 ----
locale/po/grasswxpy_id_ID.po | 4 ----
locale/po/grasswxpy_it.po | 4 ----
locale/po/grasswxpy_ja.po | 4 ----
locale/po/grasswxpy_ko.po | 4 ----
locale/po/grasswxpy_lv.po | 4 ----
locale/po/grasswxpy_ml.po | 4 ----
locale/po/grasswxpy_pl.po | 4 ----
locale/po/grasswxpy_pt.po | 4 ----
locale/po/grasswxpy_pt_BR.po | 5 -----
locale/po/grasswxpy_ro.po | 4 ----
locale/po/grasswxpy_ru.po | 10 ----------
locale/po/grasswxpy_si.po | 4 ----
locale/po/grasswxpy_sl.po | 4 ----
locale/po/grasswxpy_ta.po | 4 ----
locale/po/grasswxpy_th.po | 4 ----
locale/po/grasswxpy_tr.po | 4 ----
locale/po/grasswxpy_uk.po | 4 ----
locale/po/grasswxpy_vi.po | 4 ----
locale/po/grasswxpy_zh.po | 5 -----
locale/po/grasswxpy_zh_CN.po | 4 ----
30 files changed, 23 insertions(+), 149 deletions(-)
diff --git a/locale/po/grassmods_fr.po b/locale/po/grassmods_fr.po
index 8f4602fc6ec..e56cb236875 100644
--- a/locale/po/grassmods_fr.po
+++ b/locale/po/grassmods_fr.po
@@ -1578,8 +1578,8 @@ msgid ""
"Unable to convert input map coordinate reference system to GRASS format; "
"cannot create new project."
msgstr ""
-"Impossible de convertir la projection de la couche en entrée au format GRASS "
-"; impossible de créer le nouveau projet"
+"Impossible de convertir la projection de la couche en entrée au format "
+"GRASS ; impossible de créer le nouveau projet"
#: ../raster/r.external/proj.c:140 ../raster/r.in.gdal/main.c:1035
#: ../raster/r.in.gdal/proj.c:139 ../vector/v.in.lidar/main.c:522
@@ -1638,7 +1638,7 @@ msgstr "Le PROJ_INFO du jeu de données est : \n"
#: ../raster/r.in.lidar/projection.c:89 ../raster3d/r3.in.lidar/projection.c:90
#: ../vector/v.in.lidar/projection.c:87 ../vector/v.external/proj.c:360
#: ../vector/v.in.pdal/projection.c:87 ../vector/v.in.ogr/proj.c:492
-#, c-format, fuzzy
+#, fuzzy, c-format
msgid ""
"\n"
"In case of no significant differences in the coordinate reference system "
@@ -4444,7 +4444,7 @@ msgid "unable to open input file <%s>"
msgstr ""
#: ../raster/r.quant/read_rules.c:89
-#, c-format, fuzzy
+#, fuzzy, c-format
msgid ""
"\n"
"Enter the rule or 'help' for the format description or 'end' to exit:\n"
@@ -4561,7 +4561,7 @@ msgid "Failed to set raster attribute table"
msgstr ""
#: ../raster/r.out.gdal/main.c:51
-#, c-format, fuzzy
+#, fuzzy, c-format
msgid "Supported formats:\n"
msgstr "Formats supportés :\n"
@@ -12802,7 +12802,7 @@ msgid "Amount of memory cannot be negative."
msgstr "Maximum de mémoire à utiliser (en MB)"
#: ../raster/r.viewshed/main.cpp:616
-#, c-format, fuzzy
+#, fuzzy, c-format
msgid " Converting %d to %d MB"
msgstr " Conversion de %d en %d MB"
@@ -23481,12 +23481,12 @@ msgid "Region%s"
msgstr ""
#: ../imagery/i.cluster/main.c:261
-#, c-format, fuzzy
+#, fuzzy, c-format
msgid " North: %12.2f East: %12.2f%s"
msgstr " Nord : %12.2f Est : %12.2f%s"
#: ../imagery/i.cluster/main.c:263
-#, c-format, fuzzy
+#, fuzzy, c-format
msgid " South: %12.2f West: %12.2f%s"
msgstr " Sud : %12.2f Ouest : %12.2f%s"
@@ -23496,7 +23496,7 @@ msgid " Res: %12.2f Res: %12.2f%s"
msgstr ""
#: ../imagery/i.cluster/main.c:267
-#, c-format, fuzzy
+#, fuzzy, c-format
msgid " Rows: %12d Cols: %12d Cells: %d%s"
msgstr " Lignes : %12d Colonnes : %12d Cellules : %d%s"
@@ -23526,17 +23526,17 @@ msgid " Minimum class size: %d%s"
msgstr ""
#: ../imagery/i.cluster/main.c:278
-#, c-format, fuzzy
+#, fuzzy, c-format
msgid " Minimum class separation: %f%s"
msgstr " Séparation minimale des classes : %f%s"
#: ../imagery/i.cluster/main.c:280
-#, c-format, fuzzy
+#, fuzzy, c-format
msgid " Percent convergence: %f%s"
msgstr " Pourcentage de convergence : %f%s"
#: ../imagery/i.cluster/main.c:282
-#, c-format, fuzzy
+#, fuzzy, c-format
msgid " Maximum number of iterations: %d%s"
msgstr " Nombre maximum d'itérations : %d%s"
@@ -28076,7 +28076,7 @@ msgid "Lists all database drivers."
msgstr "Lister tous les pilotes de bases de données."
#: ../db/db.execute/main.c:55 ../db/db.select/main.c:62
-#, c-format, fuzzy
+#, fuzzy, c-format
msgid "Unable to open file <%s>: %s"
msgstr "Impossible d'ouvrir le fichier <%s> : %s"
@@ -28981,7 +28981,7 @@ msgid "The password was stored in file (%s%cdblogin)"
msgstr ""
#: ../db/db.select/main.c:104
-#, c-format, fuzzy
+#, fuzzy, c-format
msgid "Test %s."
msgstr "Test %s."
@@ -57802,7 +57802,7 @@ msgstr ""
#: ../vector/v.vol.rst/user1.c:586 ../vector/v.vol.rst/user1.c:640
#: ../vector/v.vol.rst/user1.c:694 ../vector/v.vol.rst/user1.c:748
#: ../vector/v.vol.rst/user1.c:802
-#, c-format, fuzzy
+#, fuzzy, c-format
msgid "Error closing output file %s"
msgstr "Erreur en fermant le fichier de sortie %s"
@@ -66437,7 +66437,7 @@ msgid ""
msgstr ""
#: ../display/d.vect.thematic/main.c:515
-#, c-format, fuzzy
+#, fuzzy, c-format
msgid ""
"\n"
"Total number of records: %.0f\n"
diff --git a/locale/po/grasswxpy_ar.po b/locale/po/grasswxpy_ar.po
index 86767a10737..d036766265d 100644
--- a/locale/po/grasswxpy_ar.po
+++ b/locale/po/grasswxpy_ar.po
@@ -14934,10 +14934,6 @@ msgstr ""
msgid "Set computational region extent interactively"
msgstr ""
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr ""
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr ""
diff --git a/locale/po/grasswxpy_bn.po b/locale/po/grasswxpy_bn.po
index 505533be8e5..e02d0b5a3ba 100644
--- a/locale/po/grasswxpy_bn.po
+++ b/locale/po/grasswxpy_bn.po
@@ -14944,10 +14944,6 @@ msgstr ""
msgid "Set computational region extent interactively"
msgstr ""
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr ""
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr ""
diff --git a/locale/po/grasswxpy_cs.po b/locale/po/grasswxpy_cs.po
index b13c8429409..2423deae915 100644
--- a/locale/po/grasswxpy_cs.po
+++ b/locale/po/grasswxpy_cs.po
@@ -15316,10 +15316,6 @@ msgstr "Nastavit výpočetní region podle aktuálního okna"
msgid "Set computational region extent interactively"
msgstr "Nastavit výpočetní region interaktivně"
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr "Nastavit výpočetní region podle pojmenovaného regionu"
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr "Uložit výpočetní region jako pojmenovaný region"
diff --git a/locale/po/grasswxpy_de.po b/locale/po/grasswxpy_de.po
index 7028a8a7c17..f0047ccae3d 100644
--- a/locale/po/grasswxpy_de.po
+++ b/locale/po/grasswxpy_de.po
@@ -6948,8 +6948,8 @@ msgstr "SIMWE Oberflächenabflussmodellierung"
#: ../gui/wxpython/menustrings.py:428 ../gui/wxpython/menustrings.py:1391
msgid "Overland flow hydrologic simulation using path sampling method (SIMWE)."
msgstr ""
-"Hydrologische Simulation des Oberflächenabfluss mittels \"path "
-"sampling\" (SIMWE)."
+"Hydrologische Simulation des Oberflächenabfluss mittels \"path sampling\" "
+"(SIMWE)."
#: ../gui/wxpython/menustrings.py:429 ../gui/wxpython/menustrings.py:1392
msgid "SIMWE Sediment flux modeling"
@@ -15227,10 +15227,6 @@ msgstr ""
msgid "Set computational region extent interactively"
msgstr ""
-#: ../gui/wxpython/mapdisp/frame.py:1563
-msgid "Set computational region from named region"
-msgstr ""
-
#: ../gui/wxpython/mapdisp/frame.py:1566
msgid "Save computational region to named region"
msgstr ""
diff --git a/locale/po/grasswxpy_el.po b/locale/po/grasswxpy_el.po
index 4fdef41a031..86bd0fc413c 100644
--- a/locale/po/grasswxpy_el.po
+++ b/locale/po/grasswxpy_el.po
@@ -15045,10 +15045,6 @@ msgstr ""
msgid "Set computational region extent interactively"
msgstr ""
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr ""
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr ""
diff --git a/locale/po/grasswxpy_es.po b/locale/po/grasswxpy_es.po
index 744525f188f..a1b7b5dc5ca 100644
--- a/locale/po/grasswxpy_es.po
+++ b/locale/po/grasswxpy_es.po
@@ -16108,10 +16108,6 @@ msgstr "Definir región computacional a partir de la visualización"
msgid "Set computational region extent interactively"
msgstr "Definir extensión de la región computacional de manera interactiva"
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr "Establecer región computacional desde región nombrada"
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr "Guardar región computacional con nombre"
@@ -22328,7 +22324,6 @@ msgstr "etiquetas:"
#~ msgid "Deactive overwrite"
#~ msgstr "Desactivar sobreescribir"
-
#, python-format
#~ msgid "Unable to load icon theme. Reason: %s. Quiting wxGUI..."
#~ msgstr ""
diff --git a/locale/po/grasswxpy_fi.po b/locale/po/grasswxpy_fi.po
index ab941cad2e9..f8bc8277c4c 100644
--- a/locale/po/grasswxpy_fi.po
+++ b/locale/po/grasswxpy_fi.po
@@ -14975,10 +14975,6 @@ msgstr ""
msgid "Set computational region extent interactively"
msgstr ""
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr ""
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr ""
diff --git a/locale/po/grasswxpy_fr.po b/locale/po/grasswxpy_fr.po
index 7dd9ef346b6..cc9054a8c58 100644
--- a/locale/po/grasswxpy_fr.po
+++ b/locale/po/grasswxpy_fr.po
@@ -11908,8 +11908,8 @@ msgstr "Niveau de verbosité :"
#: ../gui/wxpython/gui_core/preferences.py:1294
msgid "Number of threads for parallel computing (supported tools only):"
msgstr ""
-"Nombre de threads pour le calcul parallèle (outils pris en charge uniquement)"
-" :"
+"Nombre de threads pour le calcul parallèle (outils pris en charge "
+"uniquement) :"
#: ../gui/wxpython/gui_core/preferences.py:1319
msgid "Maximum memory in MB to be used (supported tools only):"
@@ -16054,10 +16054,6 @@ msgstr "Définir la région calculée à partir de celle de l'écran"
msgid "Set computational region extent interactively"
msgstr "Définir l'emprise de la région de calcul de manière interactive"
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr "Définir la région calculée depuis un nom de région"
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr "Enregistrer la région calculée vers un nom de région"
@@ -21053,6 +21049,9 @@ msgstr "Cliquez-déposez pour redimensionner l'objet"
msgid "labels: "
msgstr "étiquettes :"
+msgid "supported tools only"
+msgstr "outils pris en charge uniquement"
+
#~ msgid "Location Name:"
#~ msgstr "Nom du secteur : "
@@ -22505,7 +22504,6 @@ msgstr "étiquettes :"
#~ msgid "Deactive overwrite"
#~ msgstr "Désactiver l'écrasement"
-
#, python-format
#~ msgid "Unable to load icon theme. Reason: %s. Quiting wxGUI..."
#~ msgstr ""
@@ -22517,6 +22515,3 @@ msgstr "étiquettes :"
#~ msgstr ""
#~ "Impossible d'obtenir l’extension géographique courante. Sortie forcée de "
#~ "wxGUI. Merci d'exécuter manuellement g.region pour résoudre ce problème."
-
-msgid "supported tools only"
-msgstr "outils pris en charge uniquement"
diff --git a/locale/po/grasswxpy_hu.po b/locale/po/grasswxpy_hu.po
index bceb604f0fa..31bfc368ed9 100644
--- a/locale/po/grasswxpy_hu.po
+++ b/locale/po/grasswxpy_hu.po
@@ -15220,10 +15220,6 @@ msgstr ""
msgid "Set computational region extent interactively"
msgstr "Számítási régió interaktív beállítása"
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr "Számítási régió beállítása névvel bíró régióval"
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr "Számítási régió mentése névvel bíró régióba"
diff --git a/locale/po/grasswxpy_id_ID.po b/locale/po/grasswxpy_id_ID.po
index e083f19231a..214b014b5ca 100644
--- a/locale/po/grasswxpy_id_ID.po
+++ b/locale/po/grasswxpy_id_ID.po
@@ -14937,10 +14937,6 @@ msgstr ""
msgid "Set computational region extent interactively"
msgstr ""
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr ""
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr ""
diff --git a/locale/po/grasswxpy_it.po b/locale/po/grasswxpy_it.po
index bc84c52cb62..214a047df46 100644
--- a/locale/po/grasswxpy_it.po
+++ b/locale/po/grasswxpy_it.po
@@ -15709,10 +15709,6 @@ msgstr "Imposta la regione computazionale dall'estensione del display"
msgid "Set computational region extent interactively"
msgstr "Imposta la region computazionale interattivamente"
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr "Imposta regione computazionale da una regione precedentemente salvata"
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr "Salva la regione computazionale a una regione con nome"
diff --git a/locale/po/grasswxpy_ja.po b/locale/po/grasswxpy_ja.po
index 607c934e370..3e5d57c2131 100644
--- a/locale/po/grasswxpy_ja.po
+++ b/locale/po/grasswxpy_ja.po
@@ -15242,10 +15242,6 @@ msgstr ""
msgid "Set computational region extent interactively"
msgstr ""
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr ""
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr ""
diff --git a/locale/po/grasswxpy_ko.po b/locale/po/grasswxpy_ko.po
index f3d48962996..8b4fb2b2df0 100644
--- a/locale/po/grasswxpy_ko.po
+++ b/locale/po/grasswxpy_ko.po
@@ -15073,10 +15073,6 @@ msgstr ""
msgid "Set computational region extent interactively"
msgstr ""
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr ""
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr ""
diff --git a/locale/po/grasswxpy_lv.po b/locale/po/grasswxpy_lv.po
index 3bddaba8f23..b3b37154a29 100644
--- a/locale/po/grasswxpy_lv.po
+++ b/locale/po/grasswxpy_lv.po
@@ -15155,10 +15155,6 @@ msgstr "Iestatīt aprēķinu reģiona apjomu no kartes skata"
msgid "Set computational region extent interactively"
msgstr "Interaktīvi iestatīt aprēķinu reģiona apjomu"
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr ""
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr ""
diff --git a/locale/po/grasswxpy_ml.po b/locale/po/grasswxpy_ml.po
index 6c6f3ed1df9..662a6f8458f 100644
--- a/locale/po/grasswxpy_ml.po
+++ b/locale/po/grasswxpy_ml.po
@@ -15022,10 +15022,6 @@ msgstr ""
msgid "Set computational region extent interactively"
msgstr ""
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr ""
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr ""
diff --git a/locale/po/grasswxpy_pl.po b/locale/po/grasswxpy_pl.po
index 0507a7af8be..ac254af9257 100644
--- a/locale/po/grasswxpy_pl.po
+++ b/locale/po/grasswxpy_pl.po
@@ -15292,10 +15292,6 @@ msgstr "Ustaw zasięg wyświetlonej mapy jako region obliczeniowy"
msgid "Set computational region extent interactively"
msgstr ""
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr ""
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr "Zapisz region obliczeniowy do nazwanego regionu"
diff --git a/locale/po/grasswxpy_pt.po b/locale/po/grasswxpy_pt.po
index aed60f40488..fba7c73d12c 100644
--- a/locale/po/grasswxpy_pt.po
+++ b/locale/po/grasswxpy_pt.po
@@ -15041,10 +15041,6 @@ msgstr ""
msgid "Set computational region extent interactively"
msgstr ""
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr ""
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr ""
diff --git a/locale/po/grasswxpy_pt_BR.po b/locale/po/grasswxpy_pt_BR.po
index 613f1cb2f56..25d6d633daf 100644
--- a/locale/po/grasswxpy_pt_BR.po
+++ b/locale/po/grasswxpy_pt_BR.po
@@ -15863,10 +15863,6 @@ msgstr "Definir a extensão da região computacional a partir da exibição"
msgid "Set computational region extent interactively"
msgstr "Definir a extensão da região computacional interativamente"
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr "Definir a região computacional da região nomeada"
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr "Salvar região computacional para região nomeada"
@@ -21946,7 +21942,6 @@ msgstr "rótulos:"
#~ msgid "Deactive overwrite"
#~ msgstr "Desativar susbstituição"
-
#, python-format
#~ msgid "Unable to load icon theme. Reason: %s. Quiting wxGUI..."
#~ msgstr ""
diff --git a/locale/po/grasswxpy_ro.po b/locale/po/grasswxpy_ro.po
index d429cefff6e..b6b46be3dcc 100644
--- a/locale/po/grasswxpy_ro.po
+++ b/locale/po/grasswxpy_ro.po
@@ -15407,10 +15407,6 @@ msgstr ""
msgid "Set computational region extent interactively"
msgstr ""
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr ""
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr ""
diff --git a/locale/po/grasswxpy_ru.po b/locale/po/grasswxpy_ru.po
index fab62db521c..0ba2b3f722c 100644
--- a/locale/po/grasswxpy_ru.po
+++ b/locale/po/grasswxpy_ru.po
@@ -16173,10 +16173,6 @@ msgstr "Задайте охват расчётного фрагмента из
msgid "Set computational region extent interactively"
msgstr "Задайте охват расчётного фрагмента в интерактивном режиме"
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr "Задайте охват расчётного фрагмента из именованного фрагмента"
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr "Сохраните охват расчётного фрагмента из именованного фрагмента"
@@ -22052,12 +22048,6 @@ msgstr "подписи:"
#~ msgid "Georectifier manual"
#~ msgstr "Руководство для инструмента геопривязки"
-#~ msgid "Systematic contiguous"
-#~ msgstr "Систематическая непрерывная выборка"
-
-#~ msgid "Systematic non contiguous"
-#~ msgstr "Систематическая несвязная выборка"
-
#, python-brace-format
#~ msgid ""
#~ "The following error occured when deleting mapset <{path}>:\n"
diff --git a/locale/po/grasswxpy_si.po b/locale/po/grasswxpy_si.po
index d16fda596e4..ffb2ef37ba9 100644
--- a/locale/po/grasswxpy_si.po
+++ b/locale/po/grasswxpy_si.po
@@ -14936,10 +14936,6 @@ msgstr ""
msgid "Set computational region extent interactively"
msgstr ""
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr ""
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr ""
diff --git a/locale/po/grasswxpy_sl.po b/locale/po/grasswxpy_sl.po
index c6040fe924f..d4be9c40b20 100644
--- a/locale/po/grasswxpy_sl.po
+++ b/locale/po/grasswxpy_sl.po
@@ -14934,10 +14934,6 @@ msgstr ""
msgid "Set computational region extent interactively"
msgstr ""
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr ""
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr ""
diff --git a/locale/po/grasswxpy_ta.po b/locale/po/grasswxpy_ta.po
index b70e1dae68c..0ef7e90495b 100644
--- a/locale/po/grasswxpy_ta.po
+++ b/locale/po/grasswxpy_ta.po
@@ -14950,10 +14950,6 @@ msgstr ""
msgid "Set computational region extent interactively"
msgstr ""
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr ""
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr ""
diff --git a/locale/po/grasswxpy_th.po b/locale/po/grasswxpy_th.po
index 30d9bfa552b..056f6c8805e 100644
--- a/locale/po/grasswxpy_th.po
+++ b/locale/po/grasswxpy_th.po
@@ -14990,10 +14990,6 @@ msgstr ""
msgid "Set computational region extent interactively"
msgstr ""
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr ""
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr ""
diff --git a/locale/po/grasswxpy_tr.po b/locale/po/grasswxpy_tr.po
index 4deb7a1b3ac..726090ba1d6 100644
--- a/locale/po/grasswxpy_tr.po
+++ b/locale/po/grasswxpy_tr.po
@@ -15095,10 +15095,6 @@ msgstr ""
msgid "Set computational region extent interactively"
msgstr ""
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr ""
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr ""
diff --git a/locale/po/grasswxpy_uk.po b/locale/po/grasswxpy_uk.po
index 64dfd4353fd..196ede55c72 100644
--- a/locale/po/grasswxpy_uk.po
+++ b/locale/po/grasswxpy_uk.po
@@ -14937,10 +14937,6 @@ msgstr ""
msgid "Set computational region extent interactively"
msgstr ""
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr ""
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr ""
diff --git a/locale/po/grasswxpy_vi.po b/locale/po/grasswxpy_vi.po
index 65969729bf8..f4c61ca3ab2 100644
--- a/locale/po/grasswxpy_vi.po
+++ b/locale/po/grasswxpy_vi.po
@@ -14948,10 +14948,6 @@ msgstr ""
msgid "Set computational region extent interactively"
msgstr ""
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr ""
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr ""
diff --git a/locale/po/grasswxpy_zh.po b/locale/po/grasswxpy_zh.po
index 1e7ea46fc14..6d0ac28a768 100644
--- a/locale/po/grasswxpy_zh.po
+++ b/locale/po/grasswxpy_zh.po
@@ -15117,10 +15117,6 @@ msgstr ""
msgid "Set computational region extent interactively"
msgstr ""
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr ""
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr ""
@@ -20720,7 +20716,6 @@ msgstr "标签:"
#~ msgid "Automatically hightlight selected features in map display"
#~ msgstr "地图显示窗口中自动高亮所选择要素"
-
#~ msgid ""
#~ "Unable to get current geographic extent. Force quiting wxGUI. Please "
#~ "manually run g.region to fix the problem."
diff --git a/locale/po/grasswxpy_zh_CN.po b/locale/po/grasswxpy_zh_CN.po
index ea37efcd3e5..1172a4af931 100644
--- a/locale/po/grasswxpy_zh_CN.po
+++ b/locale/po/grasswxpy_zh_CN.po
@@ -14937,10 +14937,6 @@ msgstr ""
msgid "Set computational region extent interactively"
msgstr ""
-#: ../gui/wxpython/mapdisp/frame.py:1531
-msgid "Set computational region from named region"
-msgstr ""
-
#: ../gui/wxpython/mapdisp/frame.py:1534
msgid "Save computational region to named region"
msgstr ""
From 97da0dc44fbe169e6e70d2eaf801ada40c22020f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Hern=C3=A1n=20De=20Angelis?=
<51515911+dhdeangelis@users.noreply.github.com>
Date: Thu, 21 Nov 2024 13:24:24 +0100
Subject: [PATCH 19/45] docs: v.net.timetable.html fix manual typo (#4732)
---
vector/v.net.timetable/v.net.timetable.html | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/vector/v.net.timetable/v.net.timetable.html b/vector/v.net.timetable/v.net.timetable.html
index e990ca5d8f1..3540f93e08f 100644
--- a/vector/v.net.timetable/v.net.timetable.html
+++ b/vector/v.net.timetable/v.net.timetable.html
@@ -9,7 +9,7 @@ DESCRIPTION
PATH_ID FROM_X FROM_Y TO_X TO_Y START_TIME MIN_CHANGE MAX_CHANGES WALK_CHANGE
PATH_ID FROM_STOP TO_STOP START_TIME MIN_CHANGE MAX_CHANGES WALK_CHANGE
-where PATH_ID is the identificator of a query that is used in the
+where PATH_ID is the identifier of a query that is used in the
output map to differentiate between queries. Search begins at
START_TIME. MIN_CHANGE gives the minimum number of time
(inclusively) for a change from one route to another. MAX_CHANGES
@@ -42,7 +42,7 @@ DESCRIPTION
3|47|300|3|24|24
where CAT is the category of a point in the map, PATH_ID is the path
-identificator, STOP_ID is the identificator of the stop as used in
+identifier, STOP_ID is the identifier of the stop as used in
the input map, INDEX is the index of the stop on the path (i.e,
index=1 is the first stop visited, ...) and ARR_TIME and DEP_TIME
denote the arrival time and departure time respectively. Arrival
@@ -51,14 +51,14 @@ DESCRIPTION
time.
The table linked to the second layer corresponds to subroutes taken
-between stops. The following table is obtainedd for the above query:
+between stops. The following table is obtained for the above query:
cat|path_id|from_id|to_id|route_id|index|from_time|to_time
1|47|130|250|15|1|15|22
2|47|250|300|-1|2|22|24
where CAT is the category of lines of subroute between stops FROM_ID
-to TO_ID, ROUTE_ID is the identificator of the route taken or -1 if
+to TO_ID, ROUTE_ID is the identifier of the route taken or -1 if
walking, INDEX and PATH_ID are as above and FROM_TIME and TO_TIME
denote the times between which the route is taken.
@@ -67,7 +67,7 @@ DESCRIPTION
is added between two corresponding points. Finally, instead of
straight line segment, the actual paths of routes can be given in
paths layer. If this parameter is used then each line in the
-input map must contain identificators as category numbers of all
+input map must contain identifiers as category numbers of all
routes passing through the line. The module then finds the path
between two stops and writes this path instead. In case of walking
from one stop to another, straight line between the stops is used.
@@ -83,7 +83,7 @@ NOTES
still needs to be a separate route for every time. For each stop
(given by the category number of the point) the table storing
information about the routes must contain the list of all routes
-stopping at the stop(given by route identificators) together with
+stopping at the stop(given by route identifiers) together with
arrival times. That is, the table must contain three columns: stop -
which is the key of the table, route_id and stop_time
where each triple corresponds to a route arriving to a stop and a
@@ -122,7 +122,7 @@ NOTES
EXAMPLES
-To find a path from stop with identificator 130 to stop with
+To find a path from stop with identifier 130 to stop with
category 300, starting at time 0, with one time unit for change,
maximum of 5 changes and with walking not considered a change of
route, we use the following command:
From c877e71d20a0ad7bda8fafc7f344bfb17eb6a2e7 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 21 Nov 2024 07:25:01 -0500
Subject: [PATCH 20/45] CI(deps): Update github/codeql-action action to v3.27.5
(#4727)
---
.github/workflows/codeql-analysis.yml | 4 ++--
.github/workflows/python-code-quality.yml | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index 5b9c8119477..9d7d954d15b 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -56,7 +56,7 @@ jobs:
if: ${{ matrix.language == 'c-cpp' }}
- name: Initialize CodeQL
- uses: github/codeql-action/init@ea9e4e37992a54ee68a9622e985e60c8e8f12d9f # v3.27.4
+ uses: github/codeql-action/init@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # v3.27.5
with:
languages: ${{ matrix.language }}
config-file: ./.github/codeql/codeql-config.yml
@@ -81,6 +81,6 @@ jobs:
run: .github/workflows/build_ubuntu-22.04.sh "${HOME}/install"
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@ea9e4e37992a54ee68a9622e985e60c8e8f12d9f # v3.27.4
+ uses: github/codeql-action/analyze@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # v3.27.5
with:
category: "/language:${{matrix.language}}"
diff --git a/.github/workflows/python-code-quality.yml b/.github/workflows/python-code-quality.yml
index 63bfd709bcf..5d1a3ac1539 100644
--- a/.github/workflows/python-code-quality.yml
+++ b/.github/workflows/python-code-quality.yml
@@ -135,7 +135,7 @@ jobs:
path: bandit.sarif
- name: Upload SARIF File into Security Tab
- uses: github/codeql-action/upload-sarif@ea9e4e37992a54ee68a9622e985e60c8e8f12d9f # v3.27.4
+ uses: github/codeql-action/upload-sarif@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # v3.27.5
with:
sarif_file: bandit.sarif
From 0b9b43bde05a13f3cf0efc78d319a9dc11c88663 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 21 Nov 2024 07:25:47 -0500
Subject: [PATCH 21/45] CI(deps): Update codecov/codecov-action action to
v5.0.7 (#4726)
---
.github/workflows/pytest.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml
index 48b77ebcf40..539076078ec 100644
--- a/.github/workflows/pytest.yml
+++ b/.github/workflows/pytest.yml
@@ -115,7 +115,7 @@ jobs:
coverage html
- name: Upload coverage reports to Codecov
- uses: codecov/codecov-action@985343d70564a82044c1b7fcb84c2fa05405c1a2 # v5.0.4
+ uses: codecov/codecov-action@015f24e6818733317a2da2edd6290ab26238649a # v5.0.7
with:
verbose: true
flags: pytest-python-${{ matrix.python-version }}
From f63024f5716ef22696bdccaffdf65164d643388e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Edouard=20Choini=C3=A8re?=
<27212526+echoix@users.noreply.github.com>
Date: Thu, 21 Nov 2024 09:18:55 -0500
Subject: [PATCH 22/45] CI(Travis): Set python version to 3.10 through pyenv
global (#4731)
* CI(Travis): Set pyenv global to an already installed Python version
Might become unavailable, it will remain dependant on what Travis installs in their images
---
.travis.yml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/.travis.yml b/.travis.yml
index 50dff8d2fa7..435d0013de8 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -31,6 +31,11 @@ env:
- GRASS_EXTRA_CXXFLAGS="-Werror -fPIC -Wfatal-errors"
before_install:
+ # Show available versions if ever pyenv global fails
+ - pyenv versions
+ - pyenv global 3.10
+ # Show that the selected version is correctly set
+ - pyenv versions
- ./.travis/$TRAVIS_OS_NAME.before_install.sh
install:
From 9f09469aefc538a2196a7d54c03d581824e8df01 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Hern=C3=A1n=20De=20Angelis?=
<51515911+dhdeangelis@users.noreply.github.com>
Date: Fri, 22 Nov 2024 14:10:59 +0100
Subject: [PATCH 23/45] docs: v.net.salesman.html fix manual typos (#4737)
---
vector/v.net.salesman/v.net.salesman.html | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/vector/v.net.salesman/v.net.salesman.html b/vector/v.net.salesman/v.net.salesman.html
index 0f29c69e857..00153281daf 100644
--- a/vector/v.net.salesman/v.net.salesman.html
+++ b/vector/v.net.salesman/v.net.salesman.html
@@ -3,7 +3,7 @@ DESCRIPTION
v.net.salesman calculates the optimal route to visit nodes on a
vector network.
-Costs may be either line lengths, or attributes saved in a database
+
Costs may be either line lengths or attributes saved in a database
table. These attribute values are taken as costs of whole segments, not
as costs to traverse a length unit (e.g. meter) of the segment.
For example, if the speed limit is 100 km / h, the cost to traverse a
@@ -14,16 +14,16 @@
DESCRIPTION
Supported are cost assignments for arcs,
and also different costs for both directions of a vector line.
For areas, costs will be calculated along boundary lines.
+
The input vector needs to be prepared with v.net operation=connect
in order to connect points representing center nodes to the network.
Points specified by category must be exactly on network nodes, and the
input vector map needs to be prepared with v.net operation=connect.
-
Application of flag -t enables a turntable support.
-This flag requires additional parameters turn_layer and turn_cat_layer
-that are otherwise ignored.
- The turntable allows
+
The flag -t enables turntable support.
+This flag requires additional parameters, turn_layer and turn_cat_layer,
+that are otherwise ignored. The turntable allows
to model e.g. traffic code, where some turns may be prohibited.
This means that the input layer is expanded by
turntable with costs of every possible turn on any possible node
@@ -161,7 +161,7 @@
AUTHORS
TURNS SUPPORT
-The turns support was implemnented as part of GRASS GIS turns cost project
+The turns support was implemented as part of GRASS GIS turns cost project
at Czech Technical University in Prague, Czech Republic.
Eliska Kyzlikova, Stepan Turek, Lukas Bocan and Viera Bejdova participated
in the project.
From c2fb1181383f7452b01e6cd3e315ce4c75113386 Mon Sep 17 00:00:00 2001
From: Markus Metz <33666869+metzm@users.noreply.github.com>
Date: Fri, 22 Nov 2024 21:35:47 +0100
Subject: [PATCH 24/45] r.to.vect: new flag to re-center centroids (#4690)
* r.to.vect: new flag to re-center centroids
---
raster/r.to.vect/areas_io.c | 19 +++++++++++++++++++
raster/r.to.vect/global.h | 3 ++-
raster/r.to.vect/main.c | 15 +++++++++++++--
raster/r.to.vect/r.to.vect.html | 5 +++++
4 files changed, 39 insertions(+), 3 deletions(-)
diff --git a/raster/r.to.vect/areas_io.c b/raster/r.to.vect/areas_io.c
index 6d9cfd10e84..eae104e3339 100644
--- a/raster/r.to.vect/areas_io.c
+++ b/raster/r.to.vect/areas_io.c
@@ -290,6 +290,10 @@ int write_area(
catNum = 1;
+ if (centroid_flag) {
+ Vect_build_partial(&Map, GV_BUILD_ATTACH_ISLES);
+ }
+
G_important_message(_("Writing areas..."));
for (i = 0, p = a_list; i < n_areas; i++, p++) {
G_percent(i, n_areas, 3);
@@ -327,6 +331,21 @@ int write_area(
break;
}
+ if (centroid_flag) {
+ int area, ret;
+
+ area = Vect_find_area(&Map, x, y);
+ if (area == 0) {
+ G_warning(_("No area for centroid %d"), i);
+ }
+ else {
+ ret = Vect_get_point_in_area(&Map, area, &x, &y);
+ if (ret < 0) {
+ G_warning(_("Unable to calculate area centroid"));
+ }
+ }
+ }
+
Vect_reset_line(points);
Vect_append_point(points, x, y, 0.0);
diff --git a/raster/r.to.vect/global.h b/raster/r.to.vect/global.h
index 7b0084153bb..81f748e67e5 100644
--- a/raster/r.to.vect/global.h
+++ b/raster/r.to.vect/global.h
@@ -48,7 +48,8 @@ extern int n_alloced_ptrs;
extern int
smooth_flag; /* this is 0 for no smoothing, 1 for smoothing of lines */
-extern int value_flag; /* use raster values as categories */
+extern int value_flag; /* use raster values as categories */
+extern int centroid_flag; /* re-center centroids */
extern struct Categories RastCats;
extern int has_cats; /* Category labels available */
diff --git a/raster/r.to.vect/main.c b/raster/r.to.vect/main.c
index b8fea5678a3..da89c9a0c08 100644
--- a/raster/r.to.vect/main.c
+++ b/raster/r.to.vect/main.c
@@ -48,8 +48,10 @@ int row_length, row_count, n_rows;
int total_areas;
int n_alloced_ptrs;
-int smooth_flag; /* this is 0 for no smoothing, 1 for smoothing of lines */
-int value_flag; /* use raster values as categories */
+int smooth_flag; /* this is 0 for no smoothing, 1 for smoothing of lines */
+int value_flag; /* use raster values as categories */
+int centroid_flag; /* re-center centroids */
+
struct Categories RastCats;
int has_cats; /* Category labels available */
struct field_info *Fi;
@@ -66,6 +68,7 @@ int main(int argc, char *argv[])
struct GModule *module;
struct Option *in_opt, *out_opt, *feature_opt, *column_name;
struct Flag *smooth_flg, *value_flg, *z_flg, *no_topol, *notab_flg;
+ struct Flag *centroid_flg;
int feature, notab_flag;
G_gisinit(argv[0]);
@@ -115,6 +118,13 @@ int main(int argc, char *argv[])
no_topol->label = _("Do not build vector topology");
no_topol->description = _("Recommended for massive point conversion");
+ centroid_flg = G_define_flag();
+ centroid_flg->key = 'c';
+ centroid_flg->label =
+ _("Move centroids to more central locations within areas");
+ centroid_flg->description = _("Default: centroids are located anywhere in "
+ "areas, often close to boundaries");
+
notab_flg = G_define_standard_flag(G_FLG_V_TABLE);
if (G_parser(argc, argv))
@@ -123,6 +133,7 @@ int main(int argc, char *argv[])
feature = Vect_option_to_types(feature_opt);
smooth_flag = (smooth_flg->answer) ? SMOOTH : NO_SMOOTH;
value_flag = value_flg->answer;
+ centroid_flag = centroid_flg->answer;
notab_flag = notab_flg->answer;
if (z_flg->answer && (feature != GV_POINT))
diff --git a/raster/r.to.vect/r.to.vect.html b/raster/r.to.vect/r.to.vect.html
index 0bf0b21dfe2..363b1444182 100644
--- a/raster/r.to.vect/r.to.vect.html
+++ b/raster/r.to.vect/r.to.vect.html
@@ -57,6 +57,11 @@ Area conversion
input file. If the raster map contains other data (i.e., line edges,
or point data) the output may be wrong.
+
+By default, area centroids are often located close to boundaries and not
+in the middle of an area. Centroids can be more centrally located with
+the -c flag.
+
EXAMPLES
The examples are based on the North Carolina sample dataset:
From a58e17817a44d09f5bb1a0bf462bf8a2ab6ed115 Mon Sep 17 00:00:00 2001
From: Markus Neteler
Date: Sat, 23 Nov 2024 01:51:16 +0100
Subject: [PATCH 25/45] man: fix KeyError: 'MDDIR' in man/build_md.py (#4739)
At time the GRASS GIS main compilation with addons with `cron_grass_preview_build_binaries.sh` is broken:
https://grass.osgeo.org/grass85/binary/linux/snapshot/build.log.txt
```
...
Parsing ... SUCCESS
Parsing ... FAILED
Parsing ... FAILED
Parsing ... FAILED
Parsing ... FAILED
+ cp /home/neteler/.grass8/addons/modules.xml /var/www/code_and_data/addons/grass8/modules.xml
+ export ARCH
+ export ARCH_DISTDIR=/home/neteler/src//main/dist.x86_64-pc-linux-gnu
+ export GISBASE=/home/neteler/src//main/dist.x86_64-pc-linux-gnu
+ export VERSION_NUMBER=8.5
+ python3 /home/neteler/src//main/man/build_keywords.py /var/www/code_and_data/grass85/manuals/ /var/www/code_and_data/grass85/manuals/addons/
Traceback (most recent call last):
File "/home/neteler/src//main/man/build_keywords.py", line 202, in
build_keywords("md")
File "/home/neteler/src//main/man/build_keywords.py", line 68, in build_keywords
from build_md import (
File "/home/neteler/src/main/man/build_md.py", line 264, in
man_dir = os.path.join(os.environ["MDDIR"], "source")
File "/usr/lib/python3.9/os.py", line 679, in __getitem__
raise KeyError(key) from None
KeyError: 'MDDIR'
```
This PR attemps to fix this bug (inspired by `man/build_html.py`). Tested on grass.osgeo.org (without log file).
Co-authored-by: Martin Landa
---
man/build_md.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/man/build_md.py b/man/build_md.py
index 4976c8f6364..0aae069edef 100644
--- a/man/build_md.py
+++ b/man/build_md.py
@@ -261,6 +261,6 @@ def get_desc(cmd):
############################################################################
-man_dir = os.path.join(os.environ["MDDIR"], "source")
+man_dir = os.path.join(os.environ["ARCH_DISTDIR"], "docs", "mkdocs", "source")
############################################################################
From 29bb77b6a407d562e40b7b1c0934146147988c61 Mon Sep 17 00:00:00 2001
From: ShubhamDesai <42180509+ShubhamDesai@users.noreply.github.com>
Date: Fri, 22 Nov 2024 20:48:44 -0500
Subject: [PATCH 26/45] r.watershed: Fix Resource Leak issue (#4687)
* Fix Resource Leak issue
* G_free()
---
raster/r.watershed/ram/do_cum.c | 3 +++
raster/r.watershed/seg/do_cum.c | 2 ++
2 files changed, 5 insertions(+)
diff --git a/raster/r.watershed/ram/do_cum.c b/raster/r.watershed/ram/do_cum.c
index c882b82bb46..0bebc9dee46 100644
--- a/raster/r.watershed/ram/do_cum.c
+++ b/raster/r.watershed/ram/do_cum.c
@@ -218,6 +218,8 @@ int do_cum(void)
}
}
G_free(astar_pts);
+ G_free(contour);
+ G_free(dist_to_nbr);
return 0;
}
@@ -632,6 +634,7 @@ int do_cum_mfd(void)
G_free(dist_to_nbr);
G_free(weight);
+ G_free(contour);
return 0;
}
diff --git a/raster/r.watershed/seg/do_cum.c b/raster/r.watershed/seg/do_cum.c
index bd5bbebbed9..f7918ecdb5c 100644
--- a/raster/r.watershed/seg/do_cum.c
+++ b/raster/r.watershed/seg/do_cum.c
@@ -232,6 +232,8 @@ int do_cum(void)
G_percent(do_points, do_points, 1); /* finish it */
seg_close(&astar_pts);
+ G_free(dist_to_nbr);
+ G_free(contour);
return 0;
}
From 6acffcb86e76b354ea8a3118d506fc45182ce67a Mon Sep 17 00:00:00 2001
From: Mohan Yelugoti
Date: Fri, 22 Nov 2024 20:55:31 -0500
Subject: [PATCH 27/45] lib/vector/Vlib: Fix out-of-scope memory access (#4667)
A local array was used to store column name and column
type for each column, and a pointer to this local array
was stored and accessed outside its scope, which can cause
undefined behavior.
To avoid this, use memory from heap to store this information
so that it's accessible outside where its defined and free
this memory at the end to avoid memory leaks.
This was found using cppcheck tool.
Signed-off-by: Mohan Yelugoti
---
lib/vector/Vlib/dbcolumns.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/lib/vector/Vlib/dbcolumns.c b/lib/vector/Vlib/dbcolumns.c
index e3cf915a9ec..f0c6f5bc514 100644
--- a/lib/vector/Vlib/dbcolumns.c
+++ b/lib/vector/Vlib/dbcolumns.c
@@ -154,7 +154,7 @@ const char *Vect_get_column_names_types(struct Map_info *Map, int field)
dbHandle handle;
dbString table_name;
dbTable *table;
- const char **col_type_names;
+ char **col_type_names;
char *list;
num_dblinks = Vect_get_num_dblinks(Map);
@@ -180,16 +180,21 @@ const char *Vect_get_column_names_types(struct Map_info *Map, int field)
ncols = db_get_table_number_of_columns(table);
col_type_names = G_malloc(ncols * sizeof(char *));
for (col = 0; col < ncols; col++) {
- char buf[256];
+ col_type_names[col] = (char *)G_calloc(256, sizeof(char));
- sprintf(buf, "%s(%s)",
+ sprintf(col_type_names[col], "%s(%s)",
db_get_column_name(db_get_table_column(table, col)),
db_sqltype_name(
db_get_column_sqltype(db_get_table_column(table, col))));
- col_type_names[col] = buf;
}
- if ((list = G_str_concat(col_type_names, ncols, ",", BUFF_MAX)) == NULL)
+
+ if ((list = G_str_concat((const char **)col_type_names, ncols, ",",
+ BUFF_MAX)) == NULL)
list = G_store("");
+
+ for (col = 0; col < ncols; col++) {
+ G_free(col_type_names[col]);
+ }
G_free(col_type_names);
G_debug(3, "%s", list);
From b2c7fcef322f44c48b84da44c1a4f48b6e567b99 Mon Sep 17 00:00:00 2001
From: ShubhamDesai <42180509+ShubhamDesai@users.noreply.github.com>
Date: Fri, 22 Nov 2024 20:57:17 -0500
Subject: [PATCH 28/45] v.in.ascii: Fix Resource Leak issue in points.c (#4729)
---
vector/v.in.ascii/points.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/vector/v.in.ascii/points.c b/vector/v.in.ascii/points.c
index 0fd1899c2e2..ab1720f78d7 100644
--- a/vector/v.in.ascii/points.c
+++ b/vector/v.in.ascii/points.c
@@ -494,6 +494,9 @@ int points_to_bin(FILE *ascii, int rowlen, struct Map_info *Map,
G_free_tokens(tokens);
}
G_percent(nrows, nrows, 2);
+ Vect_destroy_line_struct(Points);
+ Vect_destroy_cats_struct(Cats);
+ G_free(buf);
return 0;
}
From 08ce5bf4de4260cfe7c31304de4704fa563754fe Mon Sep 17 00:00:00 2001
From: ShubhamDesai <42180509+ShubhamDesai@users.noreply.github.com>
Date: Fri, 22 Nov 2024 22:36:07 -0500
Subject: [PATCH 29/45] v.univar: Fix Resource Leak issue in main.c (#4730)
---
vector/v.univar/main.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/vector/v.univar/main.c b/vector/v.univar/main.c
index 85217498035..5bfa2b672f8 100644
--- a/vector/v.univar/main.c
+++ b/vector/v.univar/main.c
@@ -358,6 +358,8 @@ void select_from_geometry(void)
G_debug(3, "i=%d j=%d sum = %f val=%f", i, j, sum, val);
}
}
+ Vect_destroy_line_struct(jPoints);
+ Vect_destroy_line_struct(iPoints);
}
void select_from_database(void)
From b4e4cb0fe949881199758548a3e912a7b63a966f Mon Sep 17 00:00:00 2001
From: ShubhamDesai <42180509+ShubhamDesai@users.noreply.github.com>
Date: Fri, 22 Nov 2024 22:36:41 -0500
Subject: [PATCH 30/45] v.net: Fix Resource Leak issue in arcs.c (#4735)
---
vector/v.net/arcs.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/vector/v.net/arcs.c b/vector/v.net/arcs.c
index 6d18f760bfd..20554fc19f9 100644
--- a/vector/v.net/arcs.c
+++ b/vector/v.net/arcs.c
@@ -68,6 +68,7 @@ int create_arcs(FILE *file, struct Map_info *Pnts, struct Map_info *Out,
Vect_destroy_line_struct(points);
Vect_destroy_cats_struct(cats);
+ Vect_destroy_line_struct(points2);
return narcs;
}
From 71b1f09f633a0f9b69c293b549ce52c13089b293 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sat, 23 Nov 2024 07:45:52 -0500
Subject: [PATCH 31/45] CI(deps): Update pre-commit hook
igorshubovych/markdownlint-cli to v0.43.0 (#4743)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.pre-commit-config.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 449a9a61f04..3579bd129d6 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -43,7 +43,7 @@ repos:
- id: ruff
args: [--fix, --preview]
- repo: https://github.com/igorshubovych/markdownlint-cli
- rev: v0.42.0
+ rev: v0.43.0
hooks:
- id: markdownlint-fix
# Using this mirror lets us use mypyc-compiled black, which is about 2x faster
From f1093bdc6aed25355ff1d74d3e1e07c034b21725 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sat, 23 Nov 2024 13:48:45 +0000
Subject: [PATCH 32/45] CI(deps): Update ruff to v0.8.0 (#4738)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* CI(deps): Update ruff to v0.8.0
* style: PT004 has been removed in ruff 0.8.0, ignoring had no effect
* style: Fix unraw-re-pattern (RUF039)
Ruff rule: https://docs.astral.sh/ruff/rules/unraw-re-pattern/
Newly introduced ruff rule
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Edouard Choinière <27212526+echoix@users.noreply.github.com>
---
.github/workflows/python-code-quality.yml | 2 +-
.pre-commit-config.yaml | 2 +-
display/d.text/test.py | 4 ++--
gui/wxpython/gmodeler/model.py | 2 +-
gui/wxpython/photo2image/ip2i_manager.py | 2 +-
lib/init/grass.py | 2 +-
pyproject.toml | 3 +--
python/grass/gunittest/case.py | 4 ++--
python/grass/script/utils.py | 8 ++++----
raster/r.topidx/arc_to_gridatb.py | 2 +-
raster/r.topidx/gridatb_to_arc.py | 4 ++--
utils/g.html2man/g.html2man.py | 2 +-
utils/g.html2man/ggroff.py | 2 +-
utils/gitlog2changelog.py | 6 +++---
utils/mkhtml.py | 18 +++++++++---------
utils/mkrest.py | 4 ++--
16 files changed, 33 insertions(+), 34 deletions(-)
diff --git a/.github/workflows/python-code-quality.yml b/.github/workflows/python-code-quality.yml
index 5d1a3ac1539..e0c7dfc4e85 100644
--- a/.github/workflows/python-code-quality.yml
+++ b/.github/workflows/python-code-quality.yml
@@ -36,7 +36,7 @@ jobs:
# renovate: datasource=pypi depName=bandit
BANDIT_VERSION: "1.7.10"
# renovate: datasource=pypi depName=ruff
- RUFF_VERSION: "0.7.4"
+ RUFF_VERSION: "0.8.0"
runs-on: ${{ matrix.os }}
permissions:
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 3579bd129d6..a486f2ee0da 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -37,7 +37,7 @@ repos:
)
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
- rev: v0.7.4
+ rev: v0.8.0
hooks:
# Run the linter.
- id: ruff
diff --git a/display/d.text/test.py b/display/d.text/test.py
index 1089096d2ef..398cfecf428 100755
--- a/display/d.text/test.py
+++ b/display/d.text/test.py
@@ -73,8 +73,8 @@ def text(in_text):
print(
".L 0\n"
+ re.sub(
- '(".*?")',
+ r'(".*?")',
"\n.C red\n,\\g<0>\n.C gray\n",
- re.sub("\n", "\n.L 1\n.L 0\n", re.sub("(?m)^#.*\n?", "", src)),
+ re.sub(r"\n", "\n.L 1\n.L 0\n", re.sub(r"(?m)^#.*\n?", "", src)),
)
)
diff --git a/gui/wxpython/gmodeler/model.py b/gui/wxpython/gmodeler/model.py
index f321d2a206f..2a4673f511a 100644
--- a/gui/wxpython/gmodeler/model.py
+++ b/gui/wxpython/gmodeler/model.py
@@ -2672,7 +2672,7 @@ def _getParamName(self, parameter_name, item):
@staticmethod
def _getModuleNickname(item):
return "{module_name}{module_id}".format(
- module_name=re.sub("[^a-zA-Z]+", "", item.GetLabel()),
+ module_name=re.sub(r"[^a-zA-Z]+", "", item.GetLabel()),
module_id=item.GetId(),
)
diff --git a/gui/wxpython/photo2image/ip2i_manager.py b/gui/wxpython/photo2image/ip2i_manager.py
index 37985dad5e4..e3832c681b4 100644
--- a/gui/wxpython/photo2image/ip2i_manager.py
+++ b/gui/wxpython/photo2image/ip2i_manager.py
@@ -433,7 +433,7 @@ def __init__(
fc_count = 0
for line in fc:
fc_count += 1
- if re.search("NUM", line):
+ if re.search(r"NUM", line):
storeLine = fc_count
numberOfFiducial = int(line.split()[-1])
dataFiducialX = []
diff --git a/lib/init/grass.py b/lib/init/grass.py
index 505d48dadae..6e9dcbf7a58 100755
--- a/lib/init/grass.py
+++ b/lib/init/grass.py
@@ -1015,7 +1015,7 @@ def load_env(grass_env_file):
# Regular expression for lines starting with "export var=val" (^export
# lines below). Environment variables should start with a-zA-Z or _.
# \1 and \2 are a variable name and its value, respectively.
- export_re = re.compile("^export[ \t]+([a-zA-Z_]+[a-zA-Z0-9_]*)=(.*?)[ \t]*$")
+ export_re = re.compile(r"^export[ \t]+([a-zA-Z_]+[a-zA-Z0-9_]*)=(.*?)[ \t]*$")
for line in readfile(grass_env_file).splitlines():
# match ^export lines
diff --git a/pyproject.toml b/pyproject.toml
index c9f621a679f..c550cf71faa 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -14,7 +14,7 @@ extend-exclude = '''
'''
[tool.ruff]
-required-version = ">=0.6.0"
+required-version = ">=0.8.0"
builtins = ["_"]
@@ -183,7 +183,6 @@ ignore = [
"PLW1641", # eq-without-hash
"PLW2901", # redefined-loop-name
"PLW3201", # bad-dunder-method-name
- "PT004", # pytest-missing-fixture-name-underscore # deprecated, so doesn't appear with --preview
"PTH100", # os-path-abspath
"PTH101", # os-chmod
"PTH102", # os-mkdir
diff --git a/python/grass/gunittest/case.py b/python/grass/gunittest/case.py
index 4e0ee3ab24d..49a378d6133 100644
--- a/python/grass/gunittest/case.py
+++ b/python/grass/gunittest/case.py
@@ -1320,10 +1320,10 @@ def runModule(cls, module, expecting_stdout=False, **kwargs):
# TODO: standardized error code would be handy here
import re
- if re.search("Raster map.*not found", errors, flags=re.DOTALL):
+ if re.search(r"Raster map.*not found", errors, flags=re.DOTALL):
errors += "\nSee available raster maps:\n"
errors += call_module("g.list", type="raster")
- if re.search("Vector map.*not found", errors, flags=re.DOTALL):
+ if re.search(r"Vector map.*not found", errors, flags=re.DOTALL):
errors += "\nSee available vector maps:\n"
errors += call_module("g.list", type="vector")
# TODO: message format, parameters
diff --git a/python/grass/script/utils.py b/python/grass/script/utils.py
index 0a32a9e7b4e..e4bfc9cc484 100644
--- a/python/grass/script/utils.py
+++ b/python/grass/script/utils.py
@@ -345,7 +345,7 @@ def convert(text):
def alphanum_key(actual_key):
sort_key = key(actual_key) if key else actual_key
- return [convert(c) for c in re.split("([0-9]+)", sort_key)]
+ return [convert(c) for c in re.split(r"([0-9]+)", sort_key)]
items.sort(key=alphanum_key)
@@ -501,15 +501,15 @@ def legalize_vector_name(name, fallback_prefix="x"):
# The implementation is based on Vect_legal_filename().
if not name:
raise ValueError("name cannot be empty")
- if fallback_prefix and re.match("[^A-Za-z]", fallback_prefix[0]):
+ if fallback_prefix and re.match(r"[^A-Za-z]", fallback_prefix[0]):
raise ValueError("fallback_prefix must start with an ASCII letter")
- if fallback_prefix and re.match("[^A-Za-z]", name[0], flags=re.ASCII):
+ if fallback_prefix and re.match(r"[^A-Za-z]", name[0], flags=re.ASCII):
# We prefix here rather than just replace, because in cases of unique
# identifiers, e.g., columns or node names, replacing the first
# character by the same replacement character increases chances of
# conflict (e.g. column names 10, 20, 30).
name = "{fallback_prefix}{name}".format(**locals())
- name = re.sub("[^A-Za-z0-9_]", "_", name, flags=re.ASCII)
+ name = re.sub(r"[^A-Za-z0-9_]", "_", name, flags=re.ASCII)
keywords = ["and", "or", "not"]
if name in keywords:
name = "{name}_".format(**locals())
diff --git a/raster/r.topidx/arc_to_gridatb.py b/raster/r.topidx/arc_to_gridatb.py
index 3eba7114430..d47d399618d 100755
--- a/raster/r.topidx/arc_to_gridatb.py
+++ b/raster/r.topidx/arc_to_gridatb.py
@@ -13,7 +13,7 @@ def match(pattern, string):
return False
-if len(sys.argv) != 3 or re.match("^-*help", sys.argv[1]):
+if len(sys.argv) != 3 or re.match(r"^-*help", sys.argv[1]):
print("Usage: arc.to.gridatb.py arc_file gridatb_file")
sys.exit()
diff --git a/raster/r.topidx/gridatb_to_arc.py b/raster/r.topidx/gridatb_to_arc.py
index 41111f3d6ba..d80f6797a65 100755
--- a/raster/r.topidx/gridatb_to_arc.py
+++ b/raster/r.topidx/gridatb_to_arc.py
@@ -7,7 +7,7 @@
len(sys.argv) == 1
or len(sys.argv) == 4
or len(sys.argv) > 5
- or re.match("^-*help", sys.argv[1])
+ or re.match(r"^-*help", sys.argv[1])
):
print("Usage: gridatb.to.arc.py gridatb_file arc_file [xllcorner yllcorner]")
sys.exit()
@@ -33,7 +33,7 @@
title = inf.readline()
inline = inf.readline()
-m = re.match("^[ \t]*([0-9.]+)[ \t]+([0-9.]+)[ \t]+([0-9.]+)[ \t]*$", inline)
+m = re.match(r"^[ \t]*([0-9.]+)[ \t]+([0-9.]+)[ \t]+([0-9.]+)[ \t]*$", inline)
if not m:
print(f"{infname}: Invalid input file format")
inf.close()
diff --git a/utils/g.html2man/g.html2man.py b/utils/g.html2man/g.html2man.py
index 58ffb2f7bca..46a749ae5d3 100755
--- a/utils/g.html2man/g.html2man.py
+++ b/utils/g.html2man/g.html2man.py
@@ -47,7 +47,7 @@ def main():
sf.close()
# strip excess whitespace
- blank_re = re.compile("[ \t\n]*\n([ \t]*\n)*")
+ blank_re = re.compile(r"[ \t\n]*\n([ \t]*\n)*")
s = blank_re.sub("\n", s)
s = s.lstrip()
diff --git a/utils/g.html2man/ggroff.py b/utils/g.html2man/ggroff.py
index a0458dd0334..c96fec4eab7 100644
--- a/utils/g.html2man/ggroff.py
+++ b/utils/g.html2man/ggroff.py
@@ -69,7 +69,7 @@ def __init__(self, filename, stream=sys.stdout):
"index": [],
}
self.stack = []
- self.strip_re = re.compile("^[ \t]+")
+ self.strip_re = re.compile(r"^[ \t]+")
self.filename = filename
self.at_bol = True
diff --git a/utils/gitlog2changelog.py b/utils/gitlog2changelog.py
index 5ad459aa2b1..f878041ca83 100755
--- a/utils/gitlog2changelog.py
+++ b/utils/gitlog2changelog.py
@@ -61,7 +61,7 @@
# Match the author line and extract the part we want
# (Don't use startswith to allow Author override inside commit message.)
elif "Author:" in line:
- authorList = re.split(": ", line, 1)
+ authorList = re.split(r": ", line, 1)
try:
author = authorList[1]
author = author[0 : len(author) - 1]
@@ -71,7 +71,7 @@
# Match the date line
elif line.startswith("Date:"):
- dateList = re.split(": ", line, 1)
+ dateList = re.split(r": ", line, 1)
try:
date = dateList[1]
date = date[0 : len(date) - 1]
@@ -100,7 +100,7 @@
else:
message = message + " " + line.strip()
# If this line is hit all of the files have been stored for this commit
- elif re.search("files? changed", line):
+ elif re.search(r"files? changed", line):
filesFound = True
continue
# Collect the files for this commit. FIXME: Still need to add +/- to files
diff --git a/utils/mkhtml.py b/utils/mkhtml.py
index 363c513a7ed..c01ab0534cb 100644
--- a/utils/mkhtml.py
+++ b/utils/mkhtml.py
@@ -234,7 +234,7 @@ def handle_data(self, data):
def escape_href(label):
# remove html tags
- label = re.sub("<[^<]+?>", "", label)
+ label = re.sub(r"<[^<]+?>", "", label)
# fix
label = label.replace(" ", "")
# fix "
@@ -351,16 +351,16 @@ def update_toc(data):
# process header
src_data = read_file(src_file)
-name = re.search("()", src_data, re.IGNORECASE)
+name = re.search(r"()", src_data, re.IGNORECASE)
pgm_desc = "GRASS GIS Reference Manual"
if name:
pgm = name.group(2).strip().split("-", 1)[0].strip()
name_desc = re.search(
- "()", src_data, re.IGNORECASE
+ r"()", src_data, re.IGNORECASE
)
if name_desc:
pgm_desc = name_desc.group(2).strip()
-desc = re.search("()", src_data, re.IGNORECASE)
+desc = re.search(r"()", src_data, re.IGNORECASE)
if desc:
pgm = desc.group(2).strip()
header_tmpl = string.Template(header_base + header_nopgm)
@@ -369,7 +369,7 @@ def update_toc(data):
else:
header_tmpl = string.Template(header_base + header_pgm_desc)
-if not re.search("", src_data, re.IGNORECASE):
+if not re.search(r"", src_data, re.IGNORECASE):
tmp_data = read_file(tmp_file)
"""
Adjusting keywords html pages paths if add-on html man page
@@ -395,7 +395,7 @@ def update_toc(data):
orig_keywords_paths.group(1),
",".join(new_keywords_paths),
)
- if not re.search("", tmp_data, re.IGNORECASE):
+ if not re.search(r"", tmp_data, re.IGNORECASE):
sys.stdout.write(header_tmpl.substitute(PGM=pgm, PGM_DESC=pgm_desc))
if tmp_data:
@@ -403,7 +403,7 @@ def update_toc(data):
for line in tmp_data.splitlines(True):
# The cleanup happens on Makefile level too.
if not re.search(
- "|| ", line, re.IGNORECASE
+ r"|| ", line, re.IGNORECASE
):
if header_logo_img_el in line:
sys.stdout.write(line)
@@ -420,7 +420,7 @@ def update_toc(data):
# if