[3] | 1 | Version = '2.2.2' |
---|
| 2 | VersionTuple = (2, 2, 2,'final', 0) |
---|
| 3 | |
---|
| 4 | MinCompatibleVersion = '2.0rc6' |
---|
| 5 | MinCompatibleVersionTuple = (2,0,0,'candidate',6) |
---|
| 6 | |
---|
| 7 | #### |
---|
| 8 | def convertVersionStringToTuple(s): |
---|
| 9 | versionNum = [0,0,0] |
---|
| 10 | releaseType = 'final' |
---|
| 11 | releaseTypeSubNum = 0 |
---|
| 12 | if s.find('a')!=-1: |
---|
| 13 | num, releaseTypeSubNum = s.split('a') |
---|
| 14 | releaseType = 'alpha' |
---|
| 15 | elif s.find('b')!=-1: |
---|
| 16 | num, releaseTypeSubNum = s.split('b') |
---|
| 17 | releaseType = 'beta' |
---|
| 18 | elif s.find('rc')!=-1: |
---|
| 19 | num, releaseTypeSubNum = s.split('rc') |
---|
| 20 | releaseType = 'candidate' |
---|
| 21 | else: |
---|
| 22 | num = s |
---|
| 23 | num = num.split('.') |
---|
| 24 | for i in range(len(num)): |
---|
| 25 | versionNum[i] = int(num[i]) |
---|
| 26 | if len(versionNum)<3: |
---|
| 27 | versionNum += [0] |
---|
| 28 | releaseTypeSubNum = int(releaseTypeSubNum) |
---|
| 29 | |
---|
| 30 | return tuple(versionNum+[releaseType,releaseTypeSubNum]) |
---|
| 31 | |
---|
| 32 | |
---|
| 33 | if __name__ == '__main__': |
---|
| 34 | c = convertVersionStringToTuple |
---|
| 35 | print c('2.0a1') |
---|
| 36 | print c('2.0b1') |
---|
| 37 | print c('2.0rc1') |
---|
| 38 | print c('2.0') |
---|
| 39 | print c('2.0.2') |
---|
| 40 | |
---|
| 41 | |
---|
| 42 | assert c('0.9.19b1') < c('0.9.19') |
---|
| 43 | assert c('0.9b1') < c('0.9.19') |
---|
| 44 | |
---|
| 45 | assert c('2.0a2') > c('2.0a1') |
---|
| 46 | assert c('2.0b1') > c('2.0a2') |
---|
| 47 | assert c('2.0b2') > c('2.0b1') |
---|
| 48 | assert c('2.0b2') == c('2.0b2') |
---|
| 49 | |
---|
| 50 | assert c('2.0rc1') > c('2.0b1') |
---|
| 51 | assert c('2.0rc2') > c('2.0rc1') |
---|
| 52 | assert c('2.0rc2') > c('2.0b1') |
---|
| 53 | |
---|
| 54 | assert c('2.0') > c('2.0a1') |
---|
| 55 | assert c('2.0') > c('2.0b1') |
---|
| 56 | assert c('2.0') > c('2.0rc1') |
---|
| 57 | assert c('2.0.1') > c('2.0') |
---|
| 58 | assert c('2.0rc1') > c('2.0b1') |
---|