aboutsummaryrefslogtreecommitdiffstats
path: root/lib/python/qmk/util.py
diff options
context:
space:
mode:
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}'