aboutsummaryrefslogtreecommitdiffstats
path: root/lib/python/qmk/util.py
diff options
context:
space:
mode:
authorXelus222025-11-23 12:21:13 +0100
committerGitHub2025-11-23 12:21:13 +0100
commitfd65390496cb47b3164c507656798664b8c2fcd1 (patch)
treec54c8643c55b2ae79bbfa1f3a176d56a152e65ab /lib/python/qmk/util.py
parent28a11ff6f7a721820cc335287e44e2fefe22ac71 (diff)
[core] add BCD versions of QMK Version (#25804)
Co-authored-by: Joel Challis <git@zvecr.com>
Diffstat (limited to 'lib/python/qmk/util.py')
-rw-r--r--lib/python/qmk/util.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/python/qmk/util.py b/lib/python/qmk/util.py
index 8f99410e1d..6da684a577 100644
--- a/lib/python/qmk/util.py
+++ b/lib/python/qmk/util.py
@@ -3,9 +3,12 @@
import contextlib
import multiprocessing
import sys
+import re
from milc import cli
+TRIPLET_PATTERN = re.compile(r'^(\d+)\.(\d+)\.(\d+)')
+
maybe_exit_should_exit = True
maybe_exit_reraise = False
@@ -96,3 +99,10 @@ def parallel_map(*args, **kwargs):
# before the results are returned. Returning a list ensures results are
# materialised before any worker pool is shut down.
return list(map_fn(*args, **kwargs))
+
+
+def triplet_to_bcd(ver: str):
+ m = TRIPLET_PATTERN.match(ver)
+ if not m:
+ return '0x00000000'
+ return f'0x{int(m.group(1)):02d}{int(m.group(2)):02d}{int(m.group(3)):04d}'