mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2025-07-14 01:52:25 +03:00
Remove six from the containers module
This commit is contained in:
parent
afdb431f37
commit
c2a5fbd077
9
Makefile
9
Makefile
|
@ -45,14 +45,7 @@ install: uninstall clean cythonize
|
||||||
uninstall:
|
uninstall:
|
||||||
- pip uninstall -y -q dependency-injector 2> /dev/null
|
- pip uninstall -y -q dependency-injector 2> /dev/null
|
||||||
|
|
||||||
test-py2: build
|
test: build
|
||||||
# Unit tests with coverage report
|
|
||||||
coverage erase
|
|
||||||
coverage run --rcfile=./.coveragerc -m unittest2 discover -s tests/unit/ -p test_*_py2_py3.py
|
|
||||||
coverage report --rcfile=./.coveragerc
|
|
||||||
coverage html --rcfile=./.coveragerc
|
|
||||||
|
|
||||||
test-py3: build
|
|
||||||
# Unit tests with coverage report
|
# Unit tests with coverage report
|
||||||
coverage erase
|
coverage erase
|
||||||
coverage run --rcfile=./.coveragerc -m unittest2 discover -s tests/unit/ -p test_*py3*.py
|
coverage run --rcfile=./.coveragerc -m unittest2 discover -s tests/unit/ -p test_*py3*.py
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
six>=1.7.0,<=1.15.0
|
|
6
setup.py
6
setup.py
|
@ -14,10 +14,6 @@ defined_macros['CYTHON_CLINE_IN_TRACEBACK'] = 0
|
||||||
with open('README.rst') as readme_file:
|
with open('README.rst') as readme_file:
|
||||||
description = readme_file.read()
|
description = readme_file.read()
|
||||||
|
|
||||||
# Getting requirements:
|
|
||||||
with open('requirements.txt') as requirements_file:
|
|
||||||
requirements = requirements_file.readlines()
|
|
||||||
|
|
||||||
# Getting version:
|
# Getting version:
|
||||||
with open('src/dependency_injector/__init__.py') as init_file:
|
with open('src/dependency_injector/__init__.py') as init_file:
|
||||||
version = re.search('__version__ = \'(.*?)\'', init_file.read()).group(1)
|
version = re.search('__version__ = \'(.*?)\'', init_file.read()).group(1)
|
||||||
|
@ -59,7 +55,7 @@ setup(name='dependency-injector',
|
||||||
define_macros=list(defined_macros.items()),
|
define_macros=list(defined_macros.items()),
|
||||||
extra_compile_args=['-O2']),
|
extra_compile_args=['-O2']),
|
||||||
],
|
],
|
||||||
install_requires=requirements,
|
install_requires=[],
|
||||||
extras_require={
|
extras_require={
|
||||||
'yaml': [
|
'yaml': [
|
||||||
'pyyaml',
|
'pyyaml',
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2,8 +2,6 @@
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
import six
|
|
||||||
|
|
||||||
from .errors import Error
|
from .errors import Error
|
||||||
from .providers cimport (
|
from .providers cimport (
|
||||||
Provider,
|
Provider,
|
||||||
|
@ -21,7 +19,7 @@ else:
|
||||||
raise NotADirectoryError('Wiring requires Python 3.6 or above')
|
raise NotADirectoryError('Wiring requires Python 3.6 or above')
|
||||||
|
|
||||||
|
|
||||||
class DynamicContainer(object):
|
class DynamicContainer:
|
||||||
"""Dynamic inversion of control container.
|
"""Dynamic inversion of control container.
|
||||||
|
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
@ -124,7 +122,7 @@ class DynamicContainer(object):
|
||||||
|
|
||||||
:rtype: None
|
:rtype: None
|
||||||
"""
|
"""
|
||||||
for name, provider in six.iteritems(providers):
|
for name, provider in providers.items():
|
||||||
setattr(self, name, provider)
|
setattr(self, name, provider)
|
||||||
|
|
||||||
def override(self, object overriding):
|
def override(self, object overriding):
|
||||||
|
@ -144,7 +142,7 @@ class DynamicContainer(object):
|
||||||
|
|
||||||
self.overridden += (overriding,)
|
self.overridden += (overriding,)
|
||||||
|
|
||||||
for name, provider in six.iteritems(overriding.providers):
|
for name, provider in overriding.providers.items():
|
||||||
try:
|
try:
|
||||||
getattr(self, name).override(provider)
|
getattr(self, name).override(provider)
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
|
@ -159,7 +157,7 @@ class DynamicContainer(object):
|
||||||
|
|
||||||
:rtype: None
|
:rtype: None
|
||||||
"""
|
"""
|
||||||
for name, overriding_provider in six.iteritems(overriding_providers):
|
for name, overriding_provider in overriding_providers.items():
|
||||||
container_provider = getattr(self, name)
|
container_provider = getattr(self, name)
|
||||||
container_provider.override(overriding_provider)
|
container_provider.override(overriding_provider)
|
||||||
|
|
||||||
|
@ -173,7 +171,7 @@ class DynamicContainer(object):
|
||||||
|
|
||||||
self.overridden = self.overridden[:-1]
|
self.overridden = self.overridden[:-1]
|
||||||
|
|
||||||
for provider in six.itervalues(self.providers):
|
for provider in self.providers.values():
|
||||||
provider.reset_last_overriding()
|
provider.reset_last_overriding()
|
||||||
|
|
||||||
def reset_override(self):
|
def reset_override(self):
|
||||||
|
@ -183,7 +181,7 @@ class DynamicContainer(object):
|
||||||
"""
|
"""
|
||||||
self.overridden = tuple()
|
self.overridden = tuple()
|
||||||
|
|
||||||
for provider in six.itervalues(self.providers):
|
for provider in self.providers.values():
|
||||||
provider.reset_override()
|
provider.reset_override()
|
||||||
|
|
||||||
def resolve_provider_name(self, provider_to_resolve):
|
def resolve_provider_name(self, provider_to_resolve):
|
||||||
|
@ -239,20 +237,19 @@ class DeclarativeContainerMetaClass(type):
|
||||||
cdef type cls
|
cdef type cls
|
||||||
|
|
||||||
containers = tuple((name, container)
|
containers = tuple((name, container)
|
||||||
for name, container in six.iteritems(attributes)
|
for name, container in attributes.items()
|
||||||
if is_container(container))
|
if is_container(container))
|
||||||
|
|
||||||
attributes['containers'] = dict(containers)
|
attributes['containers'] = dict(containers)
|
||||||
|
|
||||||
cls_providers = tuple((name, provider)
|
cls_providers = tuple((name, provider)
|
||||||
for name, provider in six.iteritems(attributes)
|
for name, provider in attributes.items()
|
||||||
if isinstance(provider, Provider))
|
if isinstance(provider, Provider))
|
||||||
|
|
||||||
inherited_providers = tuple((name, provider)
|
inherited_providers = tuple((name, provider)
|
||||||
for base in bases if is_container(
|
for base in bases if is_container(
|
||||||
base) and base is not DynamicContainer
|
base) and base is not DynamicContainer
|
||||||
for name, provider in six.iteritems(
|
for name, provider in base.cls_providers.items())
|
||||||
base.cls_providers))
|
|
||||||
|
|
||||||
attributes['cls_providers'] = dict(cls_providers)
|
attributes['cls_providers'] = dict(cls_providers)
|
||||||
attributes['inherited_providers'] = dict(inherited_providers)
|
attributes['inherited_providers'] = dict(inherited_providers)
|
||||||
|
@ -260,7 +257,7 @@ class DeclarativeContainerMetaClass(type):
|
||||||
|
|
||||||
cls = <type>type.__new__(mcs, class_name, bases, attributes)
|
cls = <type>type.__new__(mcs, class_name, bases, attributes)
|
||||||
|
|
||||||
for provider in six.itervalues(cls.providers):
|
for provider in cls.providers.values():
|
||||||
_check_provider_type(cls, provider)
|
_check_provider_type(cls, provider)
|
||||||
|
|
||||||
return cls
|
return cls
|
||||||
|
@ -302,8 +299,7 @@ class DeclarativeContainerMetaClass(type):
|
||||||
super(DeclarativeContainerMetaClass, cls).__delattr__(name)
|
super(DeclarativeContainerMetaClass, cls).__delattr__(name)
|
||||||
|
|
||||||
|
|
||||||
@six.add_metaclass(DeclarativeContainerMetaClass)
|
class DeclarativeContainer(metaclass=DeclarativeContainerMetaClass):
|
||||||
class DeclarativeContainer(object):
|
|
||||||
"""Declarative inversion of control container.
|
"""Declarative inversion of control container.
|
||||||
|
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
@ -390,7 +386,7 @@ class DeclarativeContainer(object):
|
||||||
|
|
||||||
cls.overridden += (overriding,)
|
cls.overridden += (overriding,)
|
||||||
|
|
||||||
for name, provider in six.iteritems(overriding.cls_providers):
|
for name, provider in overriding.cls_providers.items():
|
||||||
try:
|
try:
|
||||||
getattr(cls, name).override(provider)
|
getattr(cls, name).override(provider)
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
|
@ -407,7 +403,7 @@ class DeclarativeContainer(object):
|
||||||
|
|
||||||
cls.overridden = cls.overridden[:-1]
|
cls.overridden = cls.overridden[:-1]
|
||||||
|
|
||||||
for provider in six.itervalues(cls.providers):
|
for provider in cls.providers.values():
|
||||||
provider.reset_last_overriding()
|
provider.reset_last_overriding()
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
@ -418,7 +414,7 @@ class DeclarativeContainer(object):
|
||||||
"""
|
"""
|
||||||
cls.overridden = tuple()
|
cls.overridden = tuple()
|
||||||
|
|
||||||
for provider in six.itervalues(cls.providers):
|
for provider in cls.providers.values():
|
||||||
provider.reset_override()
|
provider.reset_override()
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
@ -475,7 +471,7 @@ def copy(object container):
|
||||||
"""
|
"""
|
||||||
def _decorator(copied_container):
|
def _decorator(copied_container):
|
||||||
cdef dict memo = dict()
|
cdef dict memo = dict()
|
||||||
for name, provider in six.iteritems(copied_container.cls_providers):
|
for name, provider in copied_container.cls_providers.items():
|
||||||
try:
|
try:
|
||||||
source_provider = getattr(container, name)
|
source_provider = getattr(container, name)
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
|
@ -484,7 +480,7 @@ def copy(object container):
|
||||||
memo[id(source_provider)] = provider
|
memo[id(source_provider)] = provider
|
||||||
|
|
||||||
providers_copy = deepcopy(container.providers, memo)
|
providers_copy = deepcopy(container.providers, memo)
|
||||||
for name, provider in six.iteritems(providers_copy):
|
for name, provider in providers_copy.items():
|
||||||
setattr(copied_container, name, provider)
|
setattr(copied_container, name, provider)
|
||||||
|
|
||||||
return copied_container
|
return copied_container
|
||||||
|
|
Loading…
Reference in New Issue
Block a user