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)