@@ -162,6 +162,10 @@ def compare_user_version_with_target_version(self, target_version, user_version)
162
162
None:
163
163
- if the user version value format is not a valid semantic version.
164
164
"""
165
+ is_pre_release_in_target_version = self .is_pre_release_version (target_version )
166
+ is_pre_release_in_user_version = self .is_pre_release_version (user_version )
167
+ is_build_in_target_version = self .is_build_version (target_version )
168
+ is_build_in_user_version = self .is_build_version (user_version )
165
169
166
170
target_version_parts = self .split_version (target_version )
167
171
if target_version_parts is None :
@@ -175,14 +179,14 @@ def compare_user_version_with_target_version(self, target_version, user_version)
175
179
176
180
for (idx , _ ) in enumerate (target_version_parts ):
177
181
if user_version_parts_len <= idx :
178
- return 1 if self . is_pre_release_version ( target_version ) or self . is_build_version ( target_version ) else - 1
182
+ return 1 if is_pre_release_in_target_version or is_build_in_target_version else - 1
179
183
elif not user_version_parts [idx ].isdigit ():
180
184
if user_version_parts [idx ] < target_version_parts [idx ]:
181
- return 1 if self . is_pre_release_version ( target_version ) and not \
182
- self . is_pre_release_version ( user_version ) else - 1
185
+ return 1 if is_pre_release_in_target_version and not \
186
+ is_pre_release_in_user_version else - 1
183
187
elif user_version_parts [idx ] > target_version_parts [idx ]:
184
- return - 1 if not self . is_pre_release_version ( target_version ) and \
185
- self . is_pre_release_version ( user_version ) else 1
188
+ return - 1 if not is_pre_release_in_target_version and \
189
+ is_pre_release_in_user_version else 1
186
190
else :
187
191
user_version_part = int (user_version_parts [idx ])
188
192
target_version_part = int (target_version_parts [idx ])
@@ -192,8 +196,8 @@ def compare_user_version_with_target_version(self, target_version, user_version)
192
196
return - 1
193
197
194
198
# check if user version contains build or pre-release and target version doesn't
195
- if (self . is_pre_release_version ( user_version ) and not self . is_pre_release_version ( target_version ) ) or \
196
- (self . is_build_version ( user_version ) and not self . is_build_version ( target_version ) ):
199
+ if (is_pre_release_in_user_version and not is_pre_release_in_target_version ) or \
200
+ (is_build_in_user_version and not is_build_in_target_version ):
197
201
return - 1
198
202
return 0
199
203
0 commit comments