summaryrefslogtreecommitdiff
path: root/scripts/generate-configd-include-json.py
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2024-06-26 22:34:47 +0200
committerGitHub <noreply@github.com>2024-06-26 22:34:47 +0200
commit8e633a944aa64f8507afc85e0b548cc0b1ed997a (patch)
tree687e982f5c4b2d5301f5112aecc4eb23227a47e3 /scripts/generate-configd-include-json.py
parent67ba5d6e37abe4d8cfd73ba91de15d3236a5c7f9 (diff)
parent33d4f8adb85fbf5e3b279ef59f1d2f113639e62f (diff)
downloadvyos-1x-8e633a944aa64f8507afc85e0b548cc0b1ed997a.tar.gz
vyos-1x-8e633a944aa64f8507afc85e0b548cc0b1ed997a.zip
Merge pull request #3727 from c-po/T6510-smoketesting
T6510: smoketest: generell improvement task for the smoketesting platform
Diffstat (limited to 'scripts/generate-configd-include-json.py')
-rwxr-xr-xscripts/generate-configd-include-json.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/scripts/generate-configd-include-json.py b/scripts/generate-configd-include-json.py
new file mode 100755
index 000000000..b4b627fce
--- /dev/null
+++ b/scripts/generate-configd-include-json.py
@@ -0,0 +1,34 @@
+#!/usr/bin/env python3
+# Copyright (C) 2024 VyOS maintainers and contributors
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 or later as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+import os
+from jinja2 import Template
+
+conf_scripts = 'src/conf_mode'
+configd_include = 'data/configd-include.json'
+
+configd_template = Template("""[
+{% for file in files %}
+"{{ file }}"{{ "," if not loop.last else "" }}
+{% endfor %}
+]
+""", trim_blocks=True)
+
+files = [f for f in os.listdir(conf_scripts) if os.path.isfile(f'{conf_scripts}/{f}')]
+files = sorted(files)
+
+tmp = {'files' : files}
+with open(configd_include, 'w') as f:
+ f.write(configd_template.render(tmp))