Passed
Push — master ( 1ed32d...5696b4 )
by manny
01:30 queued 11s
created

script_update_qualifier_settings()   A

Complexity

Conditions 1

Size

Total Lines 11
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 11
dl 0
loc 11
rs 9.85
c 0
b 0
f 0
cc 1
nop 2
1
import obspython as obs
2
from rtgg_obs import RacetimeObs
3
from . import fill_source_list
4
5
6
def script_qualifier_settings(props, rtgg_obs: RacetimeObs):
7
    p = obs.obs_properties_add_bool(
8
            props, "use_qualifier",
9
            "Display race results as tournament qualifier?"
10
        )
11
    obs.obs_property_set_modified_callback(p, qualifier_toggled)
12
    qualifier_group = obs.obs_properties_create()
13
    obs.obs_properties_add_group(
14
            props, "qualifier_group", "Qualifier Mode",
15
            obs.OBS_GROUP_NORMAL, qualifier_group
16
        )
17
    obs.obs_property_set_visible(
18
        obs.obs_properties_get(props, "qualifier_group"),
19
        rtgg_obs.qualifier.enabled
20
    )
21
    p = obs.obs_properties_add_int_slider(
22
            qualifier_group, "qualifier_cutoff",
23
            "Use Top X as par time, where X=", 3, 10, 1
24
        )
25
    p = obs.obs_properties_add_list(
26
            qualifier_group,
27
            "qualifier_par_source",
28
            "Qualifier Par Time Source",
29
            obs.OBS_COMBO_TYPE_EDITABLE,
30
            obs.OBS_COMBO_FORMAT_STRING
31
        )
32
    fill_source_list(p)
33
    p = obs.obs_properties_add_list(
34
            qualifier_group,
35
            "qualifier_score_source",
36
            "Qualifier Score Source",
37
            obs.OBS_COMBO_TYPE_EDITABLE,
38
            obs.OBS_COMBO_FORMAT_STRING
39
        )
40
    fill_source_list(p)
41
42
43
def qualifier_toggled(props, prop, settings):
44
    vis = obs.obs_data_get_bool(settings, "use_qualifier")
45
    obs.obs_property_set_visible(
46
        obs.obs_properties_get(props, "qualifier_group"), vis)
47
    return True
48
49
50
def script_update_qualifier_settings(settings, rtgg_obs: RacetimeObs):
51
    rtgg_obs.qualifier.enabled = obs.obs_data_get_bool(
52
        settings, "use_qualifier")
53
    rtgg_obs.qualifier.qualifier_cutoff = obs.obs_data_get_int(
54
        settings, "qualifier_cutoff")
55
    rtgg_obs.logger.debug(
56
        f"qualifier_cutoff is {rtgg_obs.qualifier.qualifier_cutoff}")
57
    rtgg_obs.qualifier.par_source = obs.obs_data_get_string(
58
        settings, "qualifier_par_source")
59
    rtgg_obs.qualifier.score_source = obs.obs_data_get_string(
60
        settings, "qualifier_score_source")
61