Skip to content

Commit 74e0e4f

Browse files
committed
Added ability to get all results with --all option for both oql and search subcommands.
1 parent 28c6fdb commit 74e0e4f

1 file changed

Lines changed: 15 additions & 3 deletions

File tree

bin/osdf

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#!/usr/bin/env/python
1+
#!/export/working/virtualenv/osdf/bin/python2
22

33
import argparse
44
import 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

Comments
 (0)