|
4 | 4 | # Usage: |
5 | 5 | # python merge_packages.py package_esp8266com_index.json version/new/package_esp8266com_index.json |
6 | 6 | # Written by Ivan Grokhotkov, 2015 |
| 7 | +# Updated by lucasssvaz to handle Chinese version sorting, 2025 |
7 | 8 | # |
8 | 9 |
|
9 | 10 | from __future__ import print_function |
@@ -36,20 +37,19 @@ def merge_objects(versions, obj): |
36 | 37 |
|
37 | 38 |
|
38 | 39 | # Normalize ESP release version string (x.x.x) by adding '-rc<MAXINT>' (x.x.x-rc9223372036854775807) |
39 | | -# to ensure having REL above any RC |
| 40 | +# to ensure having REL above any RC. CN version will be sorted after the official version if they happen |
| 41 | +# to be mixed (normally, CN and non-CN versions should not be mixed) |
40 | 42 | # Dummy approach, functional anyway for current ESP package versioning |
41 | 43 | # (unlike NormalizedVersion/LooseVersion/StrictVersion & similar crap) |
42 | 44 | def pkgVersionNormalized(versionString): |
43 | | - |
44 | | - verStr = str(versionString) |
| 45 | + verStr = str(versionString).replace("-cn", "") |
45 | 46 | verParts = re.split(r"\.|-rc|-alpha", verStr, flags=re.IGNORECASE) |
46 | 47 |
|
47 | 48 | if len(verParts) == 3: |
48 | | - if sys.version_info > (3, 0): # Python 3 |
49 | | - verStr = str(versionString) + "-rc" + str(sys.maxsize) |
50 | | - else: # Python 2 |
51 | | - verStr = str(versionString) + "-rc" + str(sys.maxint) |
52 | | - |
| 49 | + if "-cn" in str(versionString): |
| 50 | + verStr = verStr + "-rc" + str(sys.maxsize // 2) |
| 51 | + else: |
| 52 | + verStr = verStr + "-rc" + str(sys.maxsize) |
53 | 53 | elif len(verParts) != 4: |
54 | 54 | print("pkgVersionNormalized WARNING: unexpected version format: {0})".format(verStr), file=sys.stderr) |
55 | 55 |
|
|
0 commit comments