|
|
@@ -8,12 +8,26 @@ import typing
|
|
|
class Config:
|
|
|
username: str
|
|
|
fio_api_key: str
|
|
|
- ignore_warehouses: typing.Sequence[str]
|
|
|
+ market: MarketConfig
|
|
|
+ supply: SupplyConfig
|
|
|
|
|
|
def __init__(self) -> None:
|
|
|
with open('config.toml', 'rb') as f:
|
|
|
config = tomllib.load(f)
|
|
|
for k, v in config.items():
|
|
|
+ match k:
|
|
|
+ case 'market':
|
|
|
+ v = MarketConfig(**v)
|
|
|
+ case 'supply':
|
|
|
+ v = SupplyConfig(**v)
|
|
|
object.__setattr__(self, k, v)
|
|
|
|
|
|
+@dataclasses.dataclass(eq=False, frozen=True, slots=True)
|
|
|
+class MarketConfig:
|
|
|
+ ignore_warehouses: typing.Sequence[str]
|
|
|
+
|
|
|
+@dataclasses.dataclass(eq=False, frozen=True, slots=True)
|
|
|
+class SupplyConfig:
|
|
|
+ ignore_materials: typing.Sequence[str]
|
|
|
+
|
|
|
config = Config()
|