1- #!/usr/bin/env/python
1+ #!/export/working/virtualenv/osdf/bin/python2
22
33import argparse
44import json
@@ -279,10 +279,15 @@ def oql(args):
279279 """
280280 query = args .query
281281 namespace = args .ns
282+ all_results = args .all
282283
283284 try :
284285 client = get_client ()
285- data = client .oql_query (namespace , query )
286+ if all_results :
287+ data = client .oql_query_all_pages (namespace , query )
288+ else :
289+ data = client .oql_query (namespace , query )
290+
286291 print (json .dumps (data , indent = 2 , sort_keys = True ))
287292 except Exception as e :
288293 msg = "Unable to execute OQL \" {}\" . Reason: {}\n "
@@ -296,10 +301,15 @@ def search(args):
296301 """
297302 query = args .query
298303 namespace = args .ns
304+ all_results = args .all
299305
300306 try :
301307 client = get_client ()
302- data = client .query (namespace , query )
308+ if all_results :
309+ data = client .query (namespace , query )
310+ else :
311+ data = client .query_all_pages (namespace , query )
312+
303313 print (json .dumps (data , indent = 2 , sort_keys = True ))
304314 except Exception as e :
305315 msg = "Unable to execute query \" {}\" . Reason: {}\n "
@@ -386,13 +396,15 @@ def main():
386396 parser_oql = subparsers .add_parser ('oql' , help = 'Perform an OQL query.' )
387397 parser_oql .add_argument ('ns' , type = str , help = 'The OSDF namespace to search.' )
388398 parser_oql .add_argument ('query' , type = str , help = 'The OQL query statement.' )
399+ parser_oql .add_argument ('-a' , '--all' , action = 'store_true' , help = 'Return all results (no pagination).' )
389400 parser_oql .set_defaults (func = oql )
390401
391402 # Create the parser for ES (ElasticSearch Query DSL) querying.
392403 parser_dsl = subparsers .add_parser ('search' ,
393404 help = 'Perform an ElasticSearch DSL query.' )
394405 parser_dsl .add_argument ('ns' , type = str , help = 'The OSDF namespace to search.' )
395406 parser_dsl .add_argument ('query' , type = str , help = 'The query statement.' )
407+ parser_dsl .add_argument ('-a' , '--all' , action = 'store_true' , help = 'Return all results (no pagination).' )
396408 parser_dsl .set_defaults (func = search )
397409
398410 # Create the parser for schema retrieval.
0 commit comments