def initAlgorithm(self, config): # Get existing connections metadata = QgsProviderRegistry.instance().providerMetadata('postgres') names = list(metadata.connections().keys()) existing_connections = [] for i, name in enumerate(names): if name in connections_list()[0]: existing_connections.append(i) param = QgsProcessingParameterEnum( self.DATABASES, 'List of databases to look for metadata', options=names, defaultValue=existing_connections, ) param.setAllowMultiple(True) tooltip = tr("PgMetadata can be installed on different databases.") if Qgis.QGIS_VERSION_INT >= 31600: param.setHelp(tooltip) else: param.tooltip_3liz = tooltip self.addParameter(param)
def initAlgorithm(self, config): # Base contenant la table db_param = QgsProcessingParameterString( self.DATABASE, tr("Connexion à la base de données")) db_param.setMetadata({ "widget_wrapper": { "class": "processing.gui.wrappers_postgis.ConnectionWidgetWrapper" } }) db_param.tooltip_3liz = 'Nom de la connexion dans QGIS pour se connecter à la base de données' self.addParameter(db_param) # Schema contenant la table schema_param = QgsProcessingParameterString(self.SCHEMA, tr("Schéma"), "veloroutes", False, False) schema_param.setMetadata({ "widget_wrapper": { "class": "processing.gui.wrappers_postgis.SchemaWidgetWrapper", "connection_param": self.DATABASE } }) schema_param.tooltip_3liz = 'Nom du schéma pour chercher les couches dans la base de données' self.addParameter(schema_param) # Table à exporter table_param = QgsProcessingParameterEnum( self.TABLE, tr("Donnée à exporter"), options=self.EXPORTABLES, defaultValue="", ) table_param.tooltip_3liz = 'Nom de la table à exporter' self.addParameter(table_param) # Nom du département pour le fichier d'export depparam = QgsProcessingParameterString( self.DPT, tr("Département au format XXX"), '066', optional=False) depparam.tooltip_3liz = 'Pour le département de l\'Ain, mettre 001' self.addParameter(depparam) # Chemin du dossier de destination outparam = QgsProcessingParameterFolderDestination( self.PROJECTS_FOLDER, description=tr("Chemin de destination")) outparam.tooltip_3liz = 'Chemin de destination pour enregistrer les exports Shapefile' self.addParameter(outparam) param = QgsProcessingParameterBoolean( self.CHARGER, tr("Charger le fichier d'export dans le projet"), defaultValue=False, optional=False, ) param.tooltip_3liz = 'Si le traitement doit charger la couche Shapefile dans le projet' self.addParameter(param) output = QgsProcessingOutputVectorLayer(self.OUTPUT, tr("Couches de sortie")) output.tooltip_3liz = 'Les couches de l\'export' self.addOutput(output)
def initAlgorithm(self, config): label = tr("Connexion à la base de données") tooltip = 'Nom de la connexion dans QGIS pour se connecter à la base de données' if Qgis.QGIS_VERSION_INT >= 31400: param = QgsProcessingParameterProviderConnection( self.DATABASE, label, "postgres", optional=False, ) else: param = QgsProcessingParameterString(self.DATABASE, label) param.setMetadata( { "widget_wrapper": { "class": "processing.gui.wrappers_postgis.ConnectionWidgetWrapper" } } ) if Qgis.QGIS_VERSION_INT >= 31600: param.setHelp(tooltip) else: param.tooltip_3liz = tooltip self.addParameter(param) # Schema de destination label = tr("Schéma") tooltip = 'Nom du schéma où importer les données' default = 'veloroutes' if Qgis.QGIS_VERSION_INT >= 31400: param = QgsProcessingParameterDatabaseSchema( self.SCHEMA, label, self.DATABASE, defaultValue=default, optional=False, ) else: param = QgsProcessingParameterString(self.SCHEMA, label, default, False, True) param.setMetadata( { "widget_wrapper": { "class": "processing.gui.wrappers_postgis.SchemaWidgetWrapper", "connection_param": self.DATABASE, } } ) if Qgis.QGIS_VERSION_INT >= 31600: param.setHelp(tooltip) else: param.tooltip_3liz = tooltip self.addParameter(param) # Table à exporter table_param = QgsProcessingParameterEnum( self.TABLE, tr("Donnée à exporter"), options=self.EXPORTABLES, defaultValue="", ) table_param.tooltip_3liz = 'Nom de la table à exporter' self.addParameter(table_param) # Nom du département pour le fichier d'export depparam = QgsProcessingParameterString( self.DPT, tr("Département au format XXX"), '066', optional=False ) depparam.tooltip_3liz = 'Pour le département de l\'Ain, mettre 001' self.addParameter(depparam) # Chemin du dossier de destination outparam = QgsProcessingParameterFolderDestination( self.PROJECTS_FOLDER, description=tr("Chemin de destination") ) outparam.tooltip_3liz = 'Chemin de destination pour enregistrer les exports Shapefile' self.addParameter(outparam) param = QgsProcessingParameterBoolean( self.CHARGER, tr("Charger le fichier d'export dans le projet"), defaultValue=False, optional=False, ) param.tooltip_3liz = 'Si le traitement doit charger la couche Shapefile dans le projet' self.addParameter(param) output = QgsProcessingOutputVectorLayer(self.OUTPUT, tr("Couches de sortie")) output.tooltip_3liz = 'Les couches de l\'export' self.addOutput(output)