1"""Special handler for dev."""
2from typing import TYPE_CHECKING, Optional
3
4from .sections import compare_base_sections
5
6if TYPE_CHECKING:
7    from awesomeversion import AwesomeVersion
8
9
10def compare_handler_devrc(
11    version_a: "AwesomeVersion",
12    version_b: "AwesomeVersion",
13) -> Optional[bool]:
14    """Compare handler devrc."""
15    a_last = version_a.string.split(".")[-1]
16    b_last = version_b.string.split(".")[-1]
17    if (not a_last.startswith("dev") and b_last.startswith("dev")) or (
18        not a_last.startswith("rc") and b_last.startswith("rc")
19    ):
20        version_b._version = (  # pylint: disable=protected-access
21            version_b.string.replace(f".{b_last}", "")
22        )
23        if version_a.string == version_b.string:
24            return True
25        if compare_base_sections(version_a, version_b) is None:
26            return True
27    return None
28