| 18 | | pass |
|---|
| | 20 | if ver_a == ver_b: |
|---|
| | 21 | return 0 |
|---|
| | 22 | |
|---|
| | 23 | (a_major, a_minor, a_release) = SplitVersionString(ver_a) |
|---|
| | 24 | (b_major, b_minor, b_release) = SplitVersionString(ver_b) |
|---|
| | 25 | |
|---|
| | 26 | if a_major > b_major: |
|---|
| | 27 | return 1 |
|---|
| | 28 | elif b_major > a_major: |
|---|
| | 29 | return -1 |
|---|
| | 30 | |
|---|
| | 31 | if a_minor != b_minor: |
|---|
| | 32 | re_largest_val = re.compile('(.*?)\.(.*)') |
|---|
| | 33 | str_a = a_minor |
|---|
| | 34 | str_b = b_minor |
|---|
| | 35 | while 1: |
|---|
| | 36 | if str_a.find(".") >= 0: |
|---|
| | 37 | m = re_largest_val.match(str_a) |
|---|
| | 38 | val_a = m.group(1) |
|---|
| | 39 | str_a = m.group(2) |
|---|
| | 40 | else: |
|---|
| | 41 | val_a = str_a |
|---|
| | 42 | |
|---|
| | 43 | if str_b.find(".") >= 0: |
|---|
| | 44 | m = re_largest_val.match(str_b) |
|---|
| | 45 | val_b = m.group(1) |
|---|
| | 46 | str_b = m.group(2) |
|---|
| | 47 | else: |
|---|
| | 48 | val_b = str_b |
|---|
| | 49 | |
|---|
| | 50 | if val_a > val_b: |
|---|
| | 51 | return 1 |
|---|
| | 52 | elif val_b > val_a: |
|---|
| | 53 | return -1 |
|---|
| | 54 | |
|---|
| | 55 | if str_a.find(".") < 0 and str_b.find("."): |
|---|
| | 56 | break |
|---|
| | 57 | |
|---|
| | 58 | if a_release > b_release: |
|---|
| | 59 | return 1 |
|---|
| | 60 | elif b_release > a_release: |
|---|
| | 61 | return -1 |
|---|
| | 62 | |
|---|
| | 63 | # We should have returned by now, if we haven't we'll return something unexpected |
|---|
| | 64 | return None |
|---|