[config] converting config into dataclasses

This commit is contained in:
wendtalexander 2024-10-15 07:57:33 +02:00
parent 93fe2951cd
commit e44e021982

View File

@ -1,3 +1,4 @@
from typing import TypedDict, Union
from dataclasses import dataclass
import pathlib
@ -8,6 +9,75 @@ from pyrelacs.util.logging import config_logging
log = config_logging()
class ValueUnit(TypedDict):
value: Union[int, float]
unit: str
@dataclass
class Settings:
Repros: list[str]
Path: str
@dataclass
class Metadata:
Identifier: str
Maintainer: str
Creator: str
Location: str
Lab: str
Institute: str
University: str
Address: str
@dataclass
class Input:
inputsamplerate : ValueUnit
# BufferSize
inputtracecapacity : ValueUnit
inputunipolar : bool
inputtraceid : list[str]
inputtracescale : list[int]
inputtraceunit : list[str]
inputtracedevice : list[str]
inputtracechannel : list[int]
inputtracereference: list[str]
inputtracemaxvalue : list[int]
inputtracecenter : list[bool]
@dataclass
class Output:
outputtraceid : list[str]
outputtracedevice : list[str]
outputtracechannel : list[int]
outputtracescale : list[int]
outputtraceunit : list[str]
outputtracemaxrate : list[ValueUnit]
outputtracemodality: list[str]
@dataclass
class Data:
input: Input
output: Output
@dataclass
class SimData:
input:
inputsamplerate : 20kHz
inputtracecapacity : 600s
output:
outputtraceid : [ Sinus ]
outputtracedevice : [ ao-0 ]
outputtracechannel : [ 0 ]
outputtracescale : [ 1 ]
outputtraceunit : [ V ]
outputtracemaxrate : [ 40kHz ]
outputtracemodality: [ electric ]
@dataclass
class PyRelacs:
data: Data
simdata: SimData
@dataclass
class Config: