Skip to content

Commit 4568d91

Browse files
committed
refactor(ProjectInfo): extract property default_version_provider
1 parent 7bc349d commit 4568d91

File tree

2 files changed

+24
-24
lines changed

2 files changed

+24
-24
lines changed

commitizen/commands/init.py

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,22 @@ def is_php_composer(self) -> bool:
7272
def is_pre_commit_installed(self) -> bool:
7373
return bool(shutil.which("pre-commit"))
7474

75+
@property
76+
def default_version_provider(self) -> str:
77+
if self.is_python:
78+
if self.is_python_poetry:
79+
return "poetry"
80+
if self.is_python_uv:
81+
return "uv"
82+
return "pep621"
83+
if self.is_rust_cargo:
84+
return "cargo"
85+
if self.is_npm_package:
86+
return "npm"
87+
if self.is_php_composer:
88+
return "composer"
89+
return "commitizen"
90+
7591

7692
class Init:
7793
_PRE_COMMIT_CONFIG_FILENAME = ".pre-commit-config.yaml"
@@ -226,26 +242,10 @@ def _ask_version_provider(self) -> str:
226242
"Choose the source of the version:",
227243
choices=choices,
228244
style=self.cz.style,
229-
default=self._version_provider_default_val,
245+
default=self.project_info.default_version_provider,
230246
).unsafe_ask()
231247
)
232248

233-
@property
234-
def _version_provider_default_val(self) -> str:
235-
if self.project_info.is_python:
236-
if self.project_info.is_python_poetry:
237-
return "poetry"
238-
if self.project_info.is_python_uv:
239-
return "uv"
240-
return "pep621"
241-
if self.project_info.is_rust_cargo:
242-
return "cargo"
243-
if self.project_info.is_npm_package:
244-
return "npm"
245-
if self.project_info.is_php_composer:
246-
return "composer"
247-
return "commitizen"
248-
249249
def _ask_version_scheme(self) -> str:
250250
"""Ask for setting: version_scheme"""
251251

tests/commands/test_init_command.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,7 @@ def test_default_for_python_poetry(self, config, mocker: MockFixture):
421421
"commitizen.commands.init.ProjectInfo", return_value=mock_project_info
422422
)
423423
init = commands.Init(config)
424-
assert init._version_provider_default_val == "poetry"
424+
assert init.project_info.default_version_provider == "poetry"
425425

426426
def test_default_for_python_uv(self, config, mocker: MockFixture):
427427
mock_project_info = mocker.Mock()
@@ -432,7 +432,7 @@ def test_default_for_python_uv(self, config, mocker: MockFixture):
432432
"commitizen.commands.init.ProjectInfo", return_value=mock_project_info
433433
)
434434
init = commands.Init(config)
435-
assert init._version_provider_default_val == "uv"
435+
assert init.project_info.default_version_provider == "uv"
436436

437437
def test_default_for_python_pep621(self, config, mocker: MockFixture):
438438
mock_project_info = mocker.Mock()
@@ -443,7 +443,7 @@ def test_default_for_python_pep621(self, config, mocker: MockFixture):
443443
"commitizen.commands.init.ProjectInfo", return_value=mock_project_info
444444
)
445445
init = commands.Init(config)
446-
assert init._version_provider_default_val == "pep621"
446+
assert init.project_info.default_version_provider == "pep621"
447447

448448
def test_default_for_rust_cargo(self, config, mocker: MockFixture):
449449
mock_project_info = mocker.Mock()
@@ -453,7 +453,7 @@ def test_default_for_rust_cargo(self, config, mocker: MockFixture):
453453
"commitizen.commands.init.ProjectInfo", return_value=mock_project_info
454454
)
455455
init = commands.Init(config)
456-
assert init._version_provider_default_val == "cargo"
456+
assert init.project_info.default_version_provider == "cargo"
457457

458458
def test_default_for_npm_package(self, config, mocker: MockFixture):
459459
mock_project_info = mocker.Mock()
@@ -464,7 +464,7 @@ def test_default_for_npm_package(self, config, mocker: MockFixture):
464464
"commitizen.commands.init.ProjectInfo", return_value=mock_project_info
465465
)
466466
init = commands.Init(config)
467-
assert init._version_provider_default_val == "npm"
467+
assert init.project_info.default_version_provider == "npm"
468468

469469
def test_default_for_php_composer(self, config, mocker: MockFixture):
470470
mock_project_info = mocker.Mock()
@@ -476,7 +476,7 @@ def test_default_for_php_composer(self, config, mocker: MockFixture):
476476
"commitizen.commands.init.ProjectInfo", return_value=mock_project_info
477477
)
478478
init = commands.Init(config)
479-
assert init._version_provider_default_val == "composer"
479+
assert init.project_info.default_version_provider == "composer"
480480

481481
def test_default_fallback_to_commitizen(self, config, mocker: MockFixture):
482482
mock_project_info = mocker.Mock()
@@ -488,4 +488,4 @@ def test_default_fallback_to_commitizen(self, config, mocker: MockFixture):
488488
"commitizen.commands.init.ProjectInfo", return_value=mock_project_info
489489
)
490490
init = commands.Init(config)
491-
assert init._version_provider_default_val == "commitizen"
491+
assert init.project_info.default_version_provider == "commitizen"

0 commit comments

Comments
 (0)