From 34db0770c36668c793b46e2510550b796757854a Mon Sep 17 00:00:00 2001 From: shubhendra Date: Thu, 25 Feb 2021 12:56:04 +0530 Subject: [PATCH 1/4] Refactor unnecessary `else` / `elif` when `if` block has a `return` statement --- .deepsource.toml | 12 ++++++++++++ src/dependency_injector/wiring.py | 11 +++++------ 2 files changed, 17 insertions(+), 6 deletions(-) create mode 100644 .deepsource.toml diff --git a/.deepsource.toml b/.deepsource.toml new file mode 100644 index 00000000..52933f17 --- /dev/null +++ b/.deepsource.toml @@ -0,0 +1,12 @@ +version = 1 + +test_patterns = ["tests/**/test_*.py"] + +exclude_patterns = ["docs/**"] + +[[analyzers]] +name = "python" +enabled = true + + [analyzers.meta] + runtime_version = "3.x.x" diff --git a/src/dependency_injector/wiring.py b/src/dependency_injector/wiring.py index c7debfdf..96d1e238 100644 --- a/src/dependency_injector/wiring.py +++ b/src/dependency_injector/wiring.py @@ -111,21 +111,20 @@ def resolve_provider( ) -> Optional[providers.Provider]: if isinstance(provider, providers.Delegate): return self._resolve_delegate(provider) - elif isinstance(provider, ( + if isinstance(provider, ( providers.ProvidedInstance, providers.AttributeGetter, providers.ItemGetter, providers.MethodCaller, )): return self._resolve_provided_instance(provider) - elif isinstance(provider, providers.ConfigurationOption): + if isinstance(provider, providers.ConfigurationOption): return self._resolve_config_option(provider) - elif isinstance(provider, providers.TypedConfigurationOption): + if isinstance(provider, providers.TypedConfigurationOption): return self._resolve_config_option(provider.option, as_=provider.provides) - elif isinstance(provider, str): + if isinstance(provider, str): return self._resolve_string_id(provider, modifier) - else: - return self._resolve_provider(provider) + return self._resolve_provider(provider) def _resolve_string_id( self, From 16f8755cef89383a981be655cdbbf84acc045dac Mon Sep 17 00:00:00 2001 From: shubhendra Date: Thu, 25 Feb 2021 12:56:05 +0530 Subject: [PATCH 2/4] Remove unused imports --- tests/unit/samples/wiringfastapi/web.py | 1 - tests/unit/wiring/test_wiring_string_ids_py36.py | 7 +------ 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/tests/unit/samples/wiringfastapi/web.py b/tests/unit/samples/wiringfastapi/web.py index 2cbd4f50..2e563d7d 100644 --- a/tests/unit/samples/wiringfastapi/web.py +++ b/tests/unit/samples/wiringfastapi/web.py @@ -1,7 +1,6 @@ import sys from fastapi import FastAPI, Depends -from fastapi import Request # See: https://github.com/ets-labs/python-dependency-injector/issues/398 from fastapi.security import HTTPBasic, HTTPBasicCredentials from dependency_injector import containers, providers from dependency_injector.wiring import inject, Provide diff --git a/tests/unit/wiring/test_wiring_string_ids_py36.py b/tests/unit/wiring/test_wiring_string_ids_py36.py index b4d41b3b..96b14778 100644 --- a/tests/unit/wiring/test_wiring_string_ids_py36.py +++ b/tests/unit/wiring/test_wiring_string_ids_py36.py @@ -1,15 +1,10 @@ -import contextlib from decimal import Decimal -import importlib import unittest from dependency_injector.wiring import ( wire, Provide, - Closing, - register_loader_containers, - unregister_loader_containers, -) + Closing) from dependency_injector import errors # Runtime import to avoid syntax errors in samples on Python < 3.5 From 20534c78a4f8be113c7f1ad2aad2cffe4282f386 Mon Sep 17 00:00:00 2001 From: shubhendra Date: Thu, 25 Feb 2021 12:56:05 +0530 Subject: [PATCH 3/4] Use literal syntax to create data structure --- .deepsource.toml | 12 ------------ tests/unit/providers/test_callables_py2_py3.py | 2 +- tests/unit/providers/test_coroutines_py35.py | 2 +- tests/unit/providers/test_factories_py2_py3.py | 2 +- tests/unit/providers/test_list_py2_py3.py | 2 +- tests/unit/providers/test_resource_py35.py | 2 +- tests/unit/providers/test_singletons_py2_py3.py | 2 +- 7 files changed, 6 insertions(+), 18 deletions(-) delete mode 100644 .deepsource.toml diff --git a/.deepsource.toml b/.deepsource.toml deleted file mode 100644 index 52933f17..00000000 --- a/.deepsource.toml +++ /dev/null @@ -1,12 +0,0 @@ -version = 1 - -test_patterns = ["tests/**/test_*.py"] - -exclude_patterns = ["docs/**"] - -[[analyzers]] -name = "python" -enabled = true - - [analyzers.meta] - runtime_version = "3.x.x" diff --git a/tests/unit/providers/test_callables_py2_py3.py b/tests/unit/providers/test_callables_py2_py3.py index 0e0168fa..dcee8478 100644 --- a/tests/unit/providers/test_callables_py2_py3.py +++ b/tests/unit/providers/test_callables_py2_py3.py @@ -69,7 +69,7 @@ def test_set_args(self): provider = providers.Callable(_example) \ .add_args(1, 2) \ .set_args(3, 4) - self.assertEqual(provider.args, tuple([3, 4])) + self.assertEqual(provider.args, (3, 4)) def test_set_kwargs(self): provider = providers.Callable(_example) \ diff --git a/tests/unit/providers/test_coroutines_py35.py b/tests/unit/providers/test_coroutines_py35.py index a3697044..b0dbf491 100644 --- a/tests/unit/providers/test_coroutines_py35.py +++ b/tests/unit/providers/test_coroutines_py35.py @@ -87,7 +87,7 @@ def test_set_args(self): provider = providers.Coroutine(_example) \ .add_args(1, 2) \ .set_args(3, 4) - self.assertEqual(provider.args, tuple([3, 4])) + self.assertEqual(provider.args, (3, 4)) def test_set_kwargs(self): provider = providers.Coroutine(_example) \ diff --git a/tests/unit/providers/test_factories_py2_py3.py b/tests/unit/providers/test_factories_py2_py3.py index b6587859..edf7de07 100644 --- a/tests/unit/providers/test_factories_py2_py3.py +++ b/tests/unit/providers/test_factories_py2_py3.py @@ -228,7 +228,7 @@ def test_set_args(self): provider = providers.Factory(Example) \ .add_args(1, 2) \ .set_args(3, 4) - self.assertEqual(provider.args, tuple([3, 4])) + self.assertEqual(provider.args, (3, 4)) def test_set_kwargs(self): provider = providers.Factory(Example) \ diff --git a/tests/unit/providers/test_list_py2_py3.py b/tests/unit/providers/test_list_py2_py3.py index d11222cf..e303745b 100644 --- a/tests/unit/providers/test_list_py2_py3.py +++ b/tests/unit/providers/test_list_py2_py3.py @@ -42,7 +42,7 @@ def test_set_args(self): provider = providers.List() \ .add_args(1, 2) \ .set_args(3, 4) - self.assertEqual(provider.args, tuple([3, 4])) + self.assertEqual(provider.args, (3, 4)) def test_clear_args(self): provider = providers.List() \ diff --git a/tests/unit/providers/test_resource_py35.py b/tests/unit/providers/test_resource_py35.py index 4b818198..b0943968 100644 --- a/tests/unit/providers/test_resource_py35.py +++ b/tests/unit/providers/test_resource_py35.py @@ -203,7 +203,7 @@ def test_set_args(self): provider = providers.Resource(init_fn) \ .add_args(1, 2) \ .set_args(3, 4) - self.assertEqual(provider.args, tuple([3, 4])) + self.assertEqual(provider.args, (3, 4)) def test_clear_args(self): provider = providers.Resource(init_fn) \ diff --git a/tests/unit/providers/test_singletons_py2_py3.py b/tests/unit/providers/test_singletons_py2_py3.py index 6cc4c3c3..4e36f926 100644 --- a/tests/unit/providers/test_singletons_py2_py3.py +++ b/tests/unit/providers/test_singletons_py2_py3.py @@ -190,7 +190,7 @@ def test_set_args(self): provider = self.singleton_cls(Example) \ .add_args(1, 2) \ .set_args(3, 4) - self.assertEqual(provider.args, tuple([3, 4])) + self.assertEqual(provider.args, (3, 4)) def test_set_kwargs(self): provider = self.singleton_cls(Example) \ From 9ac8911b7857982f59b43718bebee0d63c8bd258 Mon Sep 17 00:00:00 2001 From: Shubhendra Singh Chauhan Date: Thu, 25 Feb 2021 20:10:51 +0530 Subject: [PATCH 4/4] revert "remove unused import" --- tests/unit/samples/wiringfastapi/web.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/unit/samples/wiringfastapi/web.py b/tests/unit/samples/wiringfastapi/web.py index 2e563d7d..2cbd4f50 100644 --- a/tests/unit/samples/wiringfastapi/web.py +++ b/tests/unit/samples/wiringfastapi/web.py @@ -1,6 +1,7 @@ import sys from fastapi import FastAPI, Depends +from fastapi import Request # See: https://github.com/ets-labs/python-dependency-injector/issues/398 from fastapi.security import HTTPBasic, HTTPBasicCredentials from dependency_injector import containers, providers from dependency_injector.wiring import inject, Provide