Skip to content

Saving/loading

This page contains a listing of all functions to load and save .pssession and .psmethod files.

pypalmsens.load_method_file

load_method_file(path: str | Path, as_method: bool = False) -> BaseTechnique | Method

Load a method file (.psmethod).

Parameters:

  • path

    (Path | str) –

    Path to method file

  • as_method

    (bool, default: False ) –

    If True, load as method wrapper object

Returns:

  • method ( Parameters ) –

    Return method parameters

Source code in src/pypalmsens/_io.py
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
def load_method_file(path: str | Path, as_method: bool = False) -> BaseTechnique | Method:
    """Load a method file (.psmethod).

    Parameters
    ----------
    path : Path | str
        Path to method file
    as_method : bool
        If True, load as method wrapper object

    Returns
    -------
    method : Parameters
        Return method parameters
    """
    path = Path(path)

    with stream_reader(str(path)) as stream:
        if path.suffix == MethodFile2.FileExtension:
            psmethod = MethodFile2.FromStream(stream)
        else:
            psmethod = MethodFile.FromStream(stream, str(path))

    psmethod.MethodFilename = str(path.absolute())

    method = Method(psmethod=psmethod)

    if as_method:
        return method
    else:
        return method.to_settings()

pypalmsens.load_session_file

load_session_file(path: str | Path) -> list[Measurement]

Load a session file (.pssession).

Parameters:

  • path

    (Path | str) –

    Path to session file

Returns:

Source code in src/pypalmsens/_io.py
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
def load_session_file(
    path: str | Path,
) -> list[Measurement]:
    """Load a session file (.pssession).

    Parameters
    ----------
    path : Path | str
        Path to session file

    Returns
    -------
    measurements : list[Measurement]
        Return list of measurements
    """
    path = Path(path)

    session = SessionManager()

    with stream_reader(str(path)) as stream:
        session.Load(stream.BaseStream, str(path))

    session.MethodForEditor.MethodFilename = str(path.absolute())

    for psmeasurement in session:
        psmeasurement.Method.MethodFilename = str(path.absolute())

    return [Measurement(psmeasurement=m) for m in session]

pypalmsens.save_method_file

save_method_file(path: str | Path, method: Method | BaseTechnique)

Load a method file (.psmethod).

Parameters:

  • path

    (Path | str) –

    Path to save the method file

  • method

    (Method) –

    Method to save

Source code in src/pypalmsens/_io.py
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
def save_method_file(path: str | Path, method: Method | BaseTechnique):
    """Load a method file (.psmethod).

    Parameters
    ----------
    path : Path | str
        Path to save the method file
    method : Method
        Method to save
    """
    from . import __sdk_version__

    if isinstance(method, BaseTechnique):
        psmethod = method._to_psmethod()
    elif isinstance(method, Method):
        psmethod = method.psmethod
    else:
        raise ValueError(f'Unknown data type: {type(method)}')

    path = Path(path)

    with stream_writer(str(path), False, Encoding.Unicode) as stream:
        MethodFile2.Save(psmethod, stream.BaseStream, str(path), True, __sdk_version__)

pypalmsens.save_session_file

save_session_file(path: str | Path, measurements: list[Measurement])

Load a session file (.pssession).

Parameters:

  • path

    (Path | str) –

    Path to save the session file

  • measurements

    (list[Measurement]) –

    List of measurements to save

Source code in src/pypalmsens/_io.py
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
def save_session_file(path: str | Path, measurements: list[Measurement]):
    """Load a session file (.pssession).

    Parameters
    ----------
    path : Path | str
        Path to save the session file
    measurements : list[Measurement]
        List of measurements to save
    """
    path = Path(path)

    if any((measurement is None) for measurement in measurements):
        raise ValueError('cannot save null measurement')

    session = SessionManager()
    session.MethodForEditor = measurements[0]._psmeasurement.Method
    session.MethodForEditor.MethodFilename = str(path.absolute())

    for measurement in measurements:
        session.AddMeasurement(measurement._psmeasurement)

    with stream_writer(str(path), False, Encoding.Unicode) as stream:
        session.Save(stream.BaseStream, str(path))