Skip to content

io

I/O functions for importing/exporting app state via JSON.

export_layout(gridstate) #

Exports current grid layout to JSON dict.

Source code in src/sdss_explorer/dashboard/util/io.py
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
def export_layout(gridstate: GridData) -> dict[str, Any]:
    """Exports current grid layout to JSON dict."""
    # fetch layout and states
    layouts = deepcopy(gridstate.grid_layout.value)
    plotstates = gridstate.states.value

    # pop and convert plot state to dict.
    for layout in layouts:
        layout.pop("i")
    states = list()
    for state in plotstates:
        newstate = dict()
        for k, v in vars(state).items():
            if k == "Lookup":
                continue

            elif k in {"plottype", "xmapping", "ymapping", "colormapping"}:
                newstate[k] = v
            elif k == "subset":
                newstate[k] = v.value
            else:
                newstate[k] = v.value
        states.append(newstate)

    return {"layout": layouts, "states": states}

export_subset(subset) #

Exports a given subset to JSON dict.

Parameters:

Name Type Description Default
subset Subset

a given subset

required

Returns:

Name Type Description
data dict[str, str | list[str]]

a compiled dictionary

Source code in src/sdss_explorer/dashboard/util/io.py
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
def export_subset(subset: Subset) -> dict[str, str | list[str]]:
    """Exports a given subset to JSON dict.

    Args:
        subset: a given subset

    Returns:
        data: a compiled dictionary

    """
    # NOTE: manually typed, otherwise using asdict will dump entire df into memory
    data = dict(
        name=subset.name,
        expression=subset.expression,
        dataset=subset.dataset,
        carton=subset.carton,
        mapper=subset.mapper,
        flags=subset.flags,
    )
    return data

export_vcdata(vcdata) #

Export the active Virtual Columns to a JSON dict.

Source code in src/sdss_explorer/dashboard/util/io.py
74
75
76
def export_vcdata(vcdata: VCList) -> dict[str, str]:
    """Export the active Virtual Columns to a JSON dict."""
    return dict(vcdata.columns.value)

import_subset(jsondata) #

Converts JSON data into a Subset

Parameters:

Name Type Description Default
jsondata str

the JSON data of a subset

required

Returns: subset:

Source code in src/sdss_explorer/dashboard/util/io.py
13
14
15
16
17
18
19
20
21
22
def import_subset(jsondata: str):
    """Converts JSON data into a Subset

    Args:
        jsondata: the JSON data of a subset
    Returns:
        subset:

    """
    pass