8345 return True |
8345 return True |
8346 else: |
8346 else: |
8347 vers = VersionOnly.split("snapshot-")[1] |
8347 vers = VersionOnly.split("snapshot-")[1] |
8348 return vers > snapshot |
8348 return vers > snapshot |
8349 |
8349 |
8350 versionTuple = self.__versionToTuple(VersionOnly) |
8350 versionTuple = Globals.versionToTuple(VersionOnly) |
8351 if isinstance(required, str): |
8351 if isinstance(required, str): |
8352 required = self.__versionToTuple(required) |
8352 required = Globals.versionToTuple(required) |
8353 try: |
8353 try: |
8354 res = versionTuple > required |
8354 res = versionTuple > required |
8355 except TypeError: |
8355 except TypeError: |
8356 # some mismatching types, assume newer |
8356 # some mismatching types, assume newer |
8357 res = True |
8357 res = True |
8358 return res |
8358 return res |
8359 |
|
8360 def __versionToTuple(self, version): |
|
8361 """ |
|
8362 Private method to convert a version string into a tuple. |
|
8363 |
|
8364 @param version version string |
|
8365 @type str |
|
8366 @return version tuple |
|
8367 @rtype tuple of int |
|
8368 """ |
|
8369 versionParts = [] |
|
8370 for part in version.split("."): |
|
8371 part = part.strip() |
|
8372 if part: |
|
8373 try: |
|
8374 part = int(part) |
|
8375 except ValueError: |
|
8376 # not an integer, ignore |
|
8377 continue |
|
8378 versionParts.append(part) |
|
8379 return tuple(versionParts) |
|
8380 |
8359 |
8381 ################################# |
8360 ################################# |
8382 ## Below are some utility methods |
8361 ## Below are some utility methods |
8383 ################################# |
8362 ################################# |
8384 |
8363 |