Skip to content

Commit 2a11ca0

Browse files
resolves the conversations
1 parent f48801b commit 2a11ca0

File tree

2 files changed

+31
-31
lines changed

2 files changed

+31
-31
lines changed

exasol/toolbox/nox/_dependencies_check.py

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -14,33 +14,32 @@
1414
@nox.session(name="dependencies-check", python=False)
1515
def dependency_check(session: Session) -> None:
1616
content = Path(PROJECT_CONFIG.root, "pyproject.toml").read_text()
17-
dependencies = DependenciesCheck(content).parse()
17+
dependencies = Dependencies(content).parse()
1818
console = rich.console.Console()
19-
if dependencies.illegal():
20-
dependencies.report_illegal(console)
19+
illegal = dependencies.illegal()
20+
report_illegal(illegal, console)
21+
if illegal:
2122
sys.exit(1)
22-
dependencies.report_illegal(console)
23-
sys.exit(0)
2423

2524

26-
class DependenciesCheck:
25+
class Dependencies:
2726
ILLEGAL_DEPENDENCIES = ['url', 'git', 'path']
2827

2928
def __init__(self, pyproject_toml: str):
3029
self.illegal_dict: Dict[str, List[str]] = {}
3130
self.content = pyproject_toml
3231

33-
def parse(self) -> "DependenciesCheck":
34-
def source_filter(version, filters) -> bool:
35-
for f in filters:
32+
def parse(self) -> "Dependencies":
33+
def source_filter(version) -> bool:
34+
for f in self.ILLEGAL_DEPENDENCIES:
3635
if f in version:
3736
return True
3837
return False
3938

40-
def extract_dependencies(section, filters) -> List[str]:
39+
def extract_dependencies(section) -> List[str]:
4140
dependencies = []
4241
for name, version in section.items():
43-
if source_filter(version, filters):
42+
if source_filter(version):
4443
dependencies.append(f"{name} = {version}")
4544
return dependencies
4645

@@ -49,36 +48,37 @@ def extract_dependencies(section, filters) -> List[str]:
4948
poetry = toml.get("tool", {}).get("poetry", {})
5049

5150
part = poetry.get("dependencies", {})
52-
dependencies_list = extract_dependencies(part, self.ILLEGAL_DEPENDENCIES)
51+
dependencies_list = extract_dependencies(part)
5352
if dependencies_list:
5453
illegal["tool.poetry.dependencies"] = dependencies_list
5554

5655
part = poetry.get("dev", {}).get("dependencies", {})
57-
dependencies_list = extract_dependencies(part, self.ILLEGAL_DEPENDENCIES)
56+
dependencies_list = extract_dependencies(part)
5857
if dependencies_list:
5958
illegal["tool.poetry.dev.dependencies"] = dependencies_list
6059

6160
part = poetry.get("group", {})
6261
for group, content in part.items():
63-
dependencies_list = extract_dependencies(content.get("dependencies", {}), self.ILLEGAL_DEPENDENCIES)
62+
dependencies_list = extract_dependencies(content.get("dependencies", {}))
6463
if dependencies_list:
6564
illegal[f"tool.poetry.group.{group}.dependencies"] = dependencies_list
6665

6766
self.illegal_dict = illegal
6867
return self
6968

70-
def report_illegal(self, console: rich.console.Console):
71-
if self.illegal_dict:
72-
count = sum(len(deps) for deps in self.illegal_dict.values())
73-
suffix = "y" if count == 1 else "ies"
74-
console.print(f"{count} illegal dependenc{suffix}\n", style="red")
75-
for section, dependencies in self.illegal_dict.items():
76-
console.print(f"\\[{section}]", style="red")
77-
for dependency in dependencies:
78-
console.print(dependency, style="red")
79-
console.print("")
80-
else:
81-
console.print("Success: All dependencies refer to explicit pipy releases.", style="green")
82-
8369
def illegal(self) -> Dict[str, List[str]]:
8470
return self.illegal_dict
71+
72+
73+
def report_illegal(illegal: Dict[str, List[str]], console: rich.console.Console):
74+
if illegal:
75+
count = sum(len(deps) for deps in illegal.values())
76+
suffix = "y" if count == 1 else "ies"
77+
console.print(f"{count} illegal dependenc{suffix}\n", style="red")
78+
for section, dependencies in illegal.items():
79+
console.print(f"\\[{section}]", style="red")
80+
for dependency in dependencies:
81+
console.print(dependency, style="red")
82+
console.print("")
83+
else:
84+
console.print("Success: All dependencies refer to explicit pipy releases.", style="green")

test/unit/dependencies_check_test.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import pytest
22
import rich.console
33

4-
from exasol.toolbox.nox._dependencies_check import DependenciesCheck
4+
from exasol.toolbox.nox._dependencies_check import Dependencies, report_illegal
55

66

77
@pytest.mark.parametrize(
@@ -95,7 +95,7 @@
9595
]
9696
)
9797
def test_dependency_check_parse(toml, expected):
98-
dependencies = DependenciesCheck(toml).parse()
98+
dependencies = Dependencies(toml).parse()
9999
assert dependencies.illegal() == expected
100100

101101

@@ -159,6 +159,6 @@ def test_dependency_check_parse(toml, expected):
159159
)
160160
def test_dependencies_check_report(toml, expected, capsys):
161161
console = rich.console.Console()
162-
dependencies = DependenciesCheck(toml).parse()
163-
dependencies.report_illegal(console)
162+
dependencies = Dependencies(toml).parse()
163+
report_illegal(dependencies.illegal(), console)
164164
assert capsys.readouterr().out == expected

0 commit comments

Comments
 (0)