def testAddGroup(self): self.call("--id", "newgroup", "--parent", "base", "--label", "lbl1") root = portal.readPortalRoot(self.testFile) group = portal.findGroupById(root, "newgroup") self.assertIsNotNone(group) self.assertEquals(0, len(group["items"]))
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 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 testChangeLabel(self): self.call("--id", "innerbase", "--label", "New Label") root = portal.readPortalRoot(self.testFile) group = portal.findGroupById(root, "innerbase") self.assertEquals("New Label", group["label"])
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('--group', help="Grupo donde se creará la nueva capa", required=True) args = parser.parse_args() root = portal.readPortalRoot(args.file) if not portal.findGroupById(root, args.group): print "No se ha encontrado el grupo: " + args.group exit(1) mapLayerId = "map-" + args.id mapLayer = create(root["wmsLayers"], mapLayerId) portalLayer = create(root["portalLayers"], args.id) mapLayer["baseUrl"] = args.url mapLayer["wmsName"] = args.wmsName mapLayer["visible"] = True mapLayer["label"] = args.label mapLayer["id"] = mapLayerId portalLayer["label"] = args.label portalLayer["layers"] = [mapLayerId]
import argparse parser = argparse.ArgumentParser( description='Elimina un grupo 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 del grupo a eliminar", required=True) args = parser.parse_args() root = portal.readPortalRoot(args.file) group = portal.findGroupById(root, args.id) parent = portal.findGroupParent(root, args.id) if not group: print "No se ha podido encontrar el grupo: " + args.id exit(1) if len(group.get("items")) > 0: print "El grupo debe de estar vacío para poder eliminarlo: " + args.id exit(1) parent.get("items").remove(group) portal.writePortalRoot(root, args.file)
def testRemove(self): self.call("--id", "emptygroup") root = portal.readPortalRoot(self.testFile) group = portal.findGroupById(root, "newgroup") self.assertIsNone(group)
parser = argparse.ArgumentParser(description='Modifica un grupo en el 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 del grupo a modificar", required=True) parser.add_argument('--label', help="Nueva etiqueta del grupo") parser.add_argument('--parent', help="Nuevo padre del grupo ('root' para grupo sin padre)") args = parser.parse_args() if (args.label is None and args.parent is None): print "Se debe especificar uno de los parámetros --label o --parent" exit(1) groupId = args.id root = portal.readPortalRoot(args.file) group = portal.findGroupById(root, groupId) if group is None: print "No existe el grupo: " + groupId exit(1) if args.parent is not None: newParent = portal.findGroupById(root, args.parent) if newParent is None: print "No se encuentra el padre: " + args.parent exit(1) oldParent = portal.findGroupParent(root, groupId) if oldParent is not None: oldParent["items"].remove(group) newParent["items"].append(group)
import argparse import portal import json parser = argparse.ArgumentParser(description='Añade un nuevo grupo al 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 del nuevo grupo", required=True) parser.add_argument('--label', help="Etiqueta del nuevo grupo", required=True) parser.add_argument('--parent', help="Identificador del grupo padre ('root' para añadir grupo sin padre)", required=True) args = parser.parse_args() root = portal.readPortalRoot(args.file) if portal.findGroupById(root, args.id) is not None: print "El grupo ya existe: " + args.id exit(1) newParent = portal.findGroupById(root, args.parent) if newParent is None: print "No se ha podido encontrar el padre: " + args.parent exit(1) group = { "id": args.id, "label": args.label, "items":[]} oldParent = portal.findGroupParent(root, args.id) if oldParent is not None: oldParent["items"].remove(group)