From e6f553d169406b37bbe06dbb2212a00d108fa257 Mon Sep 17 00:00:00 2001 From: Daniel Weschke Date: Wed, 6 Feb 2019 17:07:58 +0100 Subject: [PATCH] add search for keys option --- materials.py | 40 +++++++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/materials.py b/materials.py index 200df80..6b4b9ae 100755 --- a/materials.py +++ b/materials.py @@ -124,18 +124,20 @@ def main(): description='List materials.', help='list all available materials') - # material - parser_material = subparsers.add_parser('get', - description='Get material information.', - help='get material information') - parser_material.add_argument('materialname', action='store', - help='list available material information') - parser_material.add_argument('-r', '--rho', dest='const_collection', - action='append_const', const="rho", - help='get density from material') - parser_material.add_argument('-T', '--Tm', dest='const_collection', - action='append_const', const="T_m", - help='get melting point temperature') + # get material + parser_get = subparsers.add_parser('get', + description='Get material information.', + help='get material information') + parser_get.add_argument('materialname', action='store', + help='list available material information') + parser_get.add_argument('-r', '--rho', dest='const_collection', + action='append_const', const="rho", + help='get density from material') + parser_get.add_argument('-T', '--Tm', dest='const_collection', + action='append_const', const="T_m", + help='get melting point temperature') + parser_get.add_argument('--search', action='store', + help='search for material information, comma delimited keys') args = parser.parse_args() @@ -148,13 +150,21 @@ def main(): elif args.command == 'get': filename = path.join('data', args.materialname + '.json') + data = read_file(filename) if args.debug: print("filename: " + filename) if args.const_collection: - data = read_file(filename) - search_keys(data, keys=args.const_collection) + if "rho" in args.const_collection: + args.const_collection.append("rho(T)") + if args.debug: + print(args) + #search_keys(data, keys=args.const_collection) + elif args.search: + search_list = [element for element in args.search.split(',')] + if args.debug: + print("search_list: " + str(search_list)) + search_keys(data, keys=search_list) else: - data = read_file(filename) print_data(data) return 0