示例#1
0
    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"]))
示例#2
0
    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"])
示例#3
0
    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"])
示例#4
0
 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"])
示例#5
0
                    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]
示例#6
0
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)
示例#7
0
 def testRemove(self):
     self.call("--id", "emptygroup")
     root = portal.readPortalRoot(self.testFile)
     group = portal.findGroupById(root, "newgroup")
     self.assertIsNone(group)
示例#8
0
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)
 
示例#9
0
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)