File: g_extension_list.py

package info (click to toggle)
qgis 3.40.6%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 1,181,336 kB
  • sloc: cpp: 1,593,302; python: 370,494; xml: 23,474; perl: 3,664; sh: 3,482; ansic: 2,257; sql: 2,133; yacc: 1,068; lex: 577; javascript: 540; lisp: 411; makefile: 157
file content (50 lines) | stat: -rw-r--r-- 2,179 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
"""
***************************************************************************
    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) 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)