diff --git a/.gitignore b/.gitignore index d2d6f360b5d1ea91375f06547df0048ec47a4862..fb0a8f15cb7fc11f723bbc3249f998cd90c9b131 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,6 @@ nosetests.xml .mr.developer.cfg .project .pydevproject + +# Project +/src/mra.yaml diff --git a/src/mapfile.py b/src/mapfile.py index ffde1c4e427c4e46ac43806675a18bdf4183bad9..6ed93f6961a7e5e4184093ba17bddfd6e52ce7e5 100644 --- a/src/mapfile.py +++ b/src/mapfile.py @@ -50,7 +50,7 @@ def get_store_connection_string(info): cparam = info["connectionParameters"] if cparam.get("dbtype", "") == "postgis": return "PG:dbname=%s port=%s host=%s user=%s password=%s" % ( - cparam["dbname"], cparam["port"], cparam["host"], cparam["user"], cparam["password"]) + cparam["database"], cparam["port"], cparam["host"], cparam["user"], cparam["password"]) elif "url" in cparam: url = urlparse.urlparse(cparam["url"]) if url.scheme != "file" or url.netloc: @@ -128,7 +128,7 @@ class Layer(MetadataMixin): xmlsld = etree.fromstring(re.sub(' [a-zzA-Z]+:([a-zA-Z]+=")', ' \\1', new_sld)) xmlsld.find("NamedLayer/Name").text = sld_layer_name new_sld = etree.tostring(xmlsld) - + ms_template_layer = self.ms.clone() ms_template_layer.name = sld_layer_name @@ -141,7 +141,7 @@ class Layer(MetadataMixin): self.ms.insertClass(ms_class) mf.ms.removeLayer(ms_template_layer.index) - + def remove_style(self, s_name): for c_index in reversed(xrange(self.ms.numclasses)): c = self.ms.getClass(c_index) @@ -299,7 +299,7 @@ class FeatureType(LayerModel): if cparam.get("dbtype", None) in ["postgis", "postgres", "postgresql"]: self.ms.connectiontype = mapscript.MS_POSTGIS self.ms.connection = "dbname=%s port=%s host=%s user=%s password=%s" % ( - cparam["dbname"], cparam["port"], cparam["host"], cparam["user"], cparam["password"]) + cparam["database"], cparam["port"], cparam["host"], cparam["user"], cparam["password"]) self.ms.data = "%s FROM %s" % (ds[ft_name].get_geometry_column(), ft_name) #elif cpram["dbtype"] in ["shp", "shapefile"]: else: diff --git a/src/server.py b/src/server.py index fc7bece76a0efa7c273b019001b6c3f7dacaeea0..308f9f68ed67cbdb4d72a6a1c15a2a8d8e01d811 100755 --- a/src/server.py +++ b/src/server.py @@ -39,6 +39,8 @@ from webapp import HTTPCompatible, urlmap, get_data import tools from tools import get_mapfile, get_mapfile_workspace, get_config, href +from pyxml import Entries + import os.path mralogs.setup(get_config("logging")["level"], get_config("logging")["file"], @@ -158,6 +160,8 @@ class datastore(object): info = ws.get_datastore_info(ds_name) info["href"] = "%s/maps/%s/workspaces/%s/datastores/%s/featuretypes.%s" % ( web.ctx.home, map_name, ws.name, ds_name, format) + if "connectionParameters" in info: + info["connectionParameters"] = Entries(info["connectionParameters"], tag_name="entry", key_name="key") return {"dataStore": info} def PUT(self, map_name, ws_name, ds_name, format): @@ -314,6 +318,8 @@ class coveragestore(object): info = ws.get_coveragestore_info(cs_name) info["href"] = "%s/maps/%s/workspaces/%s/coveragestores/%s/coverages.%s" % ( web.ctx.home, map_name, ws.name, cs_name, format) + if "connectionParameters" in info: + info["connectionParameters"] = Entries(info["connectionParameters"], tag_name="entry", key_name="key") return {"coverageStore": info} def PUT(self, map_name, ws_name, cs_name, format):