""" *************************************************************************** g_extension_list.py ------------------ Date : May 2023 Copyright : (C) 2023 by Alister Hood Email : alister.hood at gmail dot com *************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * *************************************************************************** """ __author__ = 'Alister Hood' __date__ = 'May 2023' __copyright__ = '(C) 2023, Alister Hood' from qgis.core import QgsProcessingParameterBoolean def processInputs(alg, parameters, context, feedback): # get the option we want to run # we would need to update the if statements below if the order in the description file is changed selectedOption = alg.parameterAsInt(parameters, 'list', context) # Locally installed extensions if selectedOption == 0: optionString = '-a' # Extensions available in the official GRASS GIS Addons repository elif selectedOption == 1: optionString = '-l' # Extensions available in the official GRASS GIS Addons repository including module description else: optionString = '-c' param = QgsProcessingParameterBoolean(optionString, '', True) alg.addParameter(param) # Don't forget to remove the old input parameter alg.removeParameter('list') def convertToHtml(alg, fileName, outputs): # don't copy this for something that will have lots of data like r.stats # it will be very slow with open(fileName, 'r') as f: outputs['GRASS_ADDONS'] = f.read() # this will read the file a second time, but calling it saves us duplicating the code here alg.convertToHtml(fileName)