appsettings2 1.2.6__tar.gz → 1.2.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {appsettings2-1.2.6 → appsettings2-1.2.8}/PKG-INFO +1 -1
- {appsettings2-1.2.6 → appsettings2-1.2.8}/appsettings2/Configuration.py +10 -3
- {appsettings2-1.2.6 → appsettings2-1.2.8}/appsettings2/__init__.py +2 -2
- {appsettings2-1.2.6 → appsettings2-1.2.8}/appsettings2.egg-info/PKG-INFO +1 -1
- {appsettings2-1.2.6 → appsettings2-1.2.8}/pyproject.toml +1 -1
- {appsettings2-1.2.6 → appsettings2-1.2.8}/LICENSE +0 -0
- {appsettings2-1.2.6 → appsettings2-1.2.8}/README.md +0 -0
- {appsettings2-1.2.6 → appsettings2-1.2.8}/appsettings2/ConfigurationBuilder.py +0 -0
- {appsettings2-1.2.6 → appsettings2-1.2.8}/appsettings2/ConfigurationException.py +0 -0
- {appsettings2-1.2.6 → appsettings2-1.2.8}/appsettings2/helpers.py +0 -0
- {appsettings2-1.2.6 → appsettings2-1.2.8}/appsettings2/providers/CommandLineConfigurationProvider.py +0 -0
- {appsettings2-1.2.6 → appsettings2-1.2.8}/appsettings2/providers/ConfigurationProvider.py +0 -0
- {appsettings2-1.2.6 → appsettings2-1.2.8}/appsettings2/providers/EnvironmentConfigurationProvider.py +0 -0
- {appsettings2-1.2.6 → appsettings2-1.2.8}/appsettings2/providers/JsonConfigurationProvider.py +0 -0
- {appsettings2-1.2.6 → appsettings2-1.2.8}/appsettings2/providers/TomlConfigurationProvider.py +0 -0
- {appsettings2-1.2.6 → appsettings2-1.2.8}/appsettings2/providers/YamlConfigurationProvider.py +0 -0
- {appsettings2-1.2.6 → appsettings2-1.2.8}/appsettings2/providers/__init__.py +0 -0
- {appsettings2-1.2.6 → appsettings2-1.2.8}/appsettings2.egg-info/SOURCES.txt +0 -0
- {appsettings2-1.2.6 → appsettings2-1.2.8}/appsettings2.egg-info/dependency_links.txt +0 -0
- {appsettings2-1.2.6 → appsettings2-1.2.8}/appsettings2.egg-info/requires.txt +0 -0
- {appsettings2-1.2.6 → appsettings2-1.2.8}/appsettings2.egg-info/top_level.txt +0 -0
- {appsettings2-1.2.6 → appsettings2-1.2.8}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: appsettings2
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.8
|
|
4
4
|
Summary: Unifies configuration sources into a Configuration object that can be bound to complex types, or accessed directly for configuration data.
|
|
5
5
|
Author-email: Shaun Wilson <mrshaunwilson@msn.com>
|
|
6
6
|
Project-URL: Documentation, https://appsettings2.readthedocs.io/
|
|
@@ -89,11 +89,18 @@ class Configuration:
|
|
|
89
89
|
except AttributeError:
|
|
90
90
|
lval = None
|
|
91
91
|
self.__logger.debug(f'Failed to bind {aname}', exc_info=True)
|
|
92
|
-
if (not hasattr(prop, 'fset')
|
|
92
|
+
if (not hasattr(prop, 'fset') or getattr(prop, 'fset') is None):
|
|
93
93
|
# NOTE: lval is not settable
|
|
94
|
-
if
|
|
95
|
-
#
|
|
94
|
+
if rval is None:
|
|
95
|
+
# no assigment attempt will be made
|
|
96
96
|
continue
|
|
97
|
+
elif lval is not None:
|
|
98
|
+
if rval is not None and lval == rval:
|
|
99
|
+
# same value, no need to assign
|
|
100
|
+
continue
|
|
101
|
+
elif not (issubclass(type(lval), list) and issubclass(type(rval), list)):
|
|
102
|
+
# non-list values cannot be merged
|
|
103
|
+
raise Exception(f'Cannot bind `None` to attribute `{aname}`')
|
|
97
104
|
phints = typing.get_type_hints(getattr(prop, 'fget'))
|
|
98
105
|
if phints is None or (not issubclass(type(phints), dict)):
|
|
99
106
|
# NOTE: can't get hints from getter, can't bind
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# SPDX-FileCopyrightText: Copyright (C) Shaun Wilson
|
|
2
2
|
# SPDX-License-Identifier: MIT
|
|
3
3
|
|
|
4
|
-
__version__ = '1.2.
|
|
5
|
-
__commit__ = '
|
|
4
|
+
__version__ = '1.2.8'
|
|
5
|
+
__commit__ = 'e76d102'
|
|
6
6
|
|
|
7
7
|
from .Configuration import Configuration
|
|
8
8
|
from .ConfigurationBuilder import ConfigurationBuilder
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: appsettings2
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.8
|
|
4
4
|
Summary: Unifies configuration sources into a Configuration object that can be bound to complex types, or accessed directly for configuration data.
|
|
5
5
|
Author-email: Shaun Wilson <mrshaunwilson@msn.com>
|
|
6
6
|
Project-URL: Documentation, https://appsettings2.readthedocs.io/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "appsettings2"
|
|
3
|
-
version = "1.2.
|
|
3
|
+
version = "1.2.8"
|
|
4
4
|
description = "Unifies configuration sources into a Configuration object that can be bound to complex types, or accessed directly for configuration data."
|
|
5
5
|
authors = [
|
|
6
6
|
{ name="Shaun Wilson", email="mrshaunwilson@msn.com" }
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{appsettings2-1.2.6 → appsettings2-1.2.8}/appsettings2/providers/CommandLineConfigurationProvider.py
RENAMED
|
File without changes
|
|
File without changes
|
{appsettings2-1.2.6 → appsettings2-1.2.8}/appsettings2/providers/EnvironmentConfigurationProvider.py
RENAMED
|
File without changes
|
{appsettings2-1.2.6 → appsettings2-1.2.8}/appsettings2/providers/JsonConfigurationProvider.py
RENAMED
|
File without changes
|
{appsettings2-1.2.6 → appsettings2-1.2.8}/appsettings2/providers/TomlConfigurationProvider.py
RENAMED
|
File without changes
|
{appsettings2-1.2.6 → appsettings2-1.2.8}/appsettings2/providers/YamlConfigurationProvider.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|