| 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') |
|---|