Skip to content

Commit 20f188f

Browse files
authored
bugfixes for new evaluate_settings_once logic (#18)
Changes: - fix return value when already evaluated - also catch AttributeError as an import error - bump version
1 parent f2c56e8 commit 20f188f

File tree

4 files changed

+17
-4
lines changed

4 files changed

+17
-4
lines changed

docs/release-notes.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Release notes
22

3+
## Version 0.2.1
4+
5+
### Fixed
6+
7+
- Add AttributeError to the ignored import errors.
8+
- Wrong return value for `evaluate_settings_once` when already evaluated.
39

410
## Version 0.2.0
511

monkay/__about__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# SPDX-FileCopyrightText: 2024-present alex <devkral@web.de>
22
#
33
# SPDX-License-Identifier: BSD-3-Clauses
4-
__version__ = "0.2.0"
4+
__version__ = "0.2.1"

monkay/core.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,11 +163,11 @@ def evaluate_settings_once(
163163
ignore_import_errors: bool = True,
164164
) -> bool:
165165
if self.settings_evaluated:
166-
return False
166+
return True
167167
if ignore_import_errors:
168168
try:
169169
self.evaluate_settings(on_conflict=on_conflict)
170-
except ImportError:
170+
except (ImportError, AttributeError):
171171
return False
172172
else:
173173
self.evaluate_settings(on_conflict=on_conflict)

tests/test_settings.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,14 @@ def test_settings_overwrite():
5454
mod.monkay.evaluate_settings()
5555
assert mod.monkay.settings_evaluated
5656
# assert no evaluation anymore
57-
assert not mod.monkay.evaluate_settings_once()
57+
old_evaluate_settings = mod.monkay.evaluate_settings
58+
59+
def fake_evaluate():
60+
raise
61+
62+
mod.monkay.evaluate_settings = fake_evaluate
63+
assert mod.monkay.evaluate_settings_once()
64+
mod.monkay.evaluate_settings = old_evaluate_settings
5865
assert "tests.targets.module_settings_preloaded" in sys.modules
5966

6067
# overwriting settings doesn't affect temporary scope

0 commit comments

Comments
 (0)