summaryrefslogtreecommitdiff
path: root/scripts/query-json
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@baturin.org>2016-03-03 17:50:40 -0500
committerDaniil Baturin <daniil@baturin.org>2016-03-03 17:50:40 -0500
commit2416feb6993885d6b0adabc67f3731d1fbc5349f (patch)
treedea270c7bf999479591974445463831ed70be425 /scripts/query-json
parent4b78ab4f94f74291f449a622625825c8f51a0ea7 (diff)
downloadvyos-build-2416feb6993885d6b0adabc67f3731d1fbc5349f.tar.gz
vyos-build-2416feb6993885d6b0adabc67f3731d1fbc5349f.zip
Rename query-config to query-json to reflect its new role.
Diffstat (limited to 'scripts/query-json')
-rwxr-xr-xscripts/query-json41
1 files changed, 41 insertions, 0 deletions
diff --git a/scripts/query-json b/scripts/query-json
new file mode 100755
index 00000000..23e64ef7
--- /dev/null
+++ b/scripts/query-json
@@ -0,0 +1,41 @@
+#!/usr/bin/python
+# Copyright (C) 2016 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/>.
+#
+# File: query-config
+# Purpose: Extracts field values a flat JSON file,
+# for use in languages that can't handle JSON easily,
+# (I'm looking at you, Bourne shell!)
+
+
+import sys
+import json
+
+import defaults
+import util
+
+if len(sys.argv) < 3:
+ print("Usage: {0} <flat JSON file> <config field name>".format(sys.argv[0]))
+ sys.exit(1)
+
+# Note: lack of error handling is deliberate, if some field is expected to be there
+# but isn't, it's better if the failure will be obvious and spectacular
+
+file = sys.argv[1]
+key = sys.argv[2]
+
+with open(file, 'r') as f:
+ json_data = json.load(f)
+
+print(json_data[key])