Skip to content

Commit 679de47

Browse files
committed
fix(CommitizenProvider): assert return value is not None
1 parent fb04e28 commit 679de47

File tree

2 files changed

+21
-16
lines changed

2 files changed

+21
-16
lines changed

commitizen/commands/version.py

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from commitizen import out
66
from commitizen.__version__ import __version__
77
from commitizen.config import BaseConfig
8+
from commitizen.exceptions import NoVersionSpecifiedError
89
from commitizen.providers import get_provider
910

1011

@@ -28,19 +29,20 @@ def __call__(self) -> None:
2829
out.write(f"Commitizen Version: {__version__}")
2930
out.write(f"Python Version: {self.python_version}")
3031
out.write(f"Operating System: {self.operating_system}")
31-
elif self.parameter.get("project"):
32-
version = get_provider(self.config).get_version()
33-
if version:
34-
out.write(f"{version}")
35-
else:
36-
out.error("No project information in this project.")
37-
elif self.parameter.get("verbose"):
38-
out.write(f"Installed Commitizen Version: {__version__}")
39-
version = get_provider(self.config).get_version()
40-
if version:
41-
out.write(f"Project Version: {version}")
42-
else:
32+
return
33+
34+
if (verbose := self.parameter.get("verbose")) or self.parameter.get("project"):
35+
if verbose:
36+
out.write(f"Installed Commitizen Version: {__version__}")
37+
38+
try:
39+
version = get_provider(self.config).get_version()
40+
except NoVersionSpecifiedError:
4341
out.error("No project information in this project.")
44-
else:
45-
# if no argument is given, show installed commitizen version
46-
out.write(f"{__version__}")
42+
return
43+
44+
out.write(("Project Version: " if verbose else "") + version)
45+
return
46+
47+
# if no argument is given, show installed commitizen version
48+
out.write(f"{__version__}")

commitizen/providers/commitizen_provider.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from __future__ import annotations
22

3+
from commitizen.exceptions import NoVersionSpecifiedError
34
from commitizen.providers.base_provider import VersionProvider
45

56

@@ -9,7 +10,9 @@ class CommitizenProvider(VersionProvider):
910
"""
1011

1112
def get_version(self) -> str:
12-
return self.config.settings["version"] # type: ignore[return-value] # TODO: check if we can fix this by tweaking the `Settings` type
13+
if ret := self.config.settings["version"]:
14+
return ret
15+
raise NoVersionSpecifiedError()
1316

1417
def set_version(self, version: str) -> None:
1518
self.config.set_key("version", version)

0 commit comments

Comments
 (0)