diff --git a/asusrouter/modules/firmware.py b/asusrouter/modules/firmware.py index b8a32b8..a18c6aa 100644 --- a/asusrouter/modules/firmware.py +++ b/asusrouter/modules/firmware.py @@ -166,7 +166,8 @@ def from_string(self, fw_string: Optional[str] = None) -> None: if major and "." not in major and len(major) == 4 else major ) - beta = major[0] == "9" + # Only if major version exists and has 0 member + beta = major[0] == "9" if major and len(major) > 0 else False # Minor version minor = safe_int(re_match.group("minor")) # Build version diff --git a/pyproject.toml b/pyproject.toml index b347bd2..c370629 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "asusrouter" -version = "1.12.1" +version = "1.12.2" license = {text = "Apache-2.0"} requires-python = ">=3.11.0" readme = "README.md" diff --git a/tests/modules/test_firmware.py b/tests/modules/test_firmware.py index 627d3a0..b9d9ecb 100644 --- a/tests/modules/test_firmware.py +++ b/tests/modules/test_firmware.py @@ -159,6 +159,8 @@ def test_update_source(self, revision, expected_source): False, False, ), + # Additional cases + (".386.7_120", None, 386, 7, 120, False, False), # Invalid input ("", None, None, None, None, False, False), ("invalid", None, None, None, None, False, False),