def publishProject(tree, explorer, catalog):
    layers = qgislayers.getAllLayers()
    dlg = PublishProjectDialog(catalog)
    dlg.exec_()
    if not dlg.ok:
        return
    workspace = dlg.workspace
    groupName = dlg.groupName
    overwrite = dlg.overwrite
    explorer.setProgressMaximum(len(layers), "Publish layers")
    progress = 0
    cat = CatalogWrapper(catalog)
    for layer in layers:
        explorer.setProgress(progress)
        explorer.run(publishLayer,
                     None,
                     [],
                     cat, layer, workspace, overwrite)
        progress += 1
        explorer.setProgress(progress)
    explorer.resetActivity()
    groups = qgislayers.getGroups()
    for group in groups:
        names = [layer.name() for layer in groups[group]]
        try:
            layergroup = catalog.create_layergroup(group, names, names)
            explorer.run(catalog.save, "Create layer group '" + group + "'",
                 [], layergroup)
        except ConflictingDataError, e:
            explorer.setWarning(str(e))
def publishProject(tree, explorer, catalog):
    layers = qgislayers.getAllLayers()
    dlg = PublishProjectDialog(catalog)
    dlg.exec_()
    if not dlg.ok:
        return
    workspace = dlg.workspace
    groupName = dlg.groupName
    overwrite = dlg.overwrite
    explorer.setProgressMaximum(len(layers), "Publish layers")
    progress = 0
    cat = CatalogWrapper(catalog)
    for layer in layers:
        explorer.setProgress(progress)
        explorer.run(publishLayer,
                     None,
                     [],
                     cat, layer, workspace, overwrite)
        progress += 1
        explorer.setProgress(progress)
    explorer.resetActivity()
    groups = qgislayers.getGroups()
    for group in groups:
        names = [layer.name() for layer in groups[group][::-1]]
        try:
            layergroup = catalog.create_layergroup(group, names, names, getGroupBounds(groups[group]))
        except ConflictingDataError:
            layergroup = catalog.get_layergroup(group)
            layergroup.dirty.update(layers = names, styles = names)
        explorer.run(catalog.save, "Create layer group '" + group + "'",
                 [], layergroup)

    if groupName is not None:
        names = [layer.name() for layer in layers[::-1]]
        try:
            layergroup = catalog.create_layergroup(groupName, names, names, getGroupBounds(layers))
        except ConflictingDataError:
            layergroup = catalog.get_layergroup(groupName)
            layergroup.dirty.update(layers = names, styles = names)
        explorer.run(catalog.save, "Create global layer group",
                 [], layergroup)
    tree.findAllItems(catalog)[0].refreshContent(explorer)
    explorer.resetActivity()
def publishProject(tree, explorer, catalog):
    layers = qgislayers.getAllLayers()
    dlg = PublishProjectDialog(catalog)
    dlg.exec_()
    if not dlg.ok:
        return
    workspace = dlg.workspace
    groupName = dlg.groupName
    overwrite = dlg.overwrite
    layersAndParams = [(layer, workspace, overwrite) for layer in layers]

    def layersUploaded():
        groups = qgislayers.getGroups()
        for group in groups:
            names = [layer.name() for layer in groups[group][::-1]]
            try:
                layergroup = catalog.create_layergroup(
                    group, names, names, getGroupBounds(groups[group]))
            except ConflictingDataError:
                layergroup = catalog.get_layergroups(group)[0]
                layergroup.dirty.update(layers=names, styles=names)
            explorer.run(catalog.save, "Create layer group '" + group + "'",
                         [], layergroup)

        if groupName is not None:
            names = [layer.name() for layer in layers[::-1]]
            try:
                layergroup = catalog.create_layergroup(groupName, names, names,
                                                       getGroupBounds(layers))
            except ConflictingDataError:
                layergroup = catalog.get_layergroups(groupName)[0]
                layergroup.dirty.update(layers=names, styles=names)
            explorer.run(catalog.save, "Create global layer group", [],
                         layergroup)
        tree.findAllItems(catalog)[0].refreshContent(explorer)
        explorer.resetActivity()

    _publishLayers(catalog, layersAndParams, layersUploaded)
def publishProject(tree, explorer, catalog):
    layers = qgislayers.getAllLayers()
    dlg = PublishProjectDialog(catalog)
    dlg.exec_()
    if not dlg.ok:
        return
    workspace = dlg.workspace
    groupName = dlg.groupName
    overwrite = dlg.overwrite
    layersAndParams = [(layer, workspace, overwrite) for layer in layers]

    def layersUploaded():
        groups = qgislayers.getGroups()
        for group in groups:
            names = [layer.name() for layer in groups[group][::-1]]
            try:
                layergroup = catalog.create_layergroup(group, names, names, getGroupBounds(groups[group]))
            except ConflictingDataError:
                layergroup = catalog.get_layergroups(group)[0]
                layergroup.dirty.update(layers = names, styles = names)
            explorer.run(catalog.save, "Create layer group '" + group + "'",
                     [], layergroup)

        if groupName is not None:
            names = [layer.name() for layer in layers[::-1]]
            try:
                layergroup = catalog.create_layergroup(groupName, names, names, getGroupBounds(layers))
            except ConflictingDataError:
                layergroup = catalog.get_layergroups(groupName)[0]
                layergroup.dirty.update(layers = names, styles = names)
            explorer.run(catalog.save, "Create global layer group",
                     [], layergroup)
        tree.findAllItems(catalog)[0].refreshContent(explorer)
        explorer.resetActivity()

    _publishLayers(catalog, layersAndParams, layersUploaded)