File: widget_helpers.py

package info (click to toggle)
python-mcstasscript 0.0.46%2Bgit20250402111921.bfa5a26-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 11,440 kB
  • sloc: python: 13,421; makefile: 14
file content (54 lines) | stat: -rw-r--r-- 1,371 bytes parent folder | download
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
52
53
54
import sys
import os

class HiddenPrints:
    """
    Environment which suppress prints
    """
    def __enter__(self):
        self._original_stdout = sys.stdout
        sys.stdout = open(os.devnull, 'w')

    def __exit__(self, exc_type, exc_val, exc_tb):
        sys.stdout.close()
        sys.stdout = self._original_stdout


def parameter_has_default(parameter):
    """
    Checks if ParameterVariable has a default value, returns bool

    Parameters
    ----------

    parameter: ParameterVariable
        The parameter to check for default value
    """
    if parameter.value is None:
        return False
    return True


def get_parameter_default(parameter):
    """
    Returns the default value of a parameter

    Parameters
    ----------

    parameter: ParameterVariable
        The parameter for which the default value is returned
    """
    if parameter.value is not None:
        if parameter.type == "string":
            return parameter.value
        elif parameter.type == "double" or parameter.type == "":
            return float(parameter.value)
        elif parameter.type == "int":
            return int(parameter.value)
        else:
            raise RuntimeError("Unknown parameter type '"
                               + parameter.type + "' of par named '"
                               + parameter.name + "'.")

    return None