[GRASS-dev] [GRASS GIS] #2659: replace function bug in t.rast.mapcalc.py
GRASS GIS
trac at osgeo.org
Mon Apr 20 06:55:23 PDT 2015
#2659: replace function bug in t.rast.mapcalc.py
----------------------------+-----------------------------------------------
Reporter: eosduero | Owner: grass-dev@…
Type: defect | Status: new
Priority: normal | Milestone: 7.0.1
Component: Python | Version: 7.0.0
Keywords: t.rast.mapcalc | Platform: Unspecified
Cpu: x86-32 |
----------------------------+-----------------------------------------------
Comment(by eosduero):
Other better posibility:
{{{
...............
from grass.exceptions import CalledModuleError
import re
############################################################################
def multiple_replace(string, rep_dict):
pattern = re.compile("|".join([re.escape(k) for k in
rep_dict.keys()]), re.M)
return pattern.sub(lambda x: rep_dict[x.group(0)], string)
...................
# Replace all dataset names with their map names of the
# current time step
plants = {}
for j in range(len(map_matrix)):
if map_matrix[j][i] is None:
valid_maps = False
break
# Substitute the dataset name with the map name
#expr = expr.replace(id_list[j], map_matrix[j][i])
plants[id_list[j]] = map_matrix[j][i]
#msgr.message()
expr = multiple_replace(expr, plants)
}}}
--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2659#comment:3>
GRASS GIS <http://grass.osgeo.org>
More information about the grass-dev
mailing list