summaryrefslogtreecommitdiff
path: root/semantic_version/base.py
diff options
context:
space:
mode:
Diffstat (limited to 'semantic_version/base.py')
-rw-r--r--semantic_version/base.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/semantic_version/base.py b/semantic_version/base.py
index 8251efa..1caffa5 100644
--- a/semantic_version/base.py
+++ b/semantic_version/base.py
@@ -441,7 +441,7 @@ class Version:
base_cmp, # Major is still mandatory
make_optional(base_cmp),
make_optional(base_cmp),
- make_optional(prerelease_cmp),
+ prerelease_cmp,
make_optional(build_cmp),
]
else:
@@ -568,6 +568,8 @@ class SpecItem:
if self.kind == self.KIND_ANY:
return True
elif self.kind == self.KIND_LT:
+ if version.prerelease and self.spec.prerelease is None:
+ version = Version(major=version.major, minor=version.minor, patch=version.patch)
return version < self.spec
elif self.kind == self.KIND_LTE:
return version <= self.spec
@@ -578,6 +580,8 @@ class SpecItem:
elif self.kind == self.KIND_GT:
return version > self.spec
elif self.kind == self.KIND_NEQ:
+ if version.prerelease and version.truncate() == self.spec.truncate() and self.spec.prerelease is None:
+ return False
return version != self.spec
elif self.kind == self.KIND_CARET:
if self.spec.major != 0: