mirror of
				https://github.com/ets-labs/python-dependency-injector.git
				synced 2025-11-04 09:57:37 +03:00 
			
		
		
		
	Merge branch 'release/3.5.0' into master
This commit is contained in:
		
						commit
						73f34b66be
					
				
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							| 
						 | 
				
			
			@ -60,7 +60,7 @@ check:
 | 
			
		|||
publish: cythonize
 | 
			
		||||
	# Merge release to master branch
 | 
			
		||||
	git checkout master
 | 
			
		||||
	git merge --no-ff release/$(VERSION) -m 'Merge branch release/$(VERSION)'
 | 
			
		||||
	git merge --no-ff release/$(VERSION) -m "Merge branch 'release/$(VERSION)' into master"
 | 
			
		||||
	git push origin master
 | 
			
		||||
	# Create and upload tag
 | 
			
		||||
	git tag -a $(VERSION) -m 'version $(VERSION)'
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,9 +7,10 @@ that were made in every particular version.
 | 
			
		|||
From version 0.7.6 *Dependency Injector* framework strictly 
 | 
			
		||||
follows `Semantic versioning`_
 | 
			
		||||
 | 
			
		||||
Development version
 | 
			
		||||
-------------------
 | 
			
		||||
- No features.
 | 
			
		||||
3.5.0
 | 
			
		||||
-----
 | 
			
		||||
- Add functionality for initializing ``Configuration`` provider with default 
 | 
			
		||||
  values.
 | 
			
		||||
 | 
			
		||||
3.4.8
 | 
			
		||||
-----
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
"""Dependency injector top-level package."""
 | 
			
		||||
 | 
			
		||||
__version__ = '3.4.8'
 | 
			
		||||
__version__ = '3.5.0'
 | 
			
		||||
"""Version number that follows semantic versioning.
 | 
			
		||||
 | 
			
		||||
:type: str
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| 
						 | 
				
			
			@ -667,15 +667,20 @@ cdef class Configuration(Provider):
 | 
			
		|||
        print(config.section1.option2())  # 2
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    def __init__(self, name):
 | 
			
		||||
    def __init__(self, name, default=None):
 | 
			
		||||
        """Initializer.
 | 
			
		||||
 | 
			
		||||
        :param name: Name of configuration unit.
 | 
			
		||||
        :type name: str
 | 
			
		||||
 | 
			
		||||
        :param default: Default values of configuration unit.
 | 
			
		||||
        :type default: dict
 | 
			
		||||
        """
 | 
			
		||||
        self.__name = name
 | 
			
		||||
        self.__value = None
 | 
			
		||||
        self.__children = dict()
 | 
			
		||||
        if default is not None:
 | 
			
		||||
            self.update(default)
 | 
			
		||||
        super(Configuration, self).__init__()
 | 
			
		||||
 | 
			
		||||
    def __deepcopy__(self, memo):
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -60,6 +60,21 @@ class ConfigTests(unittest.TestCase):
 | 
			
		|||
        self.assertEqual(abc(), 1)
 | 
			
		||||
        self.assertEqual(abd(), 2)
 | 
			
		||||
 | 
			
		||||
    def test_providers_with_default_value(self):
 | 
			
		||||
 | 
			
		||||
        self.config = providers.Configuration(
 | 
			
		||||
            name='config', default={'a': {'b': {'c': 1, 'd': 2}}})
 | 
			
		||||
 | 
			
		||||
        a = self.config.a
 | 
			
		||||
        ab = self.config.a.b
 | 
			
		||||
        abc = self.config.a.b.c
 | 
			
		||||
        abd = self.config.a.b.d
 | 
			
		||||
 | 
			
		||||
        self.assertEqual(a(), {'b': {'c': 1, 'd': 2}})
 | 
			
		||||
        self.assertEqual(ab(), {'c': 1, 'd': 2})
 | 
			
		||||
        self.assertEqual(abc(), 1)
 | 
			
		||||
        self.assertEqual(abd(), 2)
 | 
			
		||||
 | 
			
		||||
    def test_value_of_undefined_option(self):
 | 
			
		||||
        self.assertIsNone(self.config.a())
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user