def __init__(self, id, op=GreaterThan, version="0.0.0"): self.id = id self.op = op self.version = Version.fromObject(version) self.resolution = None self.resolvedSite = None self.error = False
def testFromString(self): v = Version.fromObject("1.3.3sp1") self.assertEquals(v.major, 1) self.assertEquals(v.minor, '3') self.assertEquals(v.micro, '3sp1') self.assertEquals(Version.getNumericPiece(v.micro), '3') self.assertEquals(Version.getAnnotationPiece(v.micro), 'sp1') self.assertEquals(str(v), "1.3.3sp1")
def matchesVersion(self, version): if not self.op is InRange: v = Version.fromObject(version) if self.op is GreaterThanEqual: return v >= self.version elif self.op is GreaterThan: return v > self.version elif self.op is LessThanEqual: return v <= self.version elif self.op is LessThan: return v < self.version elif self.op is Equal: return v == self.version else: versionRange = [] if isinstance(version, list): versionRange = version else: r = re.compile("[,\\-\\:]") versionRange = re.split(r, version) if self.version > Version.fromObject(versionRange[0]) and self.version < Version.fromObject(versionRange[1]): return True return False
def __init__(self, id, version, type=Zip, repository=localRepository): self.id = id self.type = str(type) # lose the unicode self.version = Version.fromObject(version) self.repository = repository
def testComparisons(self): self.assertTrue(Version.fromObject('1.3.3') < Version.fromObject('1.3.3sp1')) self.assertTrue(Version.fromObject('1.4.0') > Version.fromObject('1.3.3sp1')) self.assertTrue(Version.fromObject('1.3.3p1') < Version.fromObject('1.4.0'))