Source code for pyrcareworld.utils.version
[docs]
class Version():
def __init__(self, version_string: str):
self.raw_string = version_string
self.version = self.raw_string.split(".")
self.version = [int(i) for i in self.version]
while len(self.version) < 4:
self.version.append(0)
def __lt__(self, other):
for i in range(4):
if self.version[i] < other.version[i]:
return True
elif self.version[i] == other.version[i]:
continue
return False
def __gt__(self, other):
for i in range(4):
if self.version[i] > other.version[i]:
return True
elif self.version[i] == other.version[i]:
continue
return False
def __eq__(self, other):
for i in range(4):
if self.version[i] != other.version[i]:
return False
return True
def __str__(self):
return self.raw_string
def __repr__(self):
return self.raw_string
[docs]
def toString(self):
return self.raw_string
def __getitem__(self, index):
return self.version[index]
def __setitem__(self, index, value):
self.version[index] = value
[docs]
@staticmethod
def sorted(versions: list, reverse=False):
return sorted(versions, key=lambda v: v.version, reverse=reverse)