def download_graph_version_to_map(self): """ Calls an algorithm to download the selected graph version :return: """ graph_name, graph_version = self.get_selected_graph_name_and_version() if graph_version is None: return connection_index, connection = self.read_current_connection() parameters = { DownloadGraphVersionAlgorithm.SERVER_NAME: connection_index, DownloadGraphVersionAlgorithm.GRAPH_NAME: graph_name, DownloadGraphVersionAlgorithm.GRAPH_VERSION: graph_version['version'] } try: processing.execAlgorithmDialog("Graphium:DownloadGraphVersion", parameters) except QgsProcessingException: self.iface.messageBar().pushMessage( "Warning", "Could not download the selected graph version", level=Qgis.Critical)
def run_script_from_file(filepath: str): """ Runs a Python script from a given file. Supports loading processing scripts. :param filepath: The .py file to load. """ import sys import inspect from qgis.processing import alg try: from qgis.core import QgsApplication, QgsProcessingAlgorithm, QgsProcessingFeatureBasedAlgorithm from qgis.processing import execAlgorithmDialog _locals = {} exec(open(filepath.replace("\\\\", "/").encode(sys.getfilesystemencoding())).read(), _locals) alginstance = None try: alginstance = alg.instances.pop().createInstance() except IndexError: for name, attr in _locals.items(): if inspect.isclass(attr) and issubclass(attr, (QgsProcessingAlgorithm, QgsProcessingFeatureBasedAlgorithm)) and attr.__name__ not in ("QgsProcessingAlgorithm", "QgsProcessingFeatureBasedAlgorithm"): alginstance = attr() break if alginstance: alginstance.setProvider(QgsApplication.processingRegistry().providerById("script")) alginstance.initAlgorithm() execAlgorithmDialog(alginstance) except ImportError: pass
def update_graph_version_validity(self, graph_version, attribute, valid_date): selected_name = self.get_selected_graph_name() connection_index, connection = self.read_current_connection() parameters = { UpdateGraphVersionAttributeAlgorithm.SERVER_NAME: connection_index, UpdateGraphVersionAttributeAlgorithm.GRAPH_NAME: selected_name, UpdateGraphVersionAttributeAlgorithm.GRAPH_VERSION: graph_version, UpdateGraphVersionAttributeAlgorithm.ATTRIBUTE: 0 if attribute == 'validFrom' else 1, UpdateGraphVersionAttributeAlgorithm.NEW_VALUE: valid_date } try: processing.execAlgorithmDialog( "Graphium:UpdateGraphVersionValidity", parameters) except QgsProcessingException: self.iface.messageBar().pushMessage( "Warning", "Could not update graph version validity", level=Qgis.Critical) # update ui self.switch_to_graph_version_view()
def run_script_from_file(filepath: str): """ Runs a Python script from a given file. Supports loading processing scripts. :param filepath: The .py file to load. """ try: from qgis.processing import execAlgorithmDialog except ImportError: return alg_instance = processing_algorithm_from_script(filepath) if alg_instance: execAlgorithmDialog(alg_instance)
def activate_graph_version(self): """ Calls an algorithm to activate the selected graph version :return: """ graph_name, graph_version = self.get_selected_graph_name_and_version() if graph_version is None: return connection_index, connection = self.read_current_connection() if graph_version['state'] == 'INITIAL': reply = QMessageBox.question( self.dlg, 'Graphium', 'Do you really want to ACTIVATE the selected graph version?', QMessageBox.Yes, QMessageBox.No) if reply == QMessageBox.Yes: parameters = { ActivateGraphVersionAlgorithm.SERVER_NAME: connection_index, ActivateGraphVersionAlgorithm.GRAPH_NAME: graph_name, ActivateGraphVersionAlgorithm.GRAPH_VERSION: graph_version['version'] } try: processing.execAlgorithmDialog( "Graphium:ActivateGraphVersion", parameters) except QgsProcessingException: self.iface.messageBar().pushMessage( "Warning", "Could not activate graph version", level=Qgis.Critical) # update ui self.switch_to_graph_version_view() else: self.iface.messageBar().pushMessage( "Warning", "Cannot activate graph version with state [" + graph_version['state'] + "]", level=Qgis.Warning)
def add_graph_version(self): """ Opens an algorithm dialog to add a new graph version """ graph_name, graph_version = self.get_selected_graph_name_and_version( False) connection_index, connection = self.read_current_connection() parameters = { AddGraphVersionAlgorithm.SERVER_NAME: connection_index, AddGraphVersionAlgorithm.GRAPH_NAME: graph_name if graph_name else '', AddGraphVersionAlgorithm.GRAPH_VERSION: graph_version['version'] if graph_version else '', AddGraphVersionAlgorithm.OVERRIDE_IF_EXISTS: False } processing.execAlgorithmDialog("Graphium:AddGraphVersion", parameters) # update ui self.switch_to_graph_version_view()
def loadMakeMosaic(self): from qgis import processing processing.execAlgorithmDialog('DSGToolsOpProvider:mosaic')
def __init__(self, iface): super(Mosaic, self).__init__() '''Constructor''' processing.execAlgorithmDialog('DSGToolsOpProvider:mosaic')
def run_gip2graphium(self): processing.execAlgorithmDialog("Graphium:gip2graphiumconverter")
def run_routing(self): processing.execAlgorithmDialog("Graphium:routing")
def run_mapmatcher(self): # https://github.com/qgis/QGIS/blob/master/python/plugins/processing/tools/general.py processing.execAlgorithmDialog("Graphium:mapmatcher")