summaryrefslogtreecommitdiffstats
path: root/tools/scripts/git_submodule.py
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2024-01-26 12:23:55 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2024-01-31 01:53:25 +0000
commitaba0e8c26be53138de58647706fe203e1dc610e1 (patch)
treee5a8abe9ebefd3163ca5ae28e33e0a01de3cc24d /tools/scripts/git_submodule.py
parent721b8e503140b289a27714a8db9163c37dab8f1d (diff)
Fix DEPS keys with '.'
The Python syntax treats dot as a hierarchical lookup, but we need it as a flat key lookup. Forgotten part missed from 118 adaptation. Change-Id: I9c5bd009081da31ba85cbf6c9122f77aa1b81651 Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io> (cherry picked from commit 854262f698bd5ba819de833736249279b9153de6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'tools/scripts/git_submodule.py')
-rw-r--r--tools/scripts/git_submodule.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/tools/scripts/git_submodule.py b/tools/scripts/git_submodule.py
index 89af8aa41..3d301d16b 100644
--- a/tools/scripts/git_submodule.py
+++ b/tools/scripts/git_submodule.py
@@ -4,6 +4,7 @@
import glob
import os
import re
+import string
import subprocess
import sys
import version_resolver as resolver
@@ -18,6 +19,11 @@ def subprocessCheckOutput(args):
print(args)
return subprocess.check_output(args).decode()
+# Special string formatter that support flat key names with '.' in them
+class DepsFormatter(string.Formatter):
+ def get_field(self, field_name, args, kwargs):
+ return (self.get_value(field_name, args, kwargs), field_name)
+
class SubmoduleDEPSParser(resolver.DEPSParser):
def __init__(self):
super().__init__()
@@ -45,7 +51,7 @@ class SubmoduleDEPSParser(resolver.DEPSParser):
(not dep in module_whitelist):
continue
if url:
- url = url.format(**self.get_vars())
+ url = DepsFormatter().vformat(url, [], self.get_vars())
repo_rev = url.split('@')
repo = repo_rev[0]
rev = repo_rev[1]