From 67a160931aa01d29a896def827d5dd687e08bfd4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Edouard=20Choini=C3=A8re?=
<27212526+echoix@users.noreply.github.com>
Date: Mon, 21 Oct 2024 17:07:17 -0400
Subject: [PATCH] style: Fix if-else-block-instead-of-if-exp (SIM108) (part 2)
(#4562)
* style: Fix if-else-block-instead-of-if-exp (SIM108) in scripts/
Ruff rule: https://docs.astral.sh/ruff/rules/if-else-block-instead-of-if-exp
* style: Fix if-else-block-instead-of-if-exp (SIM108) in python/
Ruff rule: https://docs.astral.sh/ruff/rules/if-else-block-instead-of-if-exp
* checks: Rename inner variable shadowing type to _type in python/grass/temporal/gui_support.py
* style: Manual fixes for if-else-block-instead-of-if-exp (SIM108) in python/
Ruff rule: https://docs.astral.sh/ruff/rules/if-else-block-instead-of-if-exp
---
python/grass/app/runtime.py | 10 +----
python/grass/benchmark/app.py | 6 +--
python/grass/benchmark/plots.py | 10 +----
python/grass/exceptions/__init__.py | 10 ++---
python/grass/gunittest/case.py | 14 ++-----
python/grass/gunittest/invoker.py | 5 +--
python/grass/gunittest/multireport.py | 5 +--
python/grass/gunittest/reporters.py | 22 +++--------
python/grass/jupyter/map3d.py | 5 +--
python/grass/pydispatch/signal.py | 7 +---
.../pygrass/modules/interface/parameter.py | 5 +--
python/grass/pygrass/vector/__init__.py | 5 +--
python/grass/pygrass/vector/geometry.py | 5 +--
python/grass/pygrass/vector/table.py | 5 +--
python/grass/script/core.py | 15 ++------
python/grass/script/raster.py | 5 +--
python/grass/script/task.py | 10 +----
.../data/script_using_temporary_region.py | 10 +----
python/grass/script/utils.py | 20 ++--------
python/grass/script/vector.py | 10 +----
python/grass/temporal/abstract_map_dataset.py | 5 +--
.../temporal/abstract_space_time_dataset.py | 10 +----
.../grass/temporal/c_libraries_interface.py | 11 +-----
python/grass/temporal/datetime_math.py | 15 ++------
python/grass/temporal/gui_support.py | 23 ++++++------
python/grass/temporal/list_stds.py | 5 +--
python/grass/temporal/register.py | 10 +----
python/grass/temporal/sampling.py | 17 ++-------
python/grass/temporal/temporal_algebra.py | 37 ++++---------------
python/grass/temporal/temporal_granularity.py | 9 ++---
.../temporal/temporal_raster_base_algebra.py | 5 +--
python/grass/temporal/univar_statistics.py | 5 +--
scripts/d.rast.edit/d.rast.edit.py | 5 +--
scripts/d.rast.leg/d.rast.leg.py | 10 +----
scripts/db.droptable/db.droptable.py | 10 +----
scripts/db.out.ogr/db.out.ogr.py | 5 +--
scripts/db.univar/db.univar.py | 5 +--
scripts/g.extension/g.extension.py | 15 ++------
scripts/g.manual/g.manual.py | 5 +--
scripts/i.in.spotvgt/i.in.spotvgt.py | 6 +--
scripts/i.oif/i.oif.py | 10 +----
scripts/i.spectral/i.spectral.py | 5 +--
scripts/m.proj/m.proj.py | 10 +----
scripts/r.buffer.lowmem/r.buffer.lowmem.py | 5 +--
scripts/r.in.aster/r.in.aster.py | 5 +--
scripts/r.in.srtm/r.in.srtm.py | 5 +--
scripts/r.in.wms/wms_cap_parsers.py | 10 +----
scripts/r.in.wms/wms_drv.py | 5 +--
scripts/r.out.xyz/r.out.xyz.py | 5 +--
scripts/r.reclass.area/r.reclass.area.py | 5 +--
scripts/r.unpack/r.unpack.py | 5 +--
scripts/r3.in.xyz/r3.in.xyz.py | 10 +----
scripts/v.build.all/v.build.all.py | 5 +--
.../v.db.reconnect.all/v.db.reconnect.all.py | 5 +--
scripts/v.dissolve/tests/conftest.py | 5 +--
.../tests/v_dissolve_aggregate_test.py | 10 +----
.../tests/v_dissolve_layers_test.py | 5 +--
scripts/v.in.e00/v.in.e00.py | 5 +--
scripts/v.in.lines/v.in.lines.py | 7 +---
scripts/v.in.mapgen/v.in.mapgen.py | 10 +----
scripts/v.pack/v.pack.py | 5 +--
scripts/v.rast.stats/v.rast.stats.py | 15 ++------
scripts/v.report/v.report.py | 5 +--
scripts/v.unpack/v.unpack.py | 15 ++------
64 files changed, 124 insertions(+), 445 deletions(-)
diff --git a/python/grass/app/runtime.py b/python/grass/app/runtime.py
index 3f3805c9dfd..27f35760b8f 100644
--- a/python/grass/app/runtime.py
+++ b/python/grass/app/runtime.py
@@ -79,10 +79,7 @@ def append_left_addon_paths(paths, config_dir, env):
# addons (base)
addon_base = env.get("GRASS_ADDON_BASE")
if not addon_base:
- if MACOS:
- name = "Addons"
- else:
- name = "addons"
+ name = "addons" if not MACOS else "Addons"
addon_base = os.path.join(config_dir, name)
env["GRASS_ADDON_BASE"] = addon_base
@@ -174,10 +171,7 @@ def set_python_path_variable(install_path, env):
"""Set PYTHONPATH to find GRASS Python package in subprocesses"""
path = env.get("PYTHONPATH")
etcpy = os.path.join(install_path, "etc", "python")
- if path:
- path = etcpy + os.pathsep + path
- else:
- path = etcpy
+ path = etcpy + os.pathsep + path if path else etcpy
env["PYTHONPATH"] = path
diff --git a/python/grass/benchmark/app.py b/python/grass/benchmark/app.py
index 09cdf3f9481..835fc0d544b 100644
--- a/python/grass/benchmark/app.py
+++ b/python/grass/benchmark/app.py
@@ -47,11 +47,7 @@ def join_results_cli(args):
def select_only(result):
return result.label == args.only
- if args.only:
- select_function = select_only
- else:
- select_function = None
-
+ select_function = select_only if args.only else None
results = join_results_from_files(
source_filenames=args.results,
prefixes=args.prefixes,
diff --git a/python/grass/benchmark/plots.py b/python/grass/benchmark/plots.py
index 9483fda9116..24afcbcfbae 100644
--- a/python/grass/benchmark/plots.py
+++ b/python/grass/benchmark/plots.py
@@ -25,10 +25,7 @@ def get_pyplot(to_file):
"""
import matplotlib as mpl # pylint: disable=import-outside-toplevel
- if to_file:
- backend = "agg"
- else:
- backend = None
+ backend = "agg" if to_file else None
if backend:
mpl.use(backend)
@@ -124,10 +121,7 @@ def num_cells_plot(results, filename=None, title=None, show_resolution=False):
x_ticks = set()
for result in results:
- if show_resolution:
- x = result.resolutions
- else:
- x = result.cells
+ x = result.resolutions if show_resolution else result.cells
x_ticks.update(x)
plt.plot(x, result.times, label=result.label)
if hasattr(result, "all_times"):
diff --git a/python/grass/exceptions/__init__.py b/python/grass/exceptions/__init__.py
index b22d0a45c1d..deec48ffd96 100644
--- a/python/grass/exceptions/__init__.py
+++ b/python/grass/exceptions/__init__.py
@@ -71,13 +71,9 @@ def __init__(self, module, code, returncode, errors=None):
"""
# CalledProcessError has undocumented constructor
super().__init__(returncode, module)
- if not module or module in code:
- # No need to include module name if it is directly in code
- # of if it is not set.
- executed = code
- else:
- # Make sure module name is there if provided and not in code.
- executed = f"{module} {code}"
+ # No need to include module name if it is directly in code of if it is not set.
+ # Otherwise, make sure module name is there if provided and not in code.
+ executed = code if not module or module in code else f"{module} {code}"
if errors:
# We assume actual errors, e.g., captured stderr.
err = _("See the following errors:\n{errors}").format(errors=errors)
diff --git a/python/grass/gunittest/case.py b/python/grass/gunittest/case.py
index 1277ee542b5..4e0ee3ab24d 100644
--- a/python/grass/gunittest/case.py
+++ b/python/grass/gunittest/case.py
@@ -691,10 +691,7 @@ def assertFileMd5(self, filename, md5, text=False, msg=None):
at the end of file (as for example, Git or PEP8 requires).
"""
self.assertFileExists(filename, msg=msg)
- if text:
- actual = text_file_md5(filename)
- else:
- actual = file_md5(filename)
+ actual = text_file_md5(filename) if text else file_md5(filename)
if actual != md5:
standardMsg = (
"File <{name}> does not have the right MD5 sum.\n"
@@ -1339,12 +1336,9 @@ def runModule(cls, module, expecting_stdout=False, **kwargs):
errors = " The errors are:\n" + module.outputs.stderr
else:
errors = " There were no error messages."
- if module.outputs.stdout:
- # this is not appropriate for translation but we don't want
- # and don't need testing to be translated
- got = "only whitespace."
- else:
- got = "nothing."
+ # This is not appropriate for translation but we don't want
+ # and don't need testing to be translated
+ got = "only whitespace." if module.outputs.stdout else "nothing."
raise RuntimeError(
"Module call "
+ module.get_python()
diff --git a/python/grass/gunittest/invoker.py b/python/grass/gunittest/invoker.py
index 2fe9c898b8b..29b62830e25 100644
--- a/python/grass/gunittest/invoker.py
+++ b/python/grass/gunittest/invoker.py
@@ -54,10 +54,7 @@ def update_keyval_file(filename, module, returncode):
keyval["name"] = module.name
keyval["tested_dir"] = module.tested_dir
if "status" not in keyval.keys():
- if returncode is None or returncode:
- status = "failed"
- else:
- status = "passed"
+ status = "failed" if returncode is None or returncode else "passed"
keyval["status"] = status
keyval["returncode"] = returncode
keyval["test_file_authors"] = test_file_authors
diff --git a/python/grass/gunittest/multireport.py b/python/grass/gunittest/multireport.py
index c5f36a6e0db..5a0350f1786 100644
--- a/python/grass/gunittest/multireport.py
+++ b/python/grass/gunittest/multireport.py
@@ -119,10 +119,7 @@ def median(values):
smedian = median(successes)
smax = max(successes)
- if successes[-1] < smedian:
- color = "r"
- else:
- color = "g"
+ color = "r" if successes[-1] < smedian else "g"
# another possibility is to color according to the gradient, ideally
# on the whole curve but that's much more complicated
diff --git a/python/grass/gunittest/reporters.py b/python/grass/gunittest/reporters.py
index 09f371dfffc..57b0a8fc643 100644
--- a/python/grass/gunittest/reporters.py
+++ b/python/grass/gunittest/reporters.py
@@ -234,11 +234,8 @@ def get_svn_path_authors(path, from_date=None):
:returns: a set of authors
"""
- if from_date is None:
- # this is the SVN default for local copies
- revision_range = "BASE:1"
- else:
- revision_range = "BASE:{%s}" % from_date
+ # "BASE:1" is the SVN default for local copies
+ revision_range = "BASE:1" if from_date is None else "BASE:{%s}" % from_date
try:
# TODO: allow also usage of --limit
p = subprocess.Popen(
@@ -487,10 +484,7 @@ def tail(filename, n):
def returncode_to_html_text(returncode, timed_out=None):
if returncode:
- if timed_out is not None:
- extra = f" (timeout >{timed_out}s)"
- else:
- extra = ""
+ extra = f" (timeout >{timed_out}s)" if timed_out is not None else ""
return f'FAILED{extra}'
# alternatives: SUCCEEDED, passed, OK
return 'succeeded'
@@ -857,10 +851,7 @@ def finish(self):
# this shoul be moved to some additional meta passed in constructor
svn_info = get_svn_info()
- if not svn_info:
- svn_revision = ""
- else:
- svn_revision = svn_info["revision"]
+ svn_revision = "" if not svn_info else svn_info["revision"]
summary = {}
summary["files_total"] = self.test_files
@@ -1025,10 +1016,7 @@ def end_file_test(
num_failed = test_summary.get("failures", 0)
num_failed += test_summary.get("errors", 0)
if num_failed:
- if num_failed > 1:
- text = " ({f} tests failed)"
- else:
- text = " ({f} test failed)"
+ text = " ({f} tests failed)" if num_failed > 1 else " ({f} test failed)"
self._stream.write(text.format(f=num_failed))
self._stream.write("\n")
# TODO: here we lost the possibility to include also file name
diff --git a/python/grass/jupyter/map3d.py b/python/grass/jupyter/map3d.py
index dd373f315a7..99253251406 100644
--- a/python/grass/jupyter/map3d.py
+++ b/python/grass/jupyter/map3d.py
@@ -210,10 +210,7 @@ def render(self, **kwargs):
with Display(
size=(self._width, self._height), **additional_kwargs
) as display:
- if has_env_copy:
- env = display.env()
- else:
- env = os.environ.copy()
+ env = display.env() if has_env_copy else os.environ.copy()
self._region_manager.set_region_from_command(env=env, **kwargs)
self.overlay.region_manager.set_region_from_env(env)
gs.run_command(module, env=env, **kwargs)
diff --git a/python/grass/pydispatch/signal.py b/python/grass/pydispatch/signal.py
index 1e968e99dca..51808e01ee3 100644
--- a/python/grass/pydispatch/signal.py
+++ b/python/grass/pydispatch/signal.py
@@ -7,7 +7,7 @@
from grass.pydispatch import dispatcher
-def _islambda(function):
+def _islambda(function) -> bool:
"""
Tests if object is a lambda function.
@@ -146,10 +146,7 @@ class connects to the signal::
will print
"""
if weak is None:
- if _islambda(handler):
- weak = False
- else:
- weak = True
+ weak = not _islambda(handler)
dispatcher.connect(receiver=handler, signal=self, weak=weak)
def disconnect(self, handler, weak=True):
diff --git a/python/grass/pygrass/modules/interface/parameter.py b/python/grass/pygrass/modules/interface/parameter.py
index 3b58ea2b372..1ec5466bc74 100644
--- a/python/grass/pygrass/modules/interface/parameter.py
+++ b/python/grass/pygrass/modules/interface/parameter.py
@@ -337,10 +337,7 @@ def __doc__(self):
..
"""
if hasattr(self, "values"):
- if self.isrange:
- vals = self.isrange
- else:
- vals = ", ".join([repr(val) for val in self.values])
+ vals = self.isrange or ", ".join([repr(val) for val in self.values])
else:
vals = False
if self.keydescvalues:
diff --git a/python/grass/pygrass/vector/__init__.py b/python/grass/pygrass/vector/__init__.py
index 461050807b0..6723b2e44b3 100644
--- a/python/grass/pygrass/vector/__init__.py
+++ b/python/grass/pygrass/vector/__init__.py
@@ -859,10 +859,7 @@ def features_to_wkb_list(self, bbox=None, feature_type="point", field=1):
ok = libvect.Vect_cat_get(
ctypes.byref(line_c), field, ctypes.byref(cat)
)
- if ok < 1:
- pcat = None
- else:
- pcat = cat.value
+ pcat = None if ok < 1 else cat.value
wkb_list.append((f_id, pcat, ctypes.string_at(barray, size.value)))
libgis.G_free(barray)
diff --git a/python/grass/pygrass/vector/geometry.py b/python/grass/pygrass/vector/geometry.py
index 10ecb1d2d13..b734161d1ea 100644
--- a/python/grass/pygrass/vector/geometry.py
+++ b/python/grass/pygrass/vector/geometry.py
@@ -810,10 +810,7 @@ def extend(self, line, forward=True):
"""
# set direction
- if forward:
- direction = libvect.GV_FORWARD
- else:
- direction = libvect.GV_BACKWARD
+ direction = libvect.GV_FORWARD if forward else libvect.GV_BACKWARD
# check if is a Line object
if isinstance(line, Line):
c_points = line.c_points
diff --git a/python/grass/pygrass/vector/table.py b/python/grass/pygrass/vector/table.py
index 9c8d0c3f9a2..5442d2f1e51 100644
--- a/python/grass/pygrass/vector/table.py
+++ b/python/grass/pygrass/vector/table.py
@@ -1261,10 +1261,7 @@ def create(self, cols, name=None, overwrite=False, cursor=None):
"""
cur = cursor or self.conn.cursor()
coldef = ",\n".join(["%s %s" % col for col in cols])
- if name:
- newname = name
- else:
- newname = self.name
+ newname = name or self.name
try:
cur.execute(sql.CREATE_TAB.format(tname=newname, coldef=coldef))
self.conn.commit()
diff --git a/python/grass/script/core.py b/python/grass/script/core.py
index 4f70f525133..0b51e7fdbe9 100644
--- a/python/grass/script/core.py
+++ b/python/grass/script/core.py
@@ -334,10 +334,7 @@ def get_module_and_code(args, kwargs):
args = make_command(*args, **kwargs)
# Since we are in error handler, let's be extra cautious
# about an empty command.
- if args:
- module = args[0]
- else:
- module = None
+ module = args[0] if args else None
code = " ".join(args)
return module, code
@@ -1699,10 +1696,7 @@ def mapsets(search_path=False, env=None):
:return: list of mapsets
"""
- if search_path:
- flags = "p"
- else:
- flags = "l"
+ flags = "p" if search_path else "l"
mapsets = read_command("g.mapsets", flags=flags, sep="newline", quiet=True, env=env)
if not mapsets:
fatal(_("Unable to list mapsets"))
@@ -2033,10 +2027,7 @@ def create_environment(gisdbase, location, mapset, env=None):
f.write("GISDBASE: {g}\n".format(g=gisdbase))
f.write("LOCATION_NAME: {l}\n".format(l=location))
f.write("GUI: text\n")
- if env:
- env = env.copy()
- else:
- env = os.environ.copy()
+ env = env.copy() if env else os.environ.copy()
env["GISRC"] = f.name
# remove mapset-specific env vars
env = sanitize_mapset_environment(env)
diff --git a/python/grass/script/raster.py b/python/grass/script/raster.py
index 54c1219dbaf..d82780d7c5c 100644
--- a/python/grass/script/raster.py
+++ b/python/grass/script/raster.py
@@ -218,10 +218,7 @@ def raster_what(map, coord, env=None, localized=False):
query
:param env:
"""
- if isinstance(map, (bytes, str)):
- map_list = [map]
- else:
- map_list = map
+ map_list = [map] if isinstance(map, (bytes, str)) else map
coord_list = []
if isinstance(coord, tuple):
diff --git a/python/grass/script/task.py b/python/grass/script/task.py
index cf398c59214..9867b3d8c49 100644
--- a/python/grass/script/task.py
+++ b/python/grass/script/task.py
@@ -345,14 +345,8 @@ def _process_params(self):
for ki in node_key_desc.findall("item"):
key_desc.append(ki.text)
- if p.get("multiple", "no") == "yes":
- multiple = True
- else:
- multiple = False
- if p.get("required", "no") == "yes":
- required = True
- else:
- required = False
+ multiple = p.get("multiple", "no") == "yes"
+ required = p.get("required", "no") == "yes"
if (
self.task.blackList["enabled"]
diff --git a/python/grass/script/testsuite/data/script_using_temporary_region.py b/python/grass/script/testsuite/data/script_using_temporary_region.py
index 5bb5a4cda26..839bf3d0a72 100755
--- a/python/grass/script/testsuite/data/script_using_temporary_region.py
+++ b/python/grass/script/testsuite/data/script_using_temporary_region.py
@@ -65,15 +65,9 @@ def main():
argument = sys.argv[1]
sizes = argument.split(",", 1)
size = sizes[0]
- if len(sizes) > 1:
- remaining = sizes[1]
- else:
- remaining = None
+ remaining = sizes[1] if len(sizes) > 1 else None
nesting = int(sys.argv[2])
- if len(sys.argv) == 4:
- map_name = sys.argv[3]
- else:
- map_name = None
+ map_name = sys.argv[3] if len(sys.argv) == 4 else None
call_use_temp_region(
script=this_file,
size=size,
diff --git a/python/grass/script/utils.py b/python/grass/script/utils.py
index 448289b57aa..25eb70190c5 100644
--- a/python/grass/script/utils.py
+++ b/python/grass/script/utils.py
@@ -190,10 +190,7 @@ def decode(bytes_, encoding=None):
if isinstance(bytes_, str):
return bytes_
if isinstance(bytes_, bytes):
- if encoding is None:
- enc = _get_encoding()
- else:
- enc = encoding
+ enc = _get_encoding() if encoding is None else encoding
return bytes_.decode(enc)
# only text should be used
raise TypeError("can only accept types str and bytes")
@@ -221,10 +218,7 @@ def encode(string, encoding=None):
if isinstance(string, bytes):
return string
if isinstance(string, str):
- if encoding is None:
- enc = _get_encoding()
- else:
- enc = encoding
+ enc = _get_encoding() if encoding is None else encoding
return string.encode(enc)
# if something else than text
raise TypeError("can only accept types str and bytes")
@@ -276,10 +270,7 @@ def parse_key_val(s, sep="=", dflt=None, val_type=None, vsep=None):
for line in lines:
kv = line.split(sep, 1)
k = decode(kv[0].strip())
- if len(kv) > 1:
- v = decode(kv[1].strip())
- else:
- v = dflt
+ v = decode(kv[1].strip()) if len(kv) > 1 else dflt
if val_type:
result[k] = val_type(v)
@@ -353,10 +344,7 @@ def convert(text):
return int(text) if text.isdigit() else text.lower()
def alphanum_key(actual_key):
- if key:
- sort_key = key(actual_key)
- else:
- sort_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)]
items.sort(key=alphanum_key)
diff --git a/python/grass/script/vector.py b/python/grass/script/vector.py
index ca3caf18471..2d484f7d590 100644
--- a/python/grass/script/vector.py
+++ b/python/grass/script/vector.py
@@ -129,10 +129,7 @@ def vector_columns(map, layer=None, getDict=True, env=None, **kwargs):
s = read_command(
"v.info", flags="c", map=map, layer=layer, quiet=True, env=env, **kwargs
)
- if getDict:
- result = {}
- else:
- result = []
+ result = {} if getDict else []
i = 0
for line in s.splitlines():
ctype, cname = line.split("|")
@@ -377,10 +374,7 @@ def vector_what(
if "LC_ALL" in env:
env["LC_ALL"] = "C"
- if isinstance(map, (bytes, str)):
- map_list = [map]
- else:
- map_list = map
+ map_list = [map] if isinstance(map, (bytes, str)) else map
if layer:
if isinstance(layer, (tuple, list)):
diff --git a/python/grass/temporal/abstract_map_dataset.py b/python/grass/temporal/abstract_map_dataset.py
index ecbf761d139..f6bec2bfef3 100644
--- a/python/grass/temporal/abstract_map_dataset.py
+++ b/python/grass/temporal/abstract_map_dataset.py
@@ -820,10 +820,7 @@ def temporal_buffer(self, increment, update=False, dbif=None):
else:
start, end, unit = self.get_relative_time()
new_start = start - increment
- if end is None:
- new_end = start + increment
- else:
- new_end = end + increment
+ new_end = start + increment if end is None else end + increment
if update:
self.update_relative_time(new_start, new_end, unit, dbif=dbif)
diff --git a/python/grass/temporal/abstract_space_time_dataset.py b/python/grass/temporal/abstract_space_time_dataset.py
index d17baaab6ae..8140a2da261 100644
--- a/python/grass/temporal/abstract_space_time_dataset.py
+++ b/python/grass/temporal/abstract_space_time_dataset.py
@@ -779,10 +779,7 @@ def sample_by_dataset(self, stds, method=None, spatial=False, dbif=None):
# print(relations)
tb = SpatioTemporalTopologyBuilder()
- if spatial:
- spatial = "2D"
- else:
- spatial = None
+ spatial = "2D" if spatial else None
mapsA = self.get_registered_maps_as_objects(dbif=dbif)
mapsB = stds.get_registered_maps_as_objects_with_gaps(dbif=dbif)
@@ -1429,10 +1426,7 @@ def get_registered_maps_as_objects_with_gaps(
start1, end1 = maps[i].get_temporal_extent_as_tuple()
start2, end2 = maps[i + 1].get_temporal_extent_as_tuple()
end = start2
- if end1 is not None:
- start = end1
- else:
- start = start1
+ start = end1 if end1 is not None else start1
map = self.get_new_map_instance(None)
diff --git a/python/grass/temporal/c_libraries_interface.py b/python/grass/temporal/c_libraries_interface.py
index 85a19a3ec6e..0d24fc0f732 100644
--- a/python/grass/temporal/c_libraries_interface.py
+++ b/python/grass/temporal/c_libraries_interface.py
@@ -256,11 +256,7 @@ def _get_driver_name(lock, conn, data):
:returns: Name of the driver or None if no temporal database present
"""
mapset = data[1]
- if not mapset:
- mapset = libgis.G_mapset()
- else:
- mapset = encode(mapset)
-
+ mapset = libgis.G_mapset() if not mapset else encode(mapset)
drstring = libtgis.tgis_get_mapset_driver_name(mapset)
conn.send(decode(drstring.data))
@@ -280,10 +276,7 @@ def _get_database_name(lock, conn, data):
dbstring = None
try:
mapset = data[1]
- if not mapset:
- mapset = libgis.G_mapset()
- else:
- mapset = encode(mapset)
+ mapset = libgis.G_mapset() if not mapset else encode(mapset)
dbstring = libtgis.tgis_get_mapset_database_name(mapset)
dbstring = dbstring.data
diff --git a/python/grass/temporal/datetime_math.py b/python/grass/temporal/datetime_math.py
index 1031582fe23..b986637162a 100644
--- a/python/grass/temporal/datetime_math.py
+++ b/python/grass/temporal/datetime_math.py
@@ -694,10 +694,7 @@ def compute_datetime_delta(start, end):
else:
d += 24 * 60 * day_diff
elif d == 0:
- if comp["hour"]:
- d = 60 * comp["hour"]
- else:
- d = 24 * 60 * day_diff
+ d = 60 * comp["hour"] if comp["hour"] else 24 * 60 * day_diff
comp["minute"] = d
@@ -914,10 +911,7 @@ def datetime_to_grass_datetime_string(dt):
# Check for time zone info in the datetime object
if dt.tzinfo is not None:
tz = dt.tzinfo.utcoffset(0)
- if tz.seconds > 86400 / 2:
- tz = (tz.seconds - 86400) / 60
- else:
- tz = tz.seconds / 60
+ tz = (tz.seconds - 86400) / 60 if tz.seconds > 86400 / 2 else tz.seconds / 60
string = "%.2i %s %.2i %.2i:%.2i:%.2i %+.4i" % (
dt.day,
@@ -999,10 +993,7 @@ def create_numeric_suffix(base, count, zeros):
if len(spli) == 2:
suff = spli[1]
if suff.isdigit():
- if int(suff[0]) == 0:
- zero = suff
- else:
- zero = "0{nu}".format(nu=suff)
+ zero = suff if int(suff[0]) == 0 else "0{nu}".format(nu=suff)
else:
zero = "05"
else:
diff --git a/python/grass/temporal/gui_support.py b/python/grass/temporal/gui_support.py
index 41f22edc6b7..d2cbca13d68 100644
--- a/python/grass/temporal/gui_support.py
+++ b/python/grass/temporal/gui_support.py
@@ -37,16 +37,14 @@ def tlist_grouped(type, group_type=False, dbif=None):
:return: directory of mapsets/elements
"""
result = {}
+ _type = type
dbif, connection_state_changed = init_dbif(dbif)
mapset = None
- if type == "stds":
- types = ["strds", "str3ds", "stvds"]
- else:
- types = [type]
- for type in types:
+ types = ["strds", "str3ds", "stvds"] if _type == "stds" else [_type]
+ for _type in types:
try:
- tlist_result = tlist(type=type, dbif=dbif)
+ tlist_result = tlist(type=_type, dbif=dbif)
except gs.ScriptError as e:
gs.warning(e)
continue
@@ -65,10 +63,10 @@ def tlist_grouped(type, group_type=False, dbif=None):
result[mapset] = []
if group_type:
- if type in result[mapset]:
- result[mapset][type].append(name)
+ if _type in result[mapset]:
+ result[mapset][_type].append(name)
else:
- result[mapset][type] = [
+ result[mapset][_type] = [
name,
]
else:
@@ -90,19 +88,20 @@ def tlist(type, dbif=None):
:return: a list of space time dataset ids
"""
+ _type = type
id = None
- sp = dataset_factory(type, id)
+ sp = dataset_factory(_type, id)
dbif, connection_state_changed = init_dbif(dbif)
mapsets = get_available_temporal_mapsets()
output = []
temporal_type = ["absolute", "relative"]
- for type in temporal_type:
+ for _type in temporal_type:
# For each available mapset
for mapset in mapsets.keys():
# Table name
- if type == "absolute":
+ if _type == "absolute":
table = sp.get_type() + "_view_abs_time"
else:
table = sp.get_type() + "_view_rel_time"
diff --git a/python/grass/temporal/list_stds.py b/python/grass/temporal/list_stds.py
index 9f6b6867766..22a2708123d 100644
--- a/python/grass/temporal/list_stds.py
+++ b/python/grass/temporal/list_stds.py
@@ -325,10 +325,7 @@ def _get_get_registered_maps_as_objects_delta_gran(
msgr.fatal(_("Empty entry in map list, this should not happen"))
start, end = map_object.get_temporal_extent_as_tuple()
- if end:
- delta = end - start
- else:
- delta = None
+ delta = end - start if end else None
delta_first = start - first_time
if map_object.is_time_absolute():
diff --git a/python/grass/temporal/register.py b/python/grass/temporal/register.py
index 92be36a3547..d8705765d02 100644
--- a/python/grass/temporal/register.py
+++ b/python/grass/temporal/register.py
@@ -158,10 +158,7 @@ def register_maps_in_space_time_dataset(
# Read the map list from file
if file:
- if hasattr(file, "readline"):
- fd = file
- else:
- fd = open(file)
+ fd = file if hasattr(file, "readline") else open(file)
line = True
while True:
@@ -639,10 +636,7 @@ def register_map_object_list(
string = f"{id}|{start}|{end}\n"
register_file.write(string)
- if output_stds:
- output_stds_id = output_stds.get_id()
- else:
- output_stds_id = None
+ output_stds_id = output_stds.get_id() if output_stds else None
register_maps_in_space_time_dataset(
type, output_stds_id, unit=unit, file=filename, dbif=dbif
diff --git a/python/grass/temporal/sampling.py b/python/grass/temporal/sampling.py
index 425ca484da5..5209ce6a80c 100644
--- a/python/grass/temporal/sampling.py
+++ b/python/grass/temporal/sampling.py
@@ -82,19 +82,11 @@ def sample_stds_by_stds_topology(
sts = []
for input in inputs:
- if input.find("@") >= 0:
- id = input
- else:
- id = input + "@" + mapset
-
+ id = input if input.find("@") >= 0 else input + "@" + mapset
st = dataset_factory(intype, id)
sts.append(st)
- if sampler.find("@") >= 0:
- sid = sampler
- else:
- sid = sampler + "@" + mapset
-
+ sid = sampler if sampler.find("@") >= 0 else sampler + "@" + mapset
sst = dataset_factory(sampletype, sid)
dbif = SQLDatabaseInterfaceConnection()
@@ -156,10 +148,7 @@ def sample_stds_by_stds_topology(
map = entry["granule"]
start, end = map.get_temporal_extent_as_tuple()
- if end:
- delta = end - start
- else:
- delta = None
+ delta = end - start if end else None
delta_first = start - first_time
if map.is_time_absolute():
diff --git a/python/grass/temporal/temporal_algebra.py b/python/grass/temporal/temporal_algebra.py
index e4717eb3326..2429b61e35e 100644
--- a/python/grass/temporal/temporal_algebra.py
+++ b/python/grass/temporal/temporal_algebra.py
@@ -992,10 +992,7 @@ def generate_map_name(self):
same object for map name generation in multiple threads.
"""
self.count += 1
- if self.pid is not None:
- pid = self.pid
- else:
- pid = os.getpid()
+ pid = self.pid if self.pid is not None else os.getpid()
name = "tmp_map_name_%i_%i" % (pid, self.count)
self.names[name] = name
return name
@@ -1234,10 +1231,7 @@ def check_stds(self, input, clear=False, stds_type=None, check_type=True):
"""
if isinstance(input, str):
# Check for mapset in given stds input.
- if input.find("@") >= 0:
- id_input = input
- else:
- id_input = input + "@" + self.mapset
+ id_input = input if input.find("@") >= 0 else input + "@" + self.mapset
# Create empty spacetime dataset.
if stds_type:
stds = dataset_factory(stds_type, id_input)
@@ -1634,7 +1628,7 @@ def build_spatio_temporal_topology_list(
def assign_bool_value(
self, map_i, temporal_topo_list=["EQUAL"], spatial_topo_list=[]
- ):
+ ) -> bool:
"""Function to assign boolean map value based on the map_values from the
compared map list by topological relationships.
@@ -1668,10 +1662,7 @@ def assign_bool_value(
str(relationmap.get_temporal_extent_as_tuple())
+ str(boolean),
)
- if all(condition_value_list):
- resultbool = True
- else:
- resultbool = False
+ resultbool = bool(all(condition_value_list))
map_i.condition_value = [resultbool]
return resultbool
@@ -2296,20 +2287,14 @@ def recurse_compare(conditionlist):
ele_index = conditionlist.index(ele)
right = conditionlist.pop(ele_index)
left = conditionlist.pop(ele_index - 2)
- if any([left, right]):
- result = True
- else:
- result = False
+ result = bool(any([left, right]))
conditionlist[ele_index - 2] = result
recurse_compare(conditionlist)
if ele == "&&":
ele_index = conditionlist.index(ele)
right = conditionlist.pop(ele_index)
left = conditionlist.pop(ele_index - 2)
- if all([left, right]):
- result = True
- else:
- result = False
+ result = bool(all([left, right]))
conditionlist[ele_index - 2] = result
recurse_compare(conditionlist)
@@ -2643,10 +2628,7 @@ def p_expr_tmap_function(self, t):
input = t[3]
if not isinstance(input, list):
# Check for mapset in given stds input.
- if input.find("@") >= 0:
- id_input = input
- else:
- id_input = input + "@" + self.mapset
+ id_input = input if input.find("@") >= 0 else input + "@" + self.mapset
# Create empty map dataset.
map_i = dataset_factory(self.maptype, id_input)
# Check for occurrence of space time dataset.
@@ -3079,10 +3061,7 @@ def p_expr_t_select_operator(self, t):
# Evaluate temporal operator.
operators = self.eval_toperator(t[2], optype="select")
# Check for negative selection.
- if operators[2] == "!:":
- negation = True
- else:
- negation = False
+ negation = operators[2] == "!:"
# Perform selection.
selectlist = self.perform_temporal_selection(
maplistA, maplistB, topolist=operators[0], inverse=negation
diff --git a/python/grass/temporal/temporal_granularity.py b/python/grass/temporal/temporal_granularity.py
index b4043054520..173e4e715ea 100644
--- a/python/grass/temporal/temporal_granularity.py
+++ b/python/grass/temporal/temporal_granularity.py
@@ -494,7 +494,7 @@ def compute_absolute_time_granularity(maps):
# Keep the temporal extent to compare to the following/next map
previous_start, previous_end = start, end
- # Create a list with a single time unit only
+ # Create a set with a single time unit only
dlist = set()
assigned_time_unit = None
time_unit_multipliers = {
@@ -529,11 +529,8 @@ def compute_absolute_time_granularity(maps):
if not dlist:
return None
- if len(dlist) > 1:
- # Find greatest common divisor
- granularity = gcd_list(dlist)
- else:
- granularity = dlist.pop()
+ # Find greatest common divisor to get a single time unit
+ granularity = gcd_list(dlist) if len(dlist) > 1 else dlist.pop()
if granularity is None:
return None
diff --git a/python/grass/temporal/temporal_raster_base_algebra.py b/python/grass/temporal/temporal_raster_base_algebra.py
index 8ff156cbed5..cb2122f4a37 100644
--- a/python/grass/temporal/temporal_raster_base_algebra.py
+++ b/python/grass/temporal/temporal_raster_base_algebra.py
@@ -960,10 +960,7 @@ def p_expr_spmap_function(self, t):
input = t[3]
if not isinstance(input, list):
# Check for mapset in given stds input.
- if input.find("@") >= 0:
- id_input = input
- else:
- id_input = input + "@" + self.mapset
+ id_input = input if input.find("@") >= 0 else input + "@" + self.mapset
# Create empty map dataset.
map_i = dataset_factory(self.maptype, id_input)
# Check for occurrence of space time dataset.
diff --git a/python/grass/temporal/univar_statistics.py b/python/grass/temporal/univar_statistics.py
index dd334e7e9f1..b6a9c1ac508 100755
--- a/python/grass/temporal/univar_statistics.py
+++ b/python/grass/temporal/univar_statistics.py
@@ -304,10 +304,7 @@ def print_vector_dataset_univar_statistics(
mapset = get_current_mapset()
- if input.find("@") >= 0:
- id = input
- else:
- id = input + "@" + mapset
+ id = input if input.find("@") >= 0 else input + "@" + mapset
sp = dataset_factory("stvds", id)
diff --git a/scripts/d.rast.edit/d.rast.edit.py b/scripts/d.rast.edit/d.rast.edit.py
index ea6cc1e46bf..3464941e825 100755
--- a/scripts/d.rast.edit/d.rast.edit.py
+++ b/scripts/d.rast.edit/d.rast.edit.py
@@ -295,10 +295,7 @@ def paint_cell(self, dc, r, c):
px, py = -dy, dx
r, g, b, a = wx.Colour(fill).Get()
- if r + g + b > 384:
- line = "black"
- else:
- line = "white"
+ line = "black" if r + g + b > 384 else "white"
dc.SetPen(wx.Pen(line))
dc.DrawLine(x0, y0, x1, y1)
diff --git a/scripts/d.rast.leg/d.rast.leg.py b/scripts/d.rast.leg/d.rast.leg.py
index 85cb423f9e9..74576113577 100755
--- a/scripts/d.rast.leg/d.rast.leg.py
+++ b/scripts/d.rast.leg/d.rast.leg.py
@@ -132,16 +132,10 @@ def main():
if not nlines:
nlines = None
- if rast:
- lmap = rast
- else:
- lmap = map
+ lmap = rast or map
kv = gs.raster_info(map=lmap)
- if kv["datatype"] == "CELL":
- leg_at = None
- else:
- leg_at = "%f,95,5,10" % VSpacing
+ leg_at = None if kv["datatype"] == "CELL" else "%f,95,5,10" % VSpacing
# checking for histogram causes more problems than it solves
# histfiledir = grass.find_file(lmap, 'cell_misc')['file']
diff --git a/scripts/db.droptable/db.droptable.py b/scripts/db.droptable/db.droptable.py
index 571638748cf..39408221acc 100755
--- a/scripts/db.droptable/db.droptable.py
+++ b/scripts/db.droptable/db.droptable.py
@@ -56,14 +56,8 @@ def main():
gs.run_command("db.connect", flags="c", quiet=True)
kv = gs.db_connection()
- if options["database"]:
- database = options["database"]
- else:
- database = kv["database"]
- if options["driver"]:
- driver = options["driver"]
- else:
- driver = kv["driver"]
+ database = options["database"] or kv["database"]
+ driver = options["driver"] or kv["driver"]
# schema needed for PG?
if force:
diff --git a/scripts/db.out.ogr/db.out.ogr.py b/scripts/db.out.ogr/db.out.ogr.py
index 4a840755b20..4fdfed23648 100755
--- a/scripts/db.out.ogr/db.out.ogr.py
+++ b/scripts/db.out.ogr/db.out.ogr.py
@@ -72,10 +72,7 @@ def main():
if format.lower() == "dbf":
format = "ESRI_Shapefile"
- if format.lower() == "csv":
- olayer = basename(output, "csv")
- else:
- olayer = None
+ olayer = basename(output, "csv") if format.lower() == "csv" else None
# is there a simpler way of testing for --overwrite?
dbffile = input + ".dbf"
diff --git a/scripts/db.univar/db.univar.py b/scripts/db.univar/db.univar.py
index 97dfbdb7dbe..4654e3011a0 100755
--- a/scripts/db.univar/db.univar.py
+++ b/scripts/db.univar/db.univar.py
@@ -118,10 +118,7 @@ def main():
perc = [float(p) for p in perc.split(",")]
if not output_format:
- if shellstyle:
- output_format = "shell"
- else:
- output_format = "plain"
+ output_format = "shell" if shellstyle else "plain"
elif shellstyle:
# This can be a message or warning in future versions.
# In version 9, -g may be removed.
diff --git a/scripts/g.extension/g.extension.py b/scripts/g.extension/g.extension.py
index 194f498d49c..f14a742ca06 100644
--- a/scripts/g.extension/g.extension.py
+++ b/scripts/g.extension/g.extension.py
@@ -1608,10 +1608,7 @@ def install_extension_win(name):
source, url = resolve_source_code(url="{0}/{1}.zip".format(base_url, name))
# to hide non-error messages from subprocesses
- if gs.verbosity() <= 2:
- outdev = open(os.devnull, "w")
- else:
- outdev = sys.stdout
+ outdev = open(os.devnull, "w") if gs.verbosity() <= 2 else sys.stdout
# download Addons ZIP file
os.chdir(TMPDIR) # this is just to not leave something behind
@@ -1961,10 +1958,7 @@ def install_extension_std_platforms(name, source, url, branch):
path_to_src_code_message = _("Path to the source code:")
# to hide non-error messages from subprocesses
- if gs.verbosity() <= 2:
- outdev = open(os.devnull, "w")
- else:
- outdev = sys.stdout
+ outdev = open(os.devnull, "w") if gs.verbosity() <= 2 else sys.stdout
os.chdir(TMPDIR) # this is just to not leave something behind
srcdir = os.path.join(TMPDIR, name)
@@ -2578,10 +2572,7 @@ def resolve_known_host_service(url, name, branch):
)
return None, None
if match:
- if not actual_start:
- actual_start = match["url_start"]
- else:
- actual_start = ""
+ actual_start = match["url_start"] if not actual_start else ""
if "branch" in match["url_end"]:
suffix = match["url_end"].format(
name=name,
diff --git a/scripts/g.manual/g.manual.py b/scripts/g.manual/g.manual.py
index f4ecf961076..345a6d1714a 100755
--- a/scripts/g.manual/g.manual.py
+++ b/scripts/g.manual/g.manual.py
@@ -132,10 +132,7 @@ def main():
elif flags["t"]:
special = "topics"
- if flags["m"]:
- start = start_man
- else:
- start = start_browser
+ start = start_man if flags["m"] else start_browser
entry = options["entry"]
gisbase = os.environ["GISBASE"]
diff --git a/scripts/i.in.spotvgt/i.in.spotvgt.py b/scripts/i.in.spotvgt/i.in.spotvgt.py
index cd744d4c252..666f3721761 100755
--- a/scripts/i.in.spotvgt/i.in.spotvgt.py
+++ b/scripts/i.in.spotvgt/i.in.spotvgt.py
@@ -136,11 +136,7 @@ def main():
spotdir = os.path.dirname(infile)
spotname = gs.basename(infile, "hdf")
-
- if rast:
- name = rast
- else:
- name = spotname
+ name = rast or spotname
if not gs.overwrite() and gs.find_file(name)["file"]:
gs.fatal(_("<%s> already exists. Aborting.") % name)
diff --git a/scripts/i.oif/i.oif.py b/scripts/i.oif/i.oif.py
index 0dabbe7cb38..cb156675927 100755
--- a/scripts/i.oif/i.oif.py
+++ b/scripts/i.oif/i.oif.py
@@ -90,10 +90,7 @@ def main():
stddev[band] = float(kv["stddev"])
else:
# run all bands in parallel
- if "WORKERS" in os.environ:
- workers = int(os.environ["WORKERS"])
- else:
- workers = len(bands)
+ workers = int(os.environ["WORKERS"]) if "WORKERS" in os.environ else len(bands)
proc = {}
pout = {}
@@ -142,10 +139,7 @@ def main():
_("The Optimum Index Factor analysis result (best combination shown first):")
)
- if shell:
- fmt = "%s,%s,%s:%.4f\n"
- else:
- fmt = "%s, %s, %s: %.4f\n"
+ fmt = "%s,%s,%s:%.4f\n" if shell else "%s, %s, %s: %.4f\n"
if not output or output == "-":
for v, p in oif:
diff --git a/scripts/i.spectral/i.spectral.py b/scripts/i.spectral/i.spectral.py
index 171eac7359c..07efd8af31f 100755
--- a/scripts/i.spectral/i.spectral.py
+++ b/scripts/i.spectral/i.spectral.py
@@ -136,10 +136,7 @@ def draw_gnuplot(what, xlabels, output, img_format, coord_legend):
cmd = []
for i, row in enumerate(what):
- if not coord_legend:
- title = "Pick " + str(i + 1)
- else:
- title = str(tuple(row[0:2]))
+ title = "Pick " + str(i + 1) if not coord_legend else str(tuple(row[0:2]))
x_datafile = os.path.join(tmp_dir, "data_%d" % i)
cmd.append(" '%s' title '%s'" % (x_datafile, title))
diff --git a/scripts/m.proj/m.proj.py b/scripts/m.proj/m.proj.py
index 4540b3dcd0a..a018606fff9 100755
--- a/scripts/m.proj/m.proj.py
+++ b/scripts/m.proj/m.proj.py
@@ -236,14 +236,8 @@ def main():
gcore.debug("output file=[%s]" % outfile)
# set up output style
- if not decimal:
- outfmt = ["-w5"]
- else:
- outfmt = ["-f", "%.8f"]
- if not copy_input:
- copyinp = []
- else:
- copyinp = ["-E"]
+ outfmt = ["-w5"] if not decimal else ["-f", "%.8f"]
+ copyinp = [] if not copy_input else ["-E"]
# do the conversion
# Convert cs2cs DMS format to GRASS DMS format:
diff --git a/scripts/r.buffer.lowmem/r.buffer.lowmem.py b/scripts/r.buffer.lowmem/r.buffer.lowmem.py
index 2916ad95e7d..8866c21faeb 100755
--- a/scripts/r.buffer.lowmem/r.buffer.lowmem.py
+++ b/scripts/r.buffer.lowmem/r.buffer.lowmem.py
@@ -92,10 +92,7 @@ def main():
s = gs.read_command("g.proj", flags="j")
kv = gs.parse_key_val(s)
- if kv["+proj"] == "longlat":
- metric = "geodesic"
- else:
- metric = "squared"
+ metric = "geodesic" if kv["+proj"] == "longlat" else "squared"
gs.run_command(
"r.grow.distance", input=input, metric=metric, distance=temp_dist, flags="m"
diff --git a/scripts/r.in.aster/r.in.aster.py b/scripts/r.in.aster/r.in.aster.py
index 24722293dde..626d27e7976 100755
--- a/scripts/r.in.aster/r.in.aster.py
+++ b/scripts/r.in.aster/r.in.aster.py
@@ -152,10 +152,7 @@ def main():
# Band 3b is not included ASTER L1T
if proctype == "L1T":
allbands.remove("3b")
- if band == "all":
- bandlist = allbands
- else:
- bandlist = band.split(",")
+ bandlist = allbands if band == "all" else band.split(",")
# initialize datasets for L1A, L1B, L1T
if proctype in {"L1A", "L1B", "L1T"}:
diff --git a/scripts/r.in.srtm/r.in.srtm.py b/scripts/r.in.srtm/r.in.srtm.py
index 1e4c585ac02..b9f51415ca0 100755
--- a/scripts/r.in.srtm/r.in.srtm.py
+++ b/scripts/r.in.srtm/r.in.srtm.py
@@ -177,10 +177,7 @@ def main():
infile = infile[:-4]
(fdir, tile) = os.path.split(infile)
- if not output:
- tileout = tile
- else:
- tileout = output
+ tileout = output or tile
if ".hgt" in input:
suff = ".hgt"
diff --git a/scripts/r.in.wms/wms_cap_parsers.py b/scripts/r.in.wms/wms_cap_parsers.py
index 56b1d0ce48c..723a63f0b23 100644
--- a/scripts/r.in.wms/wms_cap_parsers.py
+++ b/scripts/r.in.wms/wms_cap_parsers.py
@@ -501,10 +501,7 @@ def _find(self, etreeElement, tag, ns=None):
"""!Find child element.
If the element is not found it raises xml.etree.ElementTree.ParseError.
"""
- if not ns:
- res = etreeElement.find(tag)
- else:
- res = etreeElement.find(ns(tag))
+ res = etreeElement.find(tag) if not ns else etreeElement.find(ns(tag))
if res is None:
raise ParseError(
@@ -521,10 +518,7 @@ def _findall(self, etreeElement, tag, ns=None):
"""!Find all children element.
If no element is found it raises xml.etree.ElementTree.ParseError.
"""
- if not ns:
- res = etreeElement.findall(tag)
- else:
- res = etreeElement.findall(ns(tag))
+ res = etreeElement.findall(tag) if not ns else etreeElement.findall(ns(tag))
if not res:
raise ParseError(
diff --git a/scripts/r.in.wms/wms_drv.py b/scripts/r.in.wms/wms_drv.py
index 531112a1a6c..e1131918c4a 100644
--- a/scripts/r.in.wms/wms_drv.py
+++ b/scripts/r.in.wms/wms_drv.py
@@ -995,10 +995,7 @@ def _parseTilePattern(self, group_t_patts, bbox, region):
res["y"] = (bbox["maxy"] - bbox["miny"]) / region["rows"]
res["x"] = (bbox["maxx"] - bbox["minx"]) / region["cols"]
- if res["x"] < res["y"]:
- comp_res = "x"
- else:
- comp_res = "y"
+ comp_res = "x" if res["x"] < res["y"] else "y"
t_res = {}
best_patt = None
diff --git a/scripts/r.out.xyz/r.out.xyz.py b/scripts/r.out.xyz/r.out.xyz.py
index ae8e04de4d6..6df97f3c202 100755
--- a/scripts/r.out.xyz/r.out.xyz.py
+++ b/scripts/r.out.xyz/r.out.xyz.py
@@ -48,10 +48,7 @@ def main():
output = options["output"]
donodata = flags["i"]
- if donodata:
- statsflags = "1g"
- else:
- statsflags = "1gn"
+ statsflags = "1g" if donodata else "1gn"
parameters = {
"flags": statsflags,
"input": options["input"],
diff --git a/scripts/r.reclass.area/r.reclass.area.py b/scripts/r.reclass.area/r.reclass.area.py
index 5d6fc1292bc..01e474659bc 100755
--- a/scripts/r.reclass.area/r.reclass.area.py
+++ b/scripts/r.reclass.area/r.reclass.area.py
@@ -152,10 +152,7 @@ def reclass(inf, outf, lim, clump, diag, les):
if len(f) < 5:
continue
hectares = float(f[4]) * 0.0001
- if lesser:
- test = hectares <= limit
- else:
- test = hectares >= limit
+ test = hectares <= limit if lesser else hectares >= limit
if test:
rules += "%s = %s %s\n" % (f[0], f[2], f[3])
if rules:
diff --git a/scripts/r.unpack/r.unpack.py b/scripts/r.unpack/r.unpack.py
index 575d465ebb5..dd595b4722b 100644
--- a/scripts/r.unpack/r.unpack.py
+++ b/scripts/r.unpack/r.unpack.py
@@ -92,10 +92,7 @@ def main():
return 0
- if options["output"]:
- map_name = options["output"]
- else:
- map_name = data_names[0].split("@")[0]
+ map_name = options["output"] or data_names[0].split("@")[0]
gfile = grass.find_file(name=map_name, element="cell", mapset=".")
if gfile["file"]:
diff --git a/scripts/r3.in.xyz/r3.in.xyz.py b/scripts/r3.in.xyz/r3.in.xyz.py
index b17d59506b7..5b2c8be4a65 100755
--- a/scripts/r3.in.xyz/r3.in.xyz.py
+++ b/scripts/r3.in.xyz/r3.in.xyz.py
@@ -226,10 +226,7 @@ def main():
addl_opts["flags"] = "i"
if scan_only or shell_style:
- if shell_style:
- doShell = "g"
- else:
- doShell = ""
+ doShell = "g" if shell_style else ""
grass.run_command(
"r.in.xyz",
flags="s" + doShell,
@@ -243,10 +240,7 @@ def main():
)
sys.exit()
- if dtype == "float":
- data_type = "FCELL"
- else:
- data_type = "DCELL"
+ data_type = "FCELL" if dtype == "float" else "DCELL"
region = grass.region(region3d=True)
diff --git a/scripts/v.build.all/v.build.all.py b/scripts/v.build.all/v.build.all.py
index 69b0837209f..8691ecddc32 100755
--- a/scripts/v.build.all/v.build.all.py
+++ b/scripts/v.build.all/v.build.all.py
@@ -31,10 +31,7 @@ def main():
vectors = grass.list_grouped("vect")[mapset]
num_vectors = len(vectors)
- if grass.verbosity() < 2:
- quiet = True
- else:
- quiet = False
+ quiet = grass.verbosity() < 2
i = 1
for vect in vectors:
diff --git a/scripts/v.db.reconnect.all/v.db.reconnect.all.py b/scripts/v.db.reconnect.all/v.db.reconnect.all.py
index b42b8006673..9a9d46356a9 100755
--- a/scripts/v.db.reconnect.all/v.db.reconnect.all.py
+++ b/scripts/v.db.reconnect.all/v.db.reconnect.all.py
@@ -255,10 +255,7 @@ def main():
schema = ""
table = schema_table
- if new_schema:
- new_schema_table = "%s.%s" % (new_schema, table)
- else:
- new_schema_table = table
+ new_schema_table = "%s.%s" % (new_schema, table) if new_schema else table
gs.debug(
"DATABASE = '%s' SCHEMA = '%s' TABLE = '%s' ->\n"
diff --git a/scripts/v.dissolve/tests/conftest.py b/scripts/v.dissolve/tests/conftest.py
index 9b069330488..e5e9a38818d 100644
--- a/scripts/v.dissolve/tests/conftest.py
+++ b/scripts/v.dissolve/tests/conftest.py
@@ -13,10 +13,7 @@
def updates_as_transaction(table, cat_column, column, column_quote, cats, values):
"""Create SQL statement for categories and values for a given column"""
sql = ["BEGIN TRANSACTION"]
- if column_quote:
- quote = "'"
- else:
- quote = ""
+ quote = "'" if column_quote else ""
for cat, value in zip(cats, values):
sql.append(
f"UPDATE {table} SET {column} = {quote}{value}{quote} "
diff --git a/scripts/v.dissolve/tests/v_dissolve_aggregate_test.py b/scripts/v.dissolve/tests/v_dissolve_aggregate_test.py
index 68ca178b864..90dc3de075e 100644
--- a/scripts/v.dissolve/tests/v_dissolve_aggregate_test.py
+++ b/scripts/v.dissolve/tests/v_dissolve_aggregate_test.py
@@ -101,10 +101,7 @@ def test_aggregate_column_result(dataset, backend):
for stats_column in stats_columns:
assert stats_column in columns
column_info = columns[stats_column]
- if stats_column.endswith("_n"):
- correct_type = "integer"
- else:
- correct_type = "double precision"
+ correct_type = "integer" if stats_column.endswith("_n") else "double precision"
assert (
columns[stats_column]["type"].lower() == correct_type
), f"{stats_column} has a wrong type"
@@ -221,10 +218,7 @@ def test_sqlite_agg_accepted(dataset):
for method, stats_column in zip(stats, expected_stats_columns):
assert stats_column in columns
column_info = columns[stats_column]
- if method == "count":
- correct_type = "integer"
- else:
- correct_type = "double precision"
+ correct_type = "integer" if method == "count" else "double precision"
assert (
columns[stats_column]["type"].lower() == correct_type
), f"{stats_column} has a wrong type"
diff --git a/scripts/v.dissolve/tests/v_dissolve_layers_test.py b/scripts/v.dissolve/tests/v_dissolve_layers_test.py
index 702aa8f8496..f6986d35917 100644
--- a/scripts/v.dissolve/tests/v_dissolve_layers_test.py
+++ b/scripts/v.dissolve/tests/v_dissolve_layers_test.py
@@ -50,10 +50,7 @@ def test_layer_2(dataset_layer_2):
for method, stats_column in zip(stats, expected_stats_columns):
assert stats_column in columns
column_info = columns[stats_column]
- if method == "count":
- correct_type = "integer"
- else:
- correct_type = "double precision"
+ correct_type = "integer" if method == "count" else "double precision"
assert (
columns[stats_column]["type"].lower() == correct_type
), f"{stats_column} has a wrong type"
diff --git a/scripts/v.in.e00/v.in.e00.py b/scripts/v.in.e00/v.in.e00.py
index 4d63636199f..4258fa3181a 100755
--- a/scripts/v.in.e00/v.in.e00.py
+++ b/scripts/v.in.e00/v.in.e00.py
@@ -86,10 +86,7 @@ def main():
)
merging = True
- if vect:
- name = vect
- else:
- name = e00name
+ name = vect or e00name
# do import
diff --git a/scripts/v.in.lines/v.in.lines.py b/scripts/v.in.lines/v.in.lines.py
index 44112b297a3..35991988f6b 100755
--- a/scripts/v.in.lines/v.in.lines.py
+++ b/scripts/v.in.lines/v.in.lines.py
@@ -50,12 +50,7 @@ def main():
fs = separator(options["separator"])
threeD = flags["z"]
-
- if threeD:
- do3D = "z"
- else:
- do3D = ""
-
+ do3D = "z" if threeD else ""
tmp = grass.tempfile()
# set up input file
diff --git a/scripts/v.in.mapgen/v.in.mapgen.py b/scripts/v.in.mapgen/v.in.mapgen.py
index 404fb7ec6b2..efe7af1075d 100755
--- a/scripts/v.in.mapgen/v.in.mapgen.py
+++ b/scripts/v.in.mapgen/v.in.mapgen.py
@@ -73,18 +73,12 @@ def main():
if not os.path.isfile(infile):
grass.fatal(_("Input file <%s> not found") % infile)
- if output:
- name = output
- else:
- name = ""
+ name = output or ""
if threeD:
matlab = True
- if threeD:
- do3D = "z"
- else:
- do3D = ""
+ do3D = "z" if threeD else ""
tmp = grass.tempfile()
diff --git a/scripts/v.pack/v.pack.py b/scripts/v.pack/v.pack.py
index 4468c888bcb..e39d52dbafe 100755
--- a/scripts/v.pack/v.pack.py
+++ b/scripts/v.pack/v.pack.py
@@ -73,10 +73,7 @@ def main():
infile = infile.split("@")[0]
# output name
- if options["output"]:
- outfile = options["output"]
- else:
- outfile = infile + ".pack"
+ outfile = options["output"] or infile + ".pack"
# check if exists the output file
if os.path.exists(outfile):
diff --git a/scripts/v.rast.stats/v.rast.stats.py b/scripts/v.rast.stats/v.rast.stats.py
index 803fc8691ad..4096aa49caf 100644
--- a/scripts/v.rast.stats/v.rast.stats.py
+++ b/scripts/v.rast.stats/v.rast.stats.py
@@ -116,10 +116,7 @@ def main():
# Get mapset of the vector
vs = vector.split("@")
- if len(vs) > 1:
- vect_mapset = vs[1]
- else:
- vect_mapset = mapset
+ vect_mapset = vs[1] if len(vs) > 1 else mapset
# does map exist in CURRENT mapset?
if vect_mapset != mapset or not gs.find_file(vector, "vector", mapset)["file"]:
@@ -373,10 +370,7 @@ def set_up_columns(vector, layer, percentile, colprefix, basecols, dbfdriver, c)
perc = b
if perc:
# namespace is limited in DBF but the % value is important
- if dbfdriver:
- perccol = "per" + percentile
- else:
- perccol = "percentile_" + percentile
+ perccol = "per" + percentile if dbfdriver else "percentile_" + percentile
percindex = basecols.index(perc)
basecols[percindex] = perccol
@@ -424,10 +418,7 @@ def set_up_columns(vector, layer, percentile, colprefix, basecols, dbfdriver, c)
+ _("Use -c flag to update values in this column.")
)
else:
- if i == "n":
- coltype = "INTEGER"
- else:
- coltype = "DOUBLE PRECISION"
+ coltype = "INTEGER" if i == "n" else "DOUBLE PRECISION"
addcols.append(currcolumn + " " + coltype)
if addcols:
diff --git a/scripts/v.report/v.report.py b/scripts/v.report/v.report.py
index cec84582155..29d9d3c914e 100755
--- a/scripts/v.report/v.report.py
+++ b/scripts/v.report/v.report.py
@@ -91,10 +91,7 @@ def main():
isConnection = False
colnames = ["cat"]
- if option == "coor":
- extracolnames = ["x", "y", "z"]
- else:
- extracolnames = [option]
+ extracolnames = ["x", "y", "z"] if option == "coor" else [option]
if units == "percent":
unitsp = "meters"
diff --git a/scripts/v.unpack/v.unpack.py b/scripts/v.unpack/v.unpack.py
index ea75d443b57..c3a7a55deb7 100644
--- a/scripts/v.unpack/v.unpack.py
+++ b/scripts/v.unpack/v.unpack.py
@@ -93,10 +93,7 @@ def main():
return 0
# set the output name
- if options["output"]:
- map_name = options["output"]
- else:
- map_name = data_name
+ map_name = options["output"] or data_name
# grass env
gisenv = grass.gisenv()
@@ -233,19 +230,13 @@ def main():
# for each old connection
for t in dbnlist:
# it split the line of each connection, to found layer number and key
- if len(t.split("|")) != 1:
- values = t.split("|")
- else:
- values = t.split(" ")
+ values = t.split("|") if len(t.split("|")) != 1 else t.split(" ")
from_table = values[1]
layer = values[0].split("/")[0]
# we need to take care about the table name in case of several layer
if options["output"]:
- if len(dbnlist) > 1:
- to_table = "%s_%s" % (map_name, layer)
- else:
- to_table = map_name
+ to_table = "%s_%s" % (map_name, layer) if len(dbnlist) > 1 else map_name
else:
to_table = from_table