def testPublishLayersDialog(self): # test the content of the GUI for idx, ws in enumerate(self.cat.get_workspaces()): if ws.name == WORKSPACE: wsIdx = idx if ws.name == WORKSPACEB: wsIdxB = idx dialog = PublishLayersDialog(self.cat) self.assertEquals(5, dialog.table.columnCount()) self.assertEquals(8, dialog.table.rowCount()) # test that cancel return an empty list of layer to publish dialog = PublishLayersDialog(self.cat) cancelWidget = dialog.buttonBox.button(dialog.buttonBox.Cancel) QTest.mouseClick(cancelWidget, Qt.LeftButton) self.assertIsNone(dialog.topublish) # check that returned layers in the correct workspaces # step 1: set first two layer to publish dialog.table.item(0, 0).setCheckState(Qt.Checked) dialog.table.item(1, 0).setCheckState(Qt.Checked) # step 2: set WS where to publish dialog.table.cellWidget(0, 1).setCurrentIndex(wsIdx) dialog.table.cellWidget(1, 1).setCurrentIndex(wsIdxB) # step 3: press ok okWidget = dialog.buttonBox.button(dialog.buttonBox.Ok) QTest.mouseClick(okWidget, Qt.LeftButton) # step 4: last check self.assertIsNotNone(dialog.topublish) self.assertEquals(WORKSPACE, dialog.topublish[0][1].name) self.assertEquals(WORKSPACEB, dialog.topublish[1][1].name)
def publishLayers(tree, explorer, catalog): dlg = PublishLayersDialog(catalog) dlg.exec_() if dlg.topublish is None: return layers = [(lay, ws, True, name, style) for lay, ws, name, style in dlg.topublish] def layersUploaded(): catItem = tree.findAllItems(catalog)[0] catItem.refreshContent(explorer) explorer.resetActivity() _publishLayers(catalog, layers, layersUploaded)
def publishLayers(tree, explorer, catalog): dlg = PublishLayersDialog(catalog) dlg.exec_() if dlg.topublish is None: return cat = CatalogWrapper(catalog) progress = 0 explorer.setProgressMaximum(len(dlg.topublish), "Publish layers") for layer, workspace, name, style in dlg.topublish: explorer.run(cat.publishLayer, None, [], layer, workspace, True, name, style) progress += 1 explorer.setProgress(progress) catItem = tree.findAllItems(catalog)[0] catItem.refreshContent(explorer) explorer.resetActivity()