summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2024-01-26 12:23:55 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2024-01-30 20:48:46 +0000
commit854262f698bd5ba819de833736249279b9153de6 (patch)
tree504b80fa8cf2fac8b9c35022f6c2947c648581ab
parent82e3d79437a37761adaa716927b0dee9ab8ec7fb (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 Pick-to: 6.7 Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
-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]