File: project.py.in

package info (click to toggle)
qgis 3.40.10%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,183,672 kB
  • sloc: cpp: 1,595,771; python: 372,544; xml: 23,474; sh: 3,761; perl: 3,664; ansic: 2,257; sql: 2,137; yacc: 1,068; lex: 577; javascript: 540; lisp: 411; makefile: 161
file content (51 lines) | stat: -rw-r--r-- 1,696 bytes parent folder | download | duplicates (17)
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
51
import os

from pyqtbuild import PyQtBindings, PyQtProject
from sipbuild import Option


class QGIS(PyQtProject):
    """ The QGIS project. """

    def __init__(self):
        """ Initialize the project. """
        super().__init__()
        self.sip_files_dir = '.'
        self.bindings_factories = [QgisAnalysis]

    def get_options(self):
        """ Return the list of configurable options. """
        options = super().get_options()
        options.append(
                Option('include_dirs', option_type=list,
                        help="additional directory to search for .sip files",
                        metavar="DIR"))
        return options

    def apply_user_defaults(self, tool):
        """ Set default values for user options that haven't been set yet. """
        super().apply_user_defaults(tool)
        if self.include_dirs is not None:
            self.sip_include_dirs += self.include_dirs


class QgisAnalysis(PyQtBindings):
    """ The QGIS Analysis bindings. """

    def __init__(self, project):
        """ Initialize the bindings. """
        super().__init__(project, 'analysis')
        self.sip_file = 'analysis.sip'
        self.exceptions = True
        self.release_gil = True
        self.disabled_features = "@SIP_DISABLE_FEATURES@".split(";")

    def apply_user_defaults(self, tool):
        """ Set default values for user options that haven't been set yet. """
        if self.project.py_platform.startswith('win32'):
            self.tags.append('WS_WIN')
        elif self.project.py_platform == 'darwin':
            self.tags.append('WS_MACX')
        else:
            self.tags.append('WS_X11')
        super().apply_user_defaults(tool)