From 1d6618c1c05c910a3b21687b7643fd7bc84dcb5b Mon Sep 17 00:00:00 2001 From: Upstream Data Date: Fri, 10 May 2024 13:08:45 -0600 Subject: [PATCH] feature: add __getitem__ to config. --- pyasic/config/__init__.py | 6 ++++++ pyasic/config/base.py | 13 +++++++++++++ 2 files changed, 19 insertions(+) diff --git a/pyasic/config/__init__.py b/pyasic/config/__init__.py index 7cc18038..79eac9f5 100644 --- a/pyasic/config/__init__.py +++ b/pyasic/config/__init__.py @@ -36,6 +36,12 @@ class MinerConfig: default_factory=PowerScalingConfig.default ) + def __getitem__(self, item): + try: + return getattr(self, item) + except AttributeError: + raise KeyError + def as_dict(self) -> dict: """Converts the MinerConfig object to a dictionary.""" return asdict(self) diff --git a/pyasic/config/base.py b/pyasic/config/base.py index d4bbd68b..d26500d8 100644 --- a/pyasic/config/base.py +++ b/pyasic/config/base.py @@ -67,6 +67,13 @@ class MinerConfigOption(Enum): def default(cls): pass + def __getitem__(self, item): + try: + return getattr(self, item) + except AttributeError: + raise KeyError + + @dataclass class MinerConfigValue: @@ -112,3 +119,9 @@ class MinerConfigValue: def as_mara(self) -> dict: return {} + + def __getitem__(self, item): + try: + return getattr(self, item) + except AttributeError: + raise KeyError