diff options
Diffstat (limited to 'openecomp-be/tools/build/scripts/parse-json.py')
-rw-r--r-- | openecomp-be/tools/build/scripts/parse-json.py | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/openecomp-be/tools/build/scripts/parse-json.py b/openecomp-be/tools/build/scripts/parse-json.py new file mode 100644 index 0000000000..46537ceac5 --- /dev/null +++ b/openecomp-be/tools/build/scripts/parse-json.py @@ -0,0 +1,83 @@ +#!/usr/bin/python + +############################################################################## +### +### parse-json.py +### +### A utility to parse a cassnadra-commands file and return the commands per type +### An Example for a json file: +### { +### "create":{ +### "choice_or_other":"CREATE TYPE IF NOT EXISTS choice_or_other (results text)", +### "vendor_license_model": "CREATE TABLE IF NOT EXISTS vendor_license_model (vlm_id text PRIMARY KEY, name text, description text, icon text)", +### "license_agreement": "CREATE TABLE IF NOT EXISTS license_agreement (vlm_id text, la_id text, name text, description text, type text, contract text, req_const text, fg_ids set<text>, PRIMARY KEY (vlm_id, la_id))", +### "feature_group": "CREATE TABLE IF NOT EXISTS feature_group (vlm_id text, fg_id text, name text, description text, ep_ids set<text>, lkg_ids set<text>, refd_by_las set<text>, PRIMARY KEY (vlm_id, fg_id))", +### "license_key_group": "CREATE TABLE IF NOT EXISTS license_key_group (vlm_id text,lkg_id text,name text,description text, type text, operational_scope text, ref_fgs set<text>,PRIMARY KEY (vlm_id, lkg_id))", +### } +### } +### +### The return for "create" will be: +### CREATE TYPE IF NOT EXISTS choice_or_other (results text) +### CREATE TABLE IF NOT EXISTS vendor_license_model (vlm_id text PRIMARY KEY, name text, description text, icon text) +### CREATE TABLE IF NOT EXISTS license_agreement (vlm_id text, la_id text, name text, description text, type text, contract text, req_const text, fg_ids set<text>, PRIMARY KEY (vlm_id, la_id)) +### CREATE TABLE IF NOT EXISTS feature_group (vlm_id text, fg_id text, name text, description text, ep_ids set<text>, lkg_ids set<text>, refd_by_las set<text>, PRIMARY KEY (vlm_id, fg_id)) +### CREATE TABLE IF NOT EXISTS license_key_group (vlm_id text,lkg_id text,name text,description text, type text, operational_scope text, ref_fgs set<text>,PRIMARY KEY (vlm_id, lkg_id)) +### Usage: +### +### parse-json.py -t create -f cassandra-commands.json +### +### For example: +### +### +### Author: Avi Ziv +### Version 1.0 +### Date: 3 May 2016 +### +############################################################################## + +import sys, getopt +import json as json +from collections import OrderedDict + + +def readJsonFile(file, type): + with open(file, 'r') as f: + data = json.load(f, object_pairs_hook=OrderedDict) + return data[type] + +def printJsonTypeEntries(jsonData): + for i in jsonData.keys(): + print jsonData[i] + ';' + + +def usage(): + print 'parseJsonFile.py [-f <json-file> & -t <cql-type: drop|create|insert|update|select]' + +def main(argv): + action = '' + + try: + opts, args = getopt.getopt(argv, "h:f:t:") + except getopt.GetoptError: + usage() + sys.exit(2) + for opt, arg in opts: + if opt == '-h': + usage() + sys.exit() + elif opt == '-f': + jsonFile = arg + action = 'file' + elif opt == '-t': + type = arg + + if action == 'file': + sJson = readJsonFile(jsonFile, type) + printJsonTypeEntries(sJson) + sys.exit() + else: + usage() + + +if __name__ == "__main__": + main(sys.argv[1:]) |