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