|
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