def testChangeLabel(self): self.call("--id", "blue-marble", "--label", "Label") root = portal.readPortalRoot(self.testFile) mapLayer = portal.findLayerById(root["wmsLayers"], "blue-marble") portalLayer = portal.findLayerById(root["portalLayers"], "blue-marble") self.assertEquals("Label", mapLayer["label"]) self.assertEquals("Label", portalLayer["label"])
def testRemove(self): self.call("--id", "forestClassification2") root = portal.readPortalRoot(self.testFile) portalLayer = portal.findLayerById(root["portalLayers"], "forestClassification") self.assertIsNone( portal.findLayerById(root["wmsLayers"], "forestClassification2")) self.assertFalse("forestClassification2" in portalLayer["layers"])
def testRemove(self): self.call("--id", "blue-marble") root = portal.readPortalRoot(self.testFile) group = portal.findGroupById(root, "innerbase") self.assertIsNone( portal.findLayerById(root["portalLayers"], "blue-marble")) self.assertIsNone( portal.findLayerById(root["wmsLayers"], "blue-marble")) self.assertFalse("blue-marble" in group["items"])
def testAddMapLayer(self): self.call("--id", "newmaplayer", "--url", "http://www.example.com", "--wmsName", "wms-name", "--label", "Label", "--portal-layer", "forest_mask") root = portal.readPortalRoot(self.testFile) mapLayer = portal.findLayerById(root["wmsLayers"], "newmaplayer") portalLayer = portal.findLayerById(root["portalLayers"], "forest_mask") self.assertIsNotNone(mapLayer) self.assertEquals("http://www.example.com", mapLayer["baseUrl"]) self.assertEquals("wms-name", mapLayer["wmsName"]) self.assertEquals("Label", mapLayer["label"]) self.assertTrue("newmaplayer" in portalLayer["layers"])
def testChangeSourceLink(self): self.call("--id", "blue-marble", "--sourceLink", "http://www.source.com") root = portal.readPortalRoot(self.testFile) mapLayer = portal.findLayerById(root["wmsLayers"], "blue-marble") self.assertEquals("http://www.source.com", mapLayer["sourceLink"])
def testAddLayer(self): self.call("--id", "newlayer", "--url", "http://www.example.com", "--wmsName", "wms-name", "--label", "Label", "--group", "base") root = portal.readPortalRoot(self.testFile) mapLayer = portal.findLayerById(root["wmsLayers"], "map-newlayer") portalLayer = portal.findLayerById(root["portalLayers"], "newlayer") group = portal.findGroupById(root, "base") self.assertIsNotNone(mapLayer) self.assertIsNotNone(portalLayer) self.assertEquals("http://www.example.com", mapLayer["baseUrl"]) self.assertEquals("wms-name", mapLayer["wmsName"]) self.assertEquals("Label", mapLayer["label"]) self.assertEquals("Label", portalLayer["label"]) self.assertTrue("newlayer" in group["items"])
def create(list, id): ret = portal.findLayerById(list, id) if ret is not None: print "Ya existe una capa con ese identificador: " + layerId exit(1) ret = {} list.append(ret) return ret
def testChangeInfoFile(self): self.call("--id", "blue-marble", "--infoFile", self.getPath('sample_info.html'), "--lang", "es") root = portal.readPortalRoot(self.testFile) portalLayer = portal.findLayerById(root["portalLayers"], "blue-marble") path = portal.getLocalizedDir(self.testFile, "es", "html") self.assertTrue(os.path.isfile(os.path.join(path, "blue-marble.html"))) self.assertEquals("blue-marble.html", portalLayer["infoFile"]) shutil.rmtree(self.getPath('static'))
def testChangeLegend(self): self.call("--id", "blue-marble", "--legend", self.getPath('sample_legend.png'), "--lang", "es") root = portal.readPortalRoot(self.testFile) mapLayer = portal.findLayerById(root["wmsLayers"], "blue-marble") path = portal.getLocalizedDir(self.testFile, "es", "images") self.assertTrue(os.path.isfile(os.path.join(path, "blue-marble.png"))) self.assertEquals("blue-marble.png", mapLayer["legend"]) shutil.rmtree(self.getPath('static'))
help="Identificador de la nueva capa", required=True) parser.add_argument('--url', help="URL de la capa de GeoServer", required=True) parser.add_argument('--wmsName', help="Nombre de la capa en GeoServer", required=True) parser.add_argument('--label', help="Nombre de la nueva capa", required=True) parser.add_argument('--portal-layer', help="Capa del portal asociada con esta capa de mapa", required=True) args = parser.parse_args() root = portal.readPortalRoot(args.file) mapLayer = portal.findLayerById(root["wmsLayers"], args.id) if mapLayer: print "Ya existe una capa con ese identificador: " + args.id exit(1) portalLayer = portal.findLayerById(root["portalLayers"], args.portal_layer) if not portalLayer: print "No se ha podido encontrar la capa de portal: " + args.portal_layer exit(1) mapLayer = {} mapLayer["id"] = args.id mapLayer["baseUrl"] = args.url mapLayer["wmsName"] = args.wmsName mapLayer["label"] = args.label
def testChangeWmsTime(self): self.call("--id", "blue-marble", "--wmsTime", "time") root = portal.readPortalRoot(self.testFile) mapLayer = portal.findLayerById(root["wmsLayers"], "blue-marble") self.assertEquals("time", mapLayer["wmsTime"])
"Hace que la capa no se muestre nunca ni en el mapa ni en el árbol de capas", action="store_true") parser.add_argument('--not-hidden', help="Hace que la capa se pueda mostrar y ocultar", action="store_true") parser.add_argument('--order', help="Orden de la capa para el dibujado", type=int) args = parser.parse_args() root = portal.readPortalRoot(args.file) portal.checkMapLayerArgs(args, root) mapLayer = portal.findLayerById(root["wmsLayers"], args.id) if mapLayer is None: print "No se encuentra la capa: " + args.id exit(1) #Find portal layer portalLayer = None for layer in root["portalLayers"]: if args.id in layer["layers"]: portalLayer = layer break mapLayer = portal.updateMapLayer(portalLayer, mapLayer, args, root) portal.writePortalRoot(root, args.file)
exit(1) if args.infoFile: if not args.lang: print "Es necesario especificar el idioma del fichero de información (--lang)" exit(1) if not os.path.isfile(args.infoFile): print "El fichero de información no existe: " + args.legend exit(1) root = portal.readPortalRoot(args.file) portal.checkMapLayerArgs(args, root) # Get layer and mapLayer layerId = args.id layer = portal.findLayerById(root["portalLayers"], layerId) if layer is None: print "No se encuentra la capa: " + layerId exit(1) mapLayers = portal.findMapLayers(root, layer) # Check mapLayer options if len(mapLayers) != 1: if (args.url or args.wmsname or args.queryable or args.not_queryable or args.hidden or args.not_hidden or args.imageFormat or sourceLabel or args.sourceLink or args.legend or args.wmsTime or args.legend): print ("Error!!") exit(1) mapLayer = None
def testChangeNotQueryable(self): self.call("--id", "blue-marble", "--not-queryable") root = portal.readPortalRoot(self.testFile) mapLayer = portal.findLayerById(root["wmsLayers"], "blue-marble") self.assertFalse(mapLayer["queryable"])
def testChangeImageFormat(self): self.call("--id", "blue-marble", "--imageFormat", "image/jpeg") root = portal.readPortalRoot(self.testFile) mapLayer = portal.findLayerById(root["wmsLayers"], "blue-marble") self.assertEquals("image/jpeg", mapLayer["imageFormat"])
parser = argparse.ArgumentParser( description='Elimina una capa del fichero layers.json') parser.add_argument( "--file", help= "Ruta al fichero layers.json file (por defecto /var/portal/layers.json)", default="/var/portal/layers.json", nargs='?') parser.add_argument('--id', help="Identificador de la capa a eliminar", required=True) args = parser.parse_args() root = portal.readPortalRoot(args.file) portalLayer = portal.findLayerById(root["portalLayers"], args.id) if not portalLayer: print "No existe la capa: " + args.id exit(1) mapLayers = portal.findMapLayers(root, portalLayer) for layer in mapLayers: root["wmsLayers"].remove(layer) root["portalLayers"].remove(portalLayer) group = portal.findGroupContainingLayer(root, args.id) if group: group.get("items").remove(args.id) portal.writePortalRoot(root, args.file)
def testChangeMapLayerUrl(self): self.call("--id", "blue-marble", "--url", "http://www.example.com") root = portal.readPortalRoot(self.testFile) mapLayer = portal.findLayerById(root["wmsLayers"], "blue-marble") self.assertEquals("http://www.example.com", mapLayer["baseUrl"])
def testChangeStartInvisible(self): self.call("--id", "blue-marble", "--start-invisible") root = portal.readPortalRoot(self.testFile) portalLayer = portal.findLayerById(root["portalLayers"], "blue-marble") self.assertFalse(portalLayer["active"])
def testChangeNotHidden(self): self.call("--id", "blue-marble", "--not-hidden") root = portal.readPortalRoot(self.testFile) mapLayer = portal.findLayerById(root["wmsLayers"], "blue-marble") self.assertTrue(mapLayer["visible"])