Move the debian package_tool into our \tools directory.
The package_tool isn't really part of our product, so moving it to the tools directory.
This commit is contained in:
parent
0b27dba299
commit
7b09f3fcac
28 changed files with 2 additions and 1 deletions
64
tools/DebianPackageTool/scripts/extract_json_value.py
Executable file
64
tools/DebianPackageTool/scripts/extract_json_value.py
Executable file
|
@ -0,0 +1,64 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
#
|
||||
|
||||
# Extract Json Value
|
||||
#
|
||||
# Very simple tool to ease extracting json values from the cmd line.
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
|
||||
def print_usage():
|
||||
print """
|
||||
Usage: extract_json_value.py [json file path] [key of value to extract]
|
||||
For nested keys, use . separator
|
||||
"""
|
||||
|
||||
def help_and_exit(msg=None):
|
||||
print msg
|
||||
print_usage()
|
||||
sys.exit(1)
|
||||
|
||||
def parse_and_validate_args():
|
||||
|
||||
if len(sys.argv) < 3:
|
||||
help_and_exit(msg="Error: Invalid Args")
|
||||
|
||||
json_path = sys.argv[1]
|
||||
json_key = sys.argv[2]
|
||||
|
||||
if not os.path.isfile(json_path):
|
||||
help_and_exit("Error: Invalid json file path")
|
||||
|
||||
return json_path, json_key
|
||||
|
||||
def extract_key(json_path, json_key):
|
||||
json_data = None
|
||||
|
||||
with open(json_path, 'r') as json_file:
|
||||
json_data = json.load(json_file)
|
||||
|
||||
nested_keys = json_key.split('.')
|
||||
json_context = json_data
|
||||
|
||||
for key in nested_keys:
|
||||
json_context = json_context.get(key, None)
|
||||
|
||||
if json_context is None:
|
||||
help_and_exit("Error: Invalid json key")
|
||||
|
||||
return str(json_context)
|
||||
|
||||
def execute():
|
||||
json_path, json_key = parse_and_validate_args()
|
||||
|
||||
value = extract_key(json_path, json_key)
|
||||
|
||||
return value
|
||||
|
||||
if __name__ == "__main__":
|
||||
print execute()
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue