add search for keys option

This commit is contained in:
2019-02-06 17:07:58 +01:00
parent 4d8c96cfae
commit e6f553d169

View File

@@ -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