add search for keys option
This commit is contained in:
26
materials.py
26
materials.py
@@ -124,18 +124,20 @@ def main():
|
||||
description='List materials.',
|
||||
help='list all available materials')
|
||||
|
||||
# material
|
||||
parser_material = subparsers.add_parser('get',
|
||||
# get material
|
||||
parser_get = subparsers.add_parser('get',
|
||||
description='Get material information.',
|
||||
help='get material information')
|
||||
parser_material.add_argument('materialname', action='store',
|
||||
parser_get.add_argument('materialname', action='store',
|
||||
help='list available material information')
|
||||
parser_material.add_argument('-r', '--rho', dest='const_collection',
|
||||
parser_get.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',
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user