From d89cc98b4418c17d4d71bccacba98b31ec1df2e6 Mon Sep 17 00:00:00 2001 From: Thomas Kairos Date: Tue, 28 Mar 2023 14:52:50 +0200 Subject: [PATCH] Delete 'aircox/settings.py' --- aircox/settings.py | 73 ---------------------------------------------- 1 file changed, 73 deletions(-) delete mode 100644 aircox/settings.py diff --git a/aircox/settings.py b/aircox/settings.py deleted file mode 100644 index 3bfe2ab..0000000 --- a/aircox/settings.py +++ /dev/null @@ -1,73 +0,0 @@ -import inspect - -from django.conf import settings as django_settings -from django.db import models - - -class Settings: - """Utility class used to load and save settings, can be used as model. - - Some members are excluded from being configuration: - - Protected/private members; - - On django model, "objects" and "Meta"; - - Class declaration and callables - - Example: - - ``` - class MySettings(Settings): - a = 13 - b = 12 - - my_settings = MySettings().load('MY_SETTINGS_KEY') - print(my_settings.a, my_settings.get('b')) - ``` - - This will load values from django project settings. - """ - - def load(self, key, module=None): - """Load settings from module's item specified by its member name. When - no module is provided, uses ``django.conf.settings``. - - :param str key: module member name. - :param module: configuration object. - :returns self - """ - if module is None: - module = django_settings - settings = getattr(module, key, None) - if settings: - self.update(settings) - return self - - def update(self, settings): - """Update self's values from provided settings. ``settings`` can be an - iterable of ``(key, value)``. - - :param dict|Settings|iterable settings: value to update from. - """ - if isinstance(settings, (dict, Settings)): - settings = settings.items() - for key, value in settings: - if hasattr(self, key) and self.is_config_item(key, value): - setattr(self, key, value) - - def get(self, key, default=None): - """Return settings' value for provided key.""" - return getattr(self, key, default) - - def items(self): - """Iterate over items members, as tupple of ``key, value``.""" - for key in dir(self): - value = getattr(self, key) - if self.is_config_item(key, value): - yield key, value - - def is_config_item(self, key, value): - """Return True if key/value item is a configuration setting.""" - if key.startswith("_") or callable(value) or inspect.isclass(value): - return False - if isinstance(self, models.Model) and key == "object": - return False - return True