def importIntoDatabase(self, explorer): dlg = ImportIntoPostGISDialog(explorer.pgDatabases(), self.element) dlg.exec_() if dlg.ok: importToPostGIS(explorer, self.element, dlg.toImport, dlg.schema, dlg.tablename, dlg.add, dlg.single) self.refreshContent(explorer)
def importIntoSchema(self, explorer): dlg = ImportIntoPostGISDialog(explorer.pgDatabases(), self.element.conn, self.element) dlg.exec_() if dlg.ok: importToPostGIS(explorer, self.element.conn, dlg.toImport, dlg.schema, dlg.tablename, dlg.add, dlg.single) self.refreshContent(explorer)
def testDeleteTable(self): importToPostGIS(self.explorer, self.conn, [layers.resolveLayer(PT1)], PUBLIC_SCHEMA, PT1, False, False); self.getPGConnectionItem().refreshContent(self.explorer) tableItem = self.getPGTableItem(PT1) tableItem.deleteTable(self.explorer) tableItem = self.getPGTableItem(PT1) self.assertIsNone(tableItem)
def testImportSingleLayerAsSingleGeometries(self): importToPostGIS(self.explorer, self.conn, [layers.resolveLayer(PT1)], PUBLIC_SCHEMA, PT1, False, True) schema = Schema(self.conn, PUBLIC_SCHEMA) table = self.getTable(schema, PT1) self.assertIsNotNone(table) self.assertEquals(-1, table.geomtype.find("MULTI"))
def testImportMultipleLayers(self): importToPostGIS(self.explorer, self.conn, [layers.resolveLayer(PT1), layers.resolveLayer(PT2)], PUBLIC_SCHEMA, None, False, False) schema = Schema(self.conn, PUBLIC_SCHEMA) self.assertIsNotNone(self.getTable(schema, PT1)) self.assertIsNotNone(self.getTable(schema, PT2))
def testDeleteTable(self): importToPostGIS(self.explorer, self.conn, [layers.resolveLayer(PT1)], PUBLIC_SCHEMA, PT1, False, False) self.getPGConnectionItem().refreshContent(self.explorer) tableItem = self.getPGTableItem(PT1) tableItem.deleteTable(self.explorer) tableItem = self.getPGTableItem(PT1) self.assertIsNone(tableItem)
def testDropPGTableInWorkspacesItem(self): importToPostGIS(self.explorer, self.conn, [layers.resolveLayer(PT1)], PUBLIC_SCHEMA, PT1, False, False); self.getPGConnectionItem().refreshContent(self.explorer) tableItem = self.getPGTableItem(PT1) self.assertIsNotNone(tableItem) wsItem = self.getWorkspacesItem() wsItem.acceptDroppedItems(self.tree, self.explorer, [tableItem]) layer = self.cat.get_layer(PT1) self.assertIsNotNone(layer) self.cat.delete(self.cat.get_layer(PT1), recurse = True)
def acceptDroppedItems(self, tree, explorer, items): toUpdate = set() toImport = [] for item in items: if isinstance(item, QgsLayerItem): if item.element.type() == QgsMapLayer.VectorLayer: toImport.append(item.element) if toImport: dlg = ImportIntoPostGISDialog(explorer.pgDatabases(), self.element.conn, schema = self.element, toImport = toImport) dlg.exec_() if dlg.ok: importToPostGIS(explorer, self.element.conn, dlg.toImport, dlg.schema, dlg.tablename, dlg.add, dlg.single) toUpdate.add(self) return [self]
def acceptDroppedUris(self, tree, explorer, uris): if uris: files = [] for uri in uris: if isinstance(uri, basestring): files.append(uri) else: files.append(uri.uri) dlg = ImportIntoPostGISDialog(explorer.pgDatabases(), self.element.conn, schema = self.element, toImport = files) dlg.exec_() if dlg.ok: importToPostGIS(explorer, self.element.conn, dlg.toImport, dlg.schema, dlg.tablename, dlg.add, dlg.single) return [self] return [] else: return []
def acceptDroppedItems(self, tree, explorer, items): toUpdate = set() toImport = [] for item in items: if isinstance(item, QgsLayerItem): if item.element.type() == QgsMapLayer.VectorLayer: toImport.append(item.element) if toImport: dlg = ImportIntoPostGISDialog(explorer.pgDatabases(), self.element.conn, schema=self.element, toImport=toImport) dlg.exec_() if dlg.ok: importToPostGIS(explorer, self.element.conn, dlg.toImport, dlg.schema, dlg.tablename, dlg.add, dlg.single) toUpdate.add(self) return [self]
def acceptDroppedUris(self, tree, explorer, uris): if uris: files = [] for uri in uris: if isinstance(uri, basestring): files.append(uri) else: files.append(uri.uri) dlg = ImportIntoPostGISDialog(explorer.pgDatabases(), self.element.conn, schema=self.element, toImport=files) dlg.exec_() if dlg.ok: importToPostGIS(explorer, self.element.conn, dlg.toImport, dlg.schema, dlg.tablename, dlg.add, dlg.single) return [self] return [] else: return []
def testImportMultipleLayers(self): importToPostGIS(self.explorer, self.conn, [layers.resolveLayer(PT1), layers.resolveLayer(PT2)], PUBLIC_SCHEMA, None, False, False); schema = Schema(self.conn, PUBLIC_SCHEMA) self.assertIsNotNone(self.getTable(schema, PT1)) self.assertIsNotNone(self.getTable(schema, PT2))
def testImportSingleLayerAsSingleGeometries(self): importToPostGIS(self.explorer, self.conn, [layers.resolveLayer(PT1)], PUBLIC_SCHEMA, PT1, False, True); schema = Schema(self.conn, PUBLIC_SCHEMA) table = self.getTable(schema, PT1) self.assertIsNotNone(table) self.assertEquals(-1, table.geomtype.find("MULTI"))