prsctrl_gui.utility.config.AppCache#

class AppCache(geometry_height: int = 700, geometry_width: int = 1000, geometry_x: int = 100, geometry_y: int = 100, last_measurement_load_dir: str | None = None, last_measurement_save_dir: str | None = None, last_measurement_save_ext: str = '.hdf5', last_power_calibration_settings: prsctrl_gui.measurement._new_power_calibration.NewPowerCalibration | None = None, last_task_dir: str = '~/', last_tasklist_dir: str = '~/', global_metadata_input: dict[str, str]=<factory>)[source]#

Bases: SettingsClass

Methods

as_dict

Convenience wrapper for dataclasses.asdict(self)

from_dict

Recursively construct a SettingsClass from a dictionary.

load_yaml

save_yaml

Attributes

__annotations__ = {'geometry_height': <class 'int'>, 'geometry_width': <class 'int'>, 'geometry_x': <class 'int'>, 'geometry_y': <class 'int'>, 'global_metadata_input': dict[str, str], 'last_measurement_load_dir': typing.Optional[str], 'last_measurement_save_dir': typing.Optional[str], 'last_measurement_save_ext': <class 'str'>, 'last_power_calibration_settings': typing.Optional[prsctrl_gui.measurement._new_power_calibration.NewPowerCalibration], 'last_task_dir': <class 'str'>, 'last_tasklist_dir': <class 'str'>}#
__dataclass_fields__ = {'geometry_height': Field(name='geometry_height',type=<class 'int'>,default=700,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'doc': 'Height of the application window.'}),kw_only=False,_field_type=_FIELD), 'geometry_width': Field(name='geometry_width',type=<class 'int'>,default=1000,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'doc': 'Width of the application window.'}),kw_only=False,_field_type=_FIELD), 'geometry_x': Field(name='geometry_x',type=<class 'int'>,default=100,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'doc': 'X position of the application window.'}),kw_only=False,_field_type=_FIELD), 'geometry_y': Field(name='geometry_y',type=<class 'int'>,default=100,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'doc': 'Y position of the application window.'}),kw_only=False,_field_type=_FIELD), 'global_metadata_input': Field(name='global_metadata_input',type=dict[str, str],default=<dataclasses._MISSING_TYPE object>,default_factory=<class 'dict'>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'doc': 'Input of the global metadata widget.'}),kw_only=False,_field_type=_FIELD), 'last_measurement_load_dir': Field(name='last_measurement_load_dir',type=typing.Optional[str],default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'doc': 'Directory from which the user last loaded measurement data.'}),kw_only=False,_field_type=_FIELD), 'last_measurement_save_dir': Field(name='last_measurement_save_dir',type=typing.Optional[str],default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'doc': 'Directory to which the user last saved measurement data.'}),kw_only=False,_field_type=_FIELD), 'last_measurement_save_ext': Field(name='last_measurement_save_ext',type=<class 'str'>,default='.hdf5',default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'doc': 'File extension used for the last saved measurement data.'}),kw_only=False,_field_type=_FIELD), 'last_power_calibration_settings': Field(name='last_power_calibration_settings',type=typing.Optional[prsctrl_gui.measurement._new_power_calibration.NewPowerCalibration],default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'doc': 'Last inputs of the PowerCalibration widget.', 'group': 'runtime'}),kw_only=False,_field_type=_FIELD), 'last_task_dir': Field(name='last_task_dir',type=<class 'str'>,default='~/',default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'doc': 'Path where a task was last saved/loaded.', 'group': 'runtime'}),kw_only=False,_field_type=_FIELD), 'last_tasklist_dir': Field(name='last_tasklist_dir',type=<class 'str'>,default='~/',default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'doc': 'Path where a tasklist was last saved/loaded.', 'group': 'runtime'}),kw_only=False,_field_type=_FIELD)}#
__dataclass_params__ = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False,match_args=True,kw_only=False,slots=False,weakref_slot=False)#
__dict__ = mappingproxy({'__module__': 'prsctrl_gui.utility.config', '__firstlineno__': 13, '__annotations__': {'geometry_height': <class 'int'>, 'geometry_width': <class 'int'>, 'geometry_x': <class 'int'>, 'geometry_y': <class 'int'>, 'last_measurement_load_dir': typing.Optional[str], 'last_measurement_save_dir': typing.Optional[str], 'last_measurement_save_ext': <class 'str'>, 'last_power_calibration_settings': typing.Optional[prsctrl_gui.measurement._new_power_calibration.NewPowerCalibration], 'last_task_dir': <class 'str'>, 'last_tasklist_dir': <class 'str'>, 'global_metadata_input': dict[str, str]}, 'geometry_height': 700, 'geometry_width': 1000, 'geometry_x': 100, 'geometry_y': 100, 'last_measurement_load_dir': None, 'last_measurement_save_dir': None, 'last_measurement_save_ext': '.hdf5', 'last_power_calibration_settings': None, 'last_task_dir': '~/', 'last_tasklist_dir': '~/', '__static_attributes__': (), '__doc__': "AppCache(geometry_height: int = 700, geometry_width: int = 1000, geometry_x: int = 100, geometry_y: int = 100, last_measurement_load_dir: Optional[str] = None, last_measurement_save_dir: Optional[str] = None, last_measurement_save_ext: str = '.hdf5', last_power_calibration_settings: Optional[prsctrl_gui.measurement._new_power_calibration.NewPowerCalibration] = None, last_task_dir: str = '~/', last_tasklist_dir: str = '~/', global_metadata_input: dict[str, str] = <factory>)", '__dataclass_params__': _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False,match_args=True,kw_only=False,slots=False,weakref_slot=False), '__dataclass_fields__': {'geometry_height': Field(name='geometry_height',type=<class 'int'>,default=700,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'doc': 'Height of the application window.'}),kw_only=False,_field_type=_FIELD), 'geometry_width': Field(name='geometry_width',type=<class 'int'>,default=1000,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'doc': 'Width of the application window.'}),kw_only=False,_field_type=_FIELD), 'geometry_x': Field(name='geometry_x',type=<class 'int'>,default=100,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'doc': 'X position of the application window.'}),kw_only=False,_field_type=_FIELD), 'geometry_y': Field(name='geometry_y',type=<class 'int'>,default=100,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'doc': 'Y position of the application window.'}),kw_only=False,_field_type=_FIELD), 'last_measurement_load_dir': Field(name='last_measurement_load_dir',type=typing.Optional[str],default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'doc': 'Directory from which the user last loaded measurement data.'}),kw_only=False,_field_type=_FIELD), 'last_measurement_save_dir': Field(name='last_measurement_save_dir',type=typing.Optional[str],default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'doc': 'Directory to which the user last saved measurement data.'}),kw_only=False,_field_type=_FIELD), 'last_measurement_save_ext': Field(name='last_measurement_save_ext',type=<class 'str'>,default='.hdf5',default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'doc': 'File extension used for the last saved measurement data.'}),kw_only=False,_field_type=_FIELD), 'last_power_calibration_settings': Field(name='last_power_calibration_settings',type=typing.Optional[prsctrl_gui.measurement._new_power_calibration.NewPowerCalibration],default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'doc': 'Last inputs of the PowerCalibration widget.', 'group': 'runtime'}),kw_only=False,_field_type=_FIELD), 'last_task_dir': Field(name='last_task_dir',type=<class 'str'>,default='~/',default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'doc': 'Path where a task was last saved/loaded.', 'group': 'runtime'}),kw_only=False,_field_type=_FIELD), 'last_tasklist_dir': Field(name='last_tasklist_dir',type=<class 'str'>,default='~/',default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'doc': 'Path where a tasklist was last saved/loaded.', 'group': 'runtime'}),kw_only=False,_field_type=_FIELD), 'global_metadata_input': Field(name='global_metadata_input',type=dict[str, str],default=<dataclasses._MISSING_TYPE object>,default_factory=<class 'dict'>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'doc': 'Input of the global metadata widget.'}),kw_only=False,_field_type=_FIELD)}, '__replace__': <function _replace>, '__hash__': None, '__init__': <function AppCache.__init__>, '__repr__': <function AppCache.__repr__>, '__eq__': <function AppCache.__eq__>, '__match_args__': ('geometry_height', 'geometry_width', 'geometry_x', 'geometry_y', 'last_measurement_load_dir', 'last_measurement_save_dir', 'last_measurement_save_ext', 'last_power_calibration_settings', 'last_task_dir', 'last_tasklist_dir', 'global_metadata_input')})#
__eq__(other)#

Return self==value.

__firstlineno__ = 13#
__hash__ = None#
__init__(geometry_height: int = 700, geometry_width: int = 1000, geometry_x: int = 100, geometry_y: int = 100, last_measurement_load_dir: str | None = None, last_measurement_save_dir: str | None = None, last_measurement_save_ext: str = '.hdf5', last_power_calibration_settings: NewPowerCalibration | None = None, last_task_dir: str = '~/', last_tasklist_dir: str = '~/', global_metadata_input: dict[str, str]=<factory>) None#
__match_args__ = ('geometry_height', 'geometry_width', 'geometry_x', 'geometry_y', 'last_measurement_load_dir', 'last_measurement_save_dir', 'last_measurement_save_ext', 'last_power_calibration_settings', 'last_task_dir', 'last_tasklist_dir', 'global_metadata_input')#
__module__ = 'prsctrl_gui.utility.config'#
__or__(other)#

Merge with another settings class or a dictionary.

__replace__(**changes)#
__repr__()#

Return repr(self).

__static_attributes__ = ()#
__weakref__#

list of weak references to the object

as_dict() dict#

Convenience wrapper for dataclasses.asdict(self)

classmethod from_dict(data: dict)#

Recursively construct a SettingsClass from a dictionary.

If the value of a field is another SettingsClass, from_dict() will be called for that field as well. Handled are:

  • SettingsClass

  • list[SettingsClass]

  • dict[<any>, SettingsClass]

  • all of the above as Optional (Union with None)

  • a Union with any handled types

Raises:
  • ValueError – If data contains a value that has the wrong type for the field of cls (ONLY if the type is a subclass of SettingsClass! Other types are not enforced)

  • KeyError – If data contains a key that is not a field name of cls

geometry_height: int = 700#
geometry_width: int = 1000#
geometry_x: int = 100#
geometry_y: int = 100#
global_metadata_input: dict[str, str]#
last_measurement_load_dir: str | None = None#
last_measurement_save_dir: str | None = None#
last_measurement_save_ext: str = '.hdf5'#
last_power_calibration_settings: NewPowerCalibration | None = None#
last_task_dir: str = '~/'#
last_tasklist_dir: str = '~/'#
classmethod load_yaml(yaml_path: str, loader=<class 'yaml.loader.Loader'>)#
save_yaml(yaml_path: str)#